[ESP] 私有版Rainmaker User Mapping

[ESP] 私有版Rainmaker User Mapping

1. 设备烧录的程序rainmaker自带gpio示例

我这里是自己的工程,可以参照

  1. idf.py set-target esp32
  2. idf.py build
  3. idf.py -p /dev/ttyUSB0 flash monitor

串口输出显示如下:

特别记住以下信息:

  1. name
  2. pop
  3. node id
  4. transport

2. swaggerapis登录账户

  1. 因为使用的私有版Rainmaker,所以API Url需要修改,这个不方便上传。

  1. 使用POST创建用户,因为我之前已经创建过,所以不重复步骤。

  1. 使用POST登录之前创建的用户,并复制返回的accesstoken

  1. 点击最上面API Url右侧的Authorize,输入刚才复制的accesstoken

  1. 使用GET获取User id,后面需要传给设备和云端。

3. 调用Rainmaker封装好的py脚本充当Client

  • esp-rainmaker/cli/rmaker_tools/rmaker_prov/esp_rainmaker_prov.py

esp_rainmaker_prov.py报错

解决方法:

  1. 打开esp-rainmaker/cli/rmaker_tools/rmaker_prov/proto/init.py文件
  2. 删除*from* rmaker_lib.logger *import* log
  3. 删除log.error(load_source_err)

步骤

  1. 电脑连接设备的AP,我们这里就是看到的OG901_14faf2
  2. 连接AP成功后运行esp_rainmaker_prov.py做映射,需要设置参数主要有以下几项:
    1. --transport
    2. --pop
    3. --userid
    4. --secretkey(随机码,我这里写了1234567890)
    5. --ssid(连接的WIFI名,比如sharkrobot)
    6. --passphrase(连接的WIFI密码,比如sharkrobot的密码)
  3. esp_rainmaker_prov.py运行截图

  1. 设备串口截图

到这里设备和Client之间的配网和映射就做好了,然后需要用swaggerapis和云端做映射。

4. swaggerapis和云端做映射

  • 在第二大步(swaggerapis登录账户)的基础上进行以下步骤:
  1. 使用PUTnode_idsecret_key发送给云端,并复制返回的request_id

  1. 使用GET获取云端映射的状态,返回confirmed代表成功。

  1. 使用GET获取当前用户映射了哪些node,GET的参数有几点需要注意:
    1. node_id这栏选为空
    2. tags这栏选为空

posted @ 2023-06-14 16:22  空水  阅读(242)  评论(0编辑  收藏  举报