[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星评 ...
随机推荐
- 使用dataX收获的教训
首先是安装dataX,安装非常简单,只需下载对应的压缩包即可. 下载地址:https://github.com/alibaba/DataX 首先我出现的第一个错误:命令提示符界面出现出现乱码. 解决方 ...
- IconJar - Mac 上的一款多功能图标素材管理工具
IconJar 是一个多功能的图标管理工具,由世界各地的设计师和开发人员使用.在一个应用程序中搜索.组织.预览和检索图标,而不是创建大量的文件夹来存储你的收藏.这款应用针对黑暗模式进行了优化,并支持S ...
- 企业信息化-3.6 IT资源管理2-系统及应用
笔者从业的主要是App Dev&Ops,对操作系统有些了解,对应用软件了解的更多.以下是总结了以前跟Host&Server Service.Cloud Service.IT Solut ...
- [ACM]NOIP2011D1T1复现-铺地毯
逆向考虑即可解决 #include<iostream> using namespace std; const int maxn= 100000 +5; int a[maxn][4];//0 ...
- 迁移学习(SPI)《Semi-Supervised Domain Adaptation by Similarity based Pseudo-label Injection》
论文信息 论文标题:Semi-Supervised Domain Adaptation by Similarity based Pseudo-label Injection论文作者:Abhay Raw ...
- Django终端打印执行的SQL语句
1.queries查询 >>>obj = models.User.objects.filter(name='Mcoco')[0] >>>obj.group.name ...
- Kubernetes入门实践(ConfigMap/Secret)
Kubernetes中用于管理配置信息的两种对象: ConfigMap和Secret,可使用它们来灵活地配置和定制应用.应用程序有很多类别的配置信息,从数据安全的角度看可分为明文配置和机密配置,明文配 ...
- 23.oneOf
const { resolve } = require('path') const HtmlWebpackPlugin = require('html-webpack-plugin') // 提取cs ...
- LDAP数据过滤问题
集成ldap同步用户遇到的问题: 首先说明同步需求: 业务需要只同步 objectClass 类型为user的用户 连接ldap查询用户的时候 过滤器只加了 .where("objectCl ...
- 数据结构(DataStructure)-03
数据结构-03 **数据结构-03笔记** **递归** **二叉树** **广度遍历 - 二叉树** **深度遍历 - 二叉树** **二叉树练习一** **二叉树练习二** **二叉排序树练习一* ...