Components of ESP RainMaker

Note: At present ESP RainMaker supports ESP SOC series that includes all ESP32 based series except ESP32-P4.
Cloud Backend
The ESP RainMaker cloud backend is provided in the form of AWS "Serverless Application Model" (SAM) with policies, service orchestration, and functional implementation. Devices communicate with the backend using the MQTT over TLS protocol, adhering to publicly defined payload formats. Phone applications, voice assistant skills, device management dashboards, and third-party integrations utilize REST APIs and push notifications for interaction. These APIs are publicly documented.
The ESP RainMaker backend is designed to be data model agnostic and offers a custom plugin interface for processing all incoming events and data. While the ESP RainMaker backend is implemented in the Go programming language, customizations can be made using any AWS-supported language. The backend can be customized in the following ways:
- Extensible AWS Services
- Customers have the freedom to extend AWS services within the same account to develop their own applications. ESP RainMaker will not interfere with or appropriates any of these services for its own use.
- OAUTH2 Interface
- ESP RainMaker provides an OAUTH2 interface for external services, enabling custom authenticators to be utilized via the OAUTH2 interface offered by those services.
- Data and Event Accessibility
- ESP RainMaker facilitates easy access to its data and events for further processing:
- The ESP RainMaker web API is openly accessible for third-party integrations, fostering a collaborative ecosystem.
- The webhook interface empowers users to extract events and data, offering the flexibility to implement additional processing either within the same AWS account or in a different one.
- ESP RainMaker facilitates easy access to its data and events for further processing:
Open API Application Layer
ESP RainMaker also provides an open API application layer, enabling customization and catering to the diverse requirements of different environments.
Open-source Firmware SDK
ESP RainMaker goes beyond providing the cloud services. It offers an open-source firmware SDK, which can be accessed on GitHub. It can be used to build standard products like lights, switches, fans, etc. as well as custom IoT products using the flexible data model and APIs.
- If you are a firmare developer and would like to tryout ESP RainMaker, get started with an introductory example in Evaluation Hub.
- If you are already developing with ESP RainMaker and would like to understand/learn the firmware development aspects and tips, click here
Reference Phone App SDK
ESP RainMaker provides a reference app called the ESP RainMaker app.
The ESP RainMaker app is an open source native apps built for Android and iOS. This app offer a self adapting UI, which means that any functionality added in the RainMaker firmware can be used via these apps without any changes. This makes product development much easier and faster. Since these are open source, they can be configured and customized based on your product requirement. Developers can find the following links pertaining to Android and iOS below:
Note that for the reference ESP RainMaker phone app, there are two versions. Mainly the 'Global' version and 'China' version. However, the respective SDK for both Android and iOS are the same regardless of region.
- Global Region
- China Region
Global Region App Download Links
Platform | Links |
---|---|
Android | - Google PlayStore - Direct APK Download |
iOS | - Apple App Store |
China Region App Download Links
China Region | Links |
---|---|
Android | - 华为应用商店 (Huawei AppGallery) - 小米应用商店 (Mi App Store) - OPPO应用商店 (OPPO App Market) - Vivo应用商店 (Vivo App Store) - 荣耀应用商店(Honor App Market) - Direct APK Download |
iOS | The ESP RainMaker iOS app supports the China region. To connect to the China deployment, simply set your iOS region to "Mainland China" in the iOS app store. |
Android | iOS |
---|---|
Source Code | Source Code |
Device Management Dashboard
ESP RainMaker offers a ready-made dashboard that allows customers to manage their device fleets efficiently. The device management dashboard offers essential functionalities, including business insights, device diagnostics, device management, and Over-The-Air (OTA) updates. It is crafted using a combination of HTML, CSS, and JavaScript (JS), providing a solid foundation. Moreover, it is highly adaptable, allowing for further customization to address specific business needs—all without the need to build a custom dashboard from scratch.
There are two instance of Dashboard. One is used in the public instance of RainMaker which is used for testing and evaluation, and the other is in the private instance of RainMaker which is provided to the client after it is being deployed privately. This is reserved for commerical clients.
- To learn more about the usage of dashboard, click here
- To get started with dashboard with public RainMaker, please click here
CLI Tool
There are two types of CLI tool in ESP RainMaker.
-
ESP RainMaker CLI (For public RainMaker)
- It is a command-line tool that enables developers to interact with and manage devices that are conencted to RainMaker platform. This is relevant for clients who are using RainMaker publicly.
-
Admin CLI (For private RainMaker)
- It is a tool offered by Espressif Rainmaker for admin users to be able to perform mass manufacturing of nodes of ESP32 based products. This tool will enable you to perform node id generation and certificate registration operations required for the manufacturing process. This is relevant for clients who have deployed RainMaker privately.
Click here to learn about the difference between these two CLI tools.
Voice Assistant Skills
ESP RainMaker also offers integrations with Amazon Alexa and Google Voice Services, with support for certain standard devices. To learn more on how voice assistant can be integrated with ESP RainMaker, please click here.