ESP RainMaker is an end-to-end platform that enables Makers to realize their IoT ideas faster with Espressif’s ESP32-S2 SoC without hassle of managing any infrastructure. It provides a device SDK, self-adapting phone apps, transparent cloud service and host utilities to reduce complexity in development.
The Device SDK allows users to define the device information and attributes. These attributes are synchronized with multiple endpoints, such as phone apps. It also facilitates common use-cases like network provisioning, secure user-device association and cloud communication with easy APIs and example applications. This SDK is based on the ESP-IDF SDK that is used in millions of devices in production.
The iOS and Android phone apps provide Wi-Fi network configuration, user-creation, user-device association and device control use-cases without requiring any change in the app. The phone apps are self adapting, which means that they can render the UI for device control as per the configuration programmed in the device. The phone apps are open source and it’s always possible to modify them as per your needs.
With ESP RainMaker’s transparent cloud service, the users need not worry about setting up cloud service and managing the infrastructure if they don’t want to. It acts as a transparent conduit of data flow between the devices and other control endpoints. The cloud service provides RESTful APIs for external authenticated endpoints to communicate with devices.
This is an optional component that provides Python binding to remote device attributes to make it easy to write scripts for managing device data. Host utilities also include a command-line tool to securely provision the ESP32-S2 based device for cloud connection and carry out workflows without requiring the use of phone apps.
ESP RainMaker enables quick prototyping without compromising on quality. This significantly reduces the gap from prototyping to production.
While the platform provides completeness, it remains highly flexible. The device behavior, data format and data ingestion can be easily customised. With python-binding the device parameters remotely, you can easily realize customized data control and management.
The network configuration, cloud communication, remote control and data access uses standard security methods. The connected devices use X.509 certificates for mutual authentication with the cloud service.