[ESP] 私有版Rainmaker User Mapping
[ESP] 私有版Rainmaker User Mapping
1. 设备烧录的程序esp-rainmaker/examples/gpio这个demo
我这里是自己的工程,可以参照
- 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,我们这里就是看到的PROV_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这栏选为空


[ESP] 私有版Rainmaker User Mapping的更多相关文章
- 初探内核之《Linux内核设计与实现》笔记下
定时器和时间管理 系统中有很多与时间相关的程序(比如定期执行的任务,某一时间执行的任务,推迟一段时间执行的任务),因此,时间的管理对于linux来说非常重要. 主要内容: 系统时间 定时器 定时器相关 ...
- 《Remus: High Availability via Asychronous Virtual Machine Replication》翻译
Abstract 想要让应用能够躲过硬件故障是一项非常昂贵的任务,因为这通常意味着对软件进行重构,使它包含复杂的恢复逻辑的同时需要部署专用的硬件,而这些对于提升大型的或者遗留的应用的可靠性是巨大的障碍 ...
- Android 热修复Nuwa的原理及Gradle插件源码解析
现在,热修复的具体实现方案开源的也有很多,原理也大同小异,本篇文章以Nuwa为例,深入剖析. Nuwa的github地址 https://github.com/jasonross/Nuwa 以及用于 ...
- Linux内核内存管理
<Linux内核设计与实现>读书笔记(十二)- 内存管理 内核的内存使用不像用户空间那样随意,内核的内存出现错误时也只有靠自己来解决(用户空间的内存错误可以抛给内核来解决). 所有内核 ...
- 《Linux内核设计与实现》读书笔记(十二)- 内存管理【转】
转自:http://www.cnblogs.com/wang_yb/archive/2013/05/23/3095907.html 内核的内存使用不像用户空间那样随意,内核的内存出现错误时也只有靠自己 ...
- C/C++的参数传递机制
近来公司招人较多,由此面试了非常多的C++程序员.面试时,我都会问到参数传递的相关问题,尤其侧重指针.因为指针毕竟是C/C++最重要的一个优势(在某种情况下也可以说是劣势).但其结果是,1/3的人基本 ...
- (二)Hibernate4 CRUD 体验
所有的学习我们必须先搭建好hibernate的环境(1.导入对应的jar包,2.hibernate.cfg.xml,3.XXXX.hbm.xml) 第一节:HibernateUtil 封装 导入对应的 ...
- 工作于内存和文件之间的页缓存, Page Cache, the Affair Between Memory and Files
原文作者:Gustavo Duarte 原文地址:http://duartes.org/gustavo/blog/post/what-your-computer-does-while-you-wait ...
- Android 热修复使用Gradle Plugin1.5改造Nuwa插件
随着谷歌的Gradle插件版本号的不断升级,Gradle插件如今最新的已经到了2.1.0-beta1,相应的依赖为com.android.tools.build:gradle:2.0.0-beta6, ...
- Android热修复方案比较
热修复的特点:无需重新发版,实时高效热修复:用户无感知修复,无需下载新的应用,代价小: 修复成功率高,把损失降到最低. 一.热修复开源方案和使用情况 方案名称 方案开发公司 开发时间 Github星评 ...
随机推荐
- PHP微信三方平台-代公众号发送消息模板
1.微信三方平台代公众号实现业务接口API文档地址: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/Offi ...
- 《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(13)-Charles如何进行Mock和接口测试
1.简介 Charles最大的优势在于抓包分析,而且我们大部分使用的功能也在抓包的功能上,但是不要忘记了,Charles也可以做接口测试.至于Mock,其实在修改请求和响应数据哪里就已经介绍了,宏哥就 ...
- 每日复习关于static 饿汉式 懒汉式,单例设计模式
1.1.static 的使用 当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过 new 关键字才会产生出对象,这时系统才会分配内存空间给对象,其方法才可以供外部 ...
- Django之时区修改
修改时区方法 环境:windows10 修改settings.py文件,修改TIME_ZONE和USE_TZ参数 TIME_ZONE = 'Asia/Shanghai' USE_TZ = False
- 第7章. 部署到GiteePages
Gitee Pages 是一个免费的静态网页托管服务,您可以使用 Gitee Pages 托管博客.项目官网等静态网页.如果您使用过 Github Pages 那么您会很快上手使用 Gitee 的 P ...
- Appweb配置
Appweb配置 具体配置网页=> https://www.embedthis.com/appweb/doc/users/configuration.html 具体参 ...
- Spring中TranslationDefinition接口规定的七种类型的事务传播行为及其意思
- #Python基础 pandas索引设置
一:XMIND 二:设置索引 示例数据,假设我们有一个DataFrame对象,如下: import pandas as pd df = pd.DataFrame({ "name": ...
- 2021-03-08:在一个数组中,任何一个前面的数a,和任何一个后面的数b,如果(a,b)是降序的,就称为逆序对。返回逆序对个数。
2021-03-08:在一个数组中,任何一个前面的数a,和任何一个后面的数b,如果(a,b)是降序的,就称为逆序对.返回逆序对个数. 福哥答案2021-03-08: 1.归并排序,从右往左,相等拷右. ...
- 2021-10-24:快乐数。编写一个算法来判断一个数 n 是不是快乐数。「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,也可能是
2021-10-24:快乐数.编写一个算法来判断一个数 n 是不是快乐数.「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和.然后重复这个过程直到这个数变为 1,也可能是 ...