The availability of cheap WiFi boards like the ESP8266 and others means you can inexpensively put projects on the network. But there is still the problem of how to connect these devices to other places reliably. An Open Source project that attempts to make that whole effort point and click is Mongoose OS. The open source system works with the ESP8266, ESP32, and several other platforms. It is well integrated with Amazon’s IoT backend, but it isn’t locked to it.
Everyone wants to be your IoT broker and we see products appear (and disappear) regularly aimed at capturing that market. One common way to send and receive messages from a tiny device to a remote server is MQTT, an ISO standard made with resource-limited devices in mind. Many IoT services speak this protocol, including Amazon’s IoT offering. You can see how quick it is to flash an ESP8266 to make an Amazon IoT button in the video below. Although the video example uses Amazon, you can configure the system to talk to any public or private MQTT broker.
Calling Mongoose an OS might be a bit of a stretch. It is really closer to what we think of as “middleware” but it does provide many networking and filesystem services. It also simplifies remote deployment with a lot of support for doing safe over the air updates to devices. It looks like they’ve done a lot of work to help secure devices, too.
MQTT is pretty simple, so you don’t actually need any support to use it. However, Mongoose brings a lot of other things to the table such as security and updates, plus portability. If you want to compare and contrast, the MQTT wireless doorbell project is pretty similar. And remember, if you want to merge the two, that Mongoose OS could just have easily sent the message to your local Raspberry Pi as off to Amazon’s servers.