Project update 5 of 9
I am still hoping for some more feedback via this survey. The survey has been fruitful so far. Lots of requests for Linux support. On that note, I am happy to announce that the sl
command line tool as well as the GCC toolchain for Stratify OS are running smoothly on Linux.
Here is a breakdown of how the Toolbox accesses the Internet. Let’s start with the hardware.
The Toolbox connects to the Internet using the ATWILC1000 Wi-Fi radio module, which handles the Wi-Fi phy layer and OTA radio encryption. That module is connected to the Toolbox’s STM32H750 480 MHz MCU via SPI with a 40 MHz bitrate.
There are two networking software stacks running on the STM32H750: one to manage the Wi-Fi hardware and one for the TCP/IP (including TLS) stack. They both run in the Stratify OS kernel as independent threads and communicate using a FIFO.
Applications can use the Wi-Fi API to scan for networks and connect to them. They can also use standard socket programming techniques for local network and Internet connectivity:
socket()
send()
recv()
close()
There is a C++ socket API wrapper that allows you to do anything on a mbedtls-secured socket that you could do on a standard socket.
If you want to dig deeper into how all this works, you can checkout some of the source code:
Getting IoT devices connected can be a pain. One of the main reasons the Toolbox includes a touchscreen display is to allow users to manage their Wi-Fi connections. The soft keyboard allows you to type in SSIDs and WPA keys, which should feel natural to anyone who’s connected a smartphone to a Wi-Fi network.
The Stratify Labs web application allows you to publish Toolbox applications that you want to share with others. It has some other awesome features as well. The beta version is up now if you want to check it out.