## ESP RainMaker Android App
This is the official Android app for [ESP RainMaker](https://github.com/espressif/esp-rainmaker), an end-to-end solution offered by Espressif to enable remote control and monitoring for ESP32-S2 and ESP32 based products without any configuration required in the Cloud.
For more details :
- Please check the ESP RainMaker documentation [here](http://rainmaker.espressif.com/docs/get-started.html) to get started.
- Try out this app in [Play Store](https://play.google.com/store/apps/details?id=com.espressif.rainmaker).
## Setup
To build this app, you will need a development machine, with Android Studio installed.
To get this app please clone this repository using the below command and open this project in Android Studio:
```
git clone https://github.com/espressif/esp-rainmaker-android.git
```
You are now ready to run this demo.
## Features
### User Management
- Signup/Signin using email id.
- Third party login includes GitHub and Google.
- Forgot/reset password support.
- Signing out.
- Delete user.
### Provisioning
- Uses [Provisioning library](https://github.com/espressif/esp-idf-provisioning-android/) for provisioning.
- Automatically connects to device using QR code.
- Can choose manual flow if QR code is not present.
- Shows list of available Wi-Fi networks.
- Supports SoftAP based Wi-Fi Provisioning.
- Performs the User-Node association workflow.
### Manage
- List all devices associated with a user.
- Shows node and device details.
- Capability to remove node of a user.
- Shows online/offline status of nodes.
### Control
- Shows all static and configurable parameters of a device.
- Adapt UI according to the parameter type like toggle for power, slider for brightness.
- Allow user to change and monitor parameters of devices.
### Local Control
- App uses ESP Local Control(esp_local_ctrl) component in ESP-IDF and Network Service Discovery APIs to search and manage user devices on local network.
- This feature allows user to control their ESP devices over local network by communicating over Wi-Fi + HTTP.
- Local Control ensures your devices are reachable even when your internet connection is poor or there is no internet over connected Wi-Fi.
This feature can be enabled/disabled by setting true/false value of `isLocalControlSupported` field in `local.properties`.
This feature is optional but enabled by default.
Add `isLocalControlSupported=false` in `local.properties` file to disable this feature.
### Scheduling
Schedules allow you to automate a device by setting it to trigger an action at a given time on a specified day or days of the week.
List of operations that are supported for scheduling :
- Add.
- Edit.
- Remove.
- Enable/disable.
Schedule can be enabled/disabled by setting true/false value of `isScheduleSupported` field in `local.properties`.
Schedule feature is optional but enabled by default.
Add `isScheduleSupported=false` in `local.properties` file to disable this feature.
### Scene
Scene is a group of parameters with specific values, for one or more devices (optionally) spanning across multiple nodes. As an example, an "Evening" scene may turn on all the lights and set them to a warm colour. A "Night" scene may turn off all the lights, turn on a bedside lamp set to minimal brightness and turn on the fan/ac.
List of operations that are supported for scene :
- Add.
- Edit.
- Remove.
- Activate.
Scene can be enabled/disabled by setting true/false value of `isSceneSupported` field in `local.properties`.
Scene feature is optional but enabled by default.
Add `isSceneSupported=false` in `local.properties` file to disable this feature.
### Node Grouping
Node Grouping allows you to create abstract or logical groups of devices like lights, switches, fans etc.
List of operations that are supported in node grouping :
- Create groups.
- Edit groups (rename or add/remove device).
- Remove groups.
- List groups.
Grouping can be enabled/disabled by setting true/false value of `isNodeGroupingSupported` field in `local.properties`.
Grouping feature is optional but enabled by default.
Add `isNodeGroupingSupported=false` in `local.properties` file to disable this feature.
### Node Sharing
Node Sharing allows a user to share nodes with other registered users and allow them to monitor and control these nodes.
List of operations that are supported in node sharing :
For primary users:
- Register requests to share nodes.
- View pending requests.
- Cancel a pending request, if required.
- Remove node sharing.
For secondary users:
- View pending requests.
- Accept/decline pending requests.
Sharing can be enabled/disabled by setting true/false value of `isNodeSharingSupported` field in `local.properties`.
Sharing feature is optional but enabled by default.
Add `isNodeSharingSupported=false` in `local.properties` file to disable this feature.
### Alexa App to App Linking
This account linking flow enables users to link their Alexa user identity with their RainMaker identity by starting from Rainmaker app. When they start the account linking flow from the app, users can:
- Discover their Alexa skill through the app.
- Initiate skill enablement and account linking from within the app.
- Link their account without entering Alexa account credentials if already logged into Alexa app. They will have to login to Rainmaker once, when trying to link accounts.
- Link their account from your RainMaker using [Login with Amazon (LWA)](https://developer.amazon.com/docs/login-with-amazon/documentation-overview.html), when the Alexa app isn't installed on their device.
## Additional Settings:
Settings associated with provisioning a device can be modified in the `local.properties` file.
Add below lines in `local.properties` and customize as per your requirement.
```
transport=Both
security=Sec1
POP=abcd1234
deviceNamePrefix=PROV_
isFilterPrefixEditable=true
isQRCodeSupported=true
isScheduleSupported=true
isSceneSupported=true
isLocalControlSupported=true
isNodeGroupingSupported=true
isNodeSharingSupported=true
```
Description of each key can be found below.
| Key | Type | Description |
|------------------------ |--------- |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| transport | String | Possible values: <br> **Both** (Default) : Supports both BLE and SoftAP device provisioning. <br> **SoftAP** : supports only SoftAP device provisioning. <br> **BLE**: supports only BLE device provisioning. |
| security | String | Possible values: <br> **Sec1** (Default) : for secure/encrypted communication between device and app. <br> **Sec0**: for unencrypted communication between device and app. |
| POP | String | Proof of Possession. It's default value is **empty string**. |
| deviceNamePrefix | String | Search for BLE devices with this prefix in scanning. It's default value is "**PROV_**". |
| isFilterPrefixEditable | boolean | Allow users to edit the prefix used for filtering BLE devices. It's default value is **true**. |
| isQRCodeSupported | boolean | Allow users to connect with the device and start provisioning using QR code
没有合适的资源?快使用搜索试试~ 我知道了~
《ESP32-C3 物联网工程开发实战》配套代码.zip
共1326个文件
png:349个
swift:255个
xml:192个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 175 浏览量
2024-01-23
17:07:44
上传
评论
收藏 11.19MB ZIP 举报
温馨提示
《ESP32-C3物联网工程项目指导》, IoT Guidance based on ESP32-C3 in English, is a book written by Espressif engineers, that provides detailed guidance on IoT development, including hardware design based on ESP32-C3, ESP-IDF, Wi-Fi configuration, ESP RainMaker, etc... This repo contains the code example of builing a smart light from the book.
资源推荐
资源详情
资源评论
收起资源包目录
《ESP32-C3 物联网工程开发实战》配套代码.zip (1326个子文件)
sdkconfig.ci.anti_rollback 850B
gradlew.bat 2KB
light_driver.c 24KB
app_main.c 22KB
iot_led.c 18KB
app_wifi.c 16KB
app_main.c 12KB
app_main.c 11KB
app_main.c 11KB
iot_button.c 10KB
app_main.c 9KB
app_main.c 9KB
app_main.c 9KB
app_main.c 9KB
app_main.c 8KB
button_test.c 8KB
advanced_https_ota_example.c 8KB
button_adc.c 8KB
app_main.c 7KB
app_main.c 6KB
app_main.c 5KB
app_main.c 5KB
app_main.c 5KB
app_main.c 5KB
app_storage.c 4KB
app_driver.c 3KB
app_driver.c 3KB
app_driver.c 3KB
app_driver.c 2KB
app_driver.c 2KB
app_driver.c 2KB
app_pm.c 2KB
app_pm.c 2KB
app_driver.c 2KB
app_driver.c 2KB
app_driver.c 2KB
app_driver.c 2KB
app_driver.c 2KB
app_driver.c 2KB
app_driver.c 2KB
app_driver.c 2KB
app_driver.c 2KB
button_gpio.c 2KB
blink.c 2KB
app_main.c 967B
sdkconfig.ci 162B
sdkconfig.ci 114B
server.crt 2KB
server.crt 2KB
server.crt 2KB
rainmaker_ca.crt 2KB
partitions.csv 562B
partitions.csv 548B
partitions.csv 521B
partitions.csv 521B
partitions.csv 521B
partitions.csv 521B
partitions.csv 521B
partitions.csv 521B
partitions.csv 521B
partitions.csv 521B
partitions.csv 521B
partitions.csv 521B
partitions.csv 521B
partitions.csv 521B
partitions.csv 521B
anti_rollback_partition.csv 385B
sdkconfig.defaults 2KB
sdkconfig.defaults 1KB
sdkconfig.defaults 815B
sdkconfig.defaults 815B
sdkconfig.defaults 613B
sdkconfig.defaults 579B
sdkconfig.defaults 524B
sdkconfig.defaults 524B
sdkconfig.defaults 456B
sdkconfig.defaults 456B
sdkconfig.defaults 456B
sdkconfig.defaults 456B
sdkconfig.defaults 456B
sdkconfig.defaults 456B
sdkconfig.defaults 456B
sdkconfig.defaults 160B
sdkconfig.defaults 2B
amazonRootCA.der 1KB
ESPRainMaker.entitlements 644B
ESPRainMakerPushNotificationExtension.entitlements 313B
Gemfile 68B
.gitignore 1KB
.gitignore 17B
.gitignore 7B
build.gradle 10KB
build.gradle 898B
settings.gradle 15B
gradlew 5KB
iot_led.h 7KB
light_driver.h 5KB
iot_button.h 3KB
app_storage.h 3KB
button_adc.h 2KB
共 1326 条
- 1
- 2
- 3
- 4
- 5
- 6
- 14
资源评论
博士僧小星
- 粉丝: 1774
- 资源: 5875
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 4399GameSem_116_13955_207551_6.apk
- python 3.9.19源码编译包
- php-8.2.18-Win32-vs16-x64.rar
- 字节跳动青训营-抖音项目
- SQL资料手册,语句教程,高级查询语句语法
- 上位机和串口建立 Modbus 协议进行数据传输,并使用 Mysql 数据库存储,能够实现实时温湿度显示和动态变化曲线,历史数据
- Attachment 1_chazhi.xlsx
- 安卓项目,实现虚拟摇杆通过wifi串口发送nema-0183协议实现小吊舱方向控制
- 基于modbus协议的大屏数据监控,使用modbus slave模拟数据,串口服务器获取温湿度
- 下载资源.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功