[ESP] 私有版Rainmaker User Mapping
[ESP] 私有版Rainmaker User Mapping
1. 设备烧录的程序rainmaker自带gpio示例
我这里是自己的工程,可以参照
- idf.py set-target esp32
- idf.py build
- idf.py -p /dev/ttyUSB0 flash monitor
串口输出显示如下:
特别记住以下信息:
- name
- pop
- node id
- transport
2. swaggerapis登录账户
- 因为使用的私有版Rainmaker,所以API Url需要修改,这个不方便上传。
- 使用POST创建用户,因为我之前已经创建过,所以不重复步骤。
- 使用POST登录之前创建的用户,并复制返回的accesstoken。
- 点击最上面API Url右侧的Authorize,输入刚才复制的accesstoken。
- 使用GET获取User id,后面需要传给设备和云端。
3. 调用Rainmaker封装好的py脚本充当Client
- esp-rainmaker/cli/rmaker_tools/rmaker_prov/esp_rainmaker_prov.py
esp_rainmaker_prov.py报错
解决方法:
- 打开esp-rainmaker/cli/rmaker_tools/rmaker_prov/proto/init.py文件
- 删除*
from* rmaker_lib.logger *import* log
- 删除
log.error(load_source_err)
步骤
- 电脑连接设备的AP,我们这里就是看到的OG901_14faf2。
- 连接AP成功后运行esp_rainmaker_prov.py做映射,需要设置参数主要有以下几项:
- --transport
- --pop
- --userid
- --secretkey(随机码,我这里写了1234567890)
- --ssid(连接的WIFI名,比如sharkrobot)
- --passphrase(连接的WIFI密码,比如sharkrobot的密码)
- esp_rainmaker_prov.py运行截图
- 设备串口截图
到这里设备和Client之间的配网和映射就做好了,然后需要用swaggerapis和云端做映射。
4. swaggerapis和云端做映射
- 在第二大步(swaggerapis登录账户)的基础上进行以下步骤:
- 使用PUT将node_id和secret_key发送给云端,并复制返回的request_id。
- 使用GET获取云端映射的状态,返回
confirmed
代表成功。
- 使用GET获取当前用户映射了哪些node,GET的参数有几点需要注意:
- node_id这栏选为空
- tags这栏选为空