Embedded Learning Kit and IDE Focusing on Secure IoT, PKI, and Certificate Management
March 03, 2022
If you are new to IoT, or if you are new to setting up secure IoT devices requiring X.509 certificate and PKI management, then the SharkSSL IDE for ESP32 is a great starting point. All you need is a low cost ESP32 and a USB cable.
After installing the free IDE, you can have your first FreeRTOS powered secure IoT device up and running in less than 20 minutes. The SharkSSL IDE is an education tool designed for rapid prototyping of secure IoT devices.
The SharkSSL IDE includes many IoT C code examples but can also be used by developers with no C code experience when using the included Barracuda App Server example. It includes an additional IDE that runs directly on the ESP32. With this IDE, developers can write IoT examples using the high-level Lua language. In short, you use the SharkSSL C code IDE to compile and upload a Lua IDE to the ESP32.
Embedded programming can be difficult to get started with since one typically requires a deep understanding of hardware and device driver design. The ESP32 is a great starting point since all device drivers are ready to use and the ESP32 supports a wide range of GPIO and other inputs/outputs.
Since all device drivers for the ESP32 come ready to use, an embedded developer needs only to focus on the higher levels. The higher levels can easily be developed on your host computer such as on Windows using Visual Studio or on Linux using gcc.
All IoT examples that come with SharkSSL can easily be compiled for your host operating system using your favorite host IDE. This development pattern not only makes your development easier, but also much faster. When you are done with testing and debugging the high-level code, simply integrate the code into one of the examples in the SharkSSL IDE, compile the code, and upload it to the ESP32.
Some platforms, such as AWS IoT Core, require mutual X.509 authentication, where the cloud server authenticates the device, and the device authenticates the cloud server. The SharkSSL IDE greatly simplifies learning and configuring PKI with its drag and drop configuration option, which automatically modifies the example C code with your AWS certificates.
After the drag and drop configuration, a simple button click compiles the C code example and uploads the AWS IoT Core MQTT firmware to the ESP32, which then immediately establishes a mutually trusted and secure connection with your AWS IoT Core instance.
The SharkSSL IDE includes the source code for the following products, protocols, and examples:
- SharkSSL TLS Stack with many IoT examples such as MQTT Client, WebSocket Client, WebSocket Server, and an example that shows how to enable trusted Let's Encrypt signed certificates for an Embedded Web Server.
- The Barracuda App Server and the Embedded Lua IDE.
The standard ESP32 command line development environment takes time to set up, however, the SharkSSL IDE greatly simplifies this process. The SharkSSL ESP32 IDE provides a GUI front end to the command line environment and packages everything into one unit that is easy to install.