[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星评 ...
随机推荐
- 重新编译Unity Mono遇到的坑,大坑,巨坑!!!
因为项目需要,要整一个DLL热更功能,本身也想对DLL进行加密,所以需要修改Mono的代码,并重新编译.参考了网上的教程后,决定在linux下做重编的工作. 然而在实际执行的时候,一开始就碰到了巨大的 ...
- day3 函数的定义和调用,练习编写简单的程序(记录1)
一.函数的定义 可以分为以下两种: 1.函数声明和函数定义分离 这种方法将函数声明和函数定义分开,通常在头文件中先声明函数原型,然后在源文件中实现函数定义. 例如,头文件 example.h 中声明了 ...
- .NET中使用Redis总结——2.项目实战
接上篇.NET中使用Redis总结 -- 1.Redis搭建 看一些Redis相关资料,.NET 方面ServiceStack.Redis 用的比较多,就直接拿来用了. 在使用过程中经常过出现假死状态 ...
- day18:json模块&time模块&zipfile模块
json模块 1.关于json的定义 所有的编程语言都能够识别的数据格式叫做json,是字符串能够通过json序列化成字符串与如下类型: (int float bool str list tuple ...
- python函数参数与类参数
python关于函数的一些应用 前言 鉴于python3与python2有些不同,看到某些代码时可能会感到疑惑,就稍微记录一下. 一.不限制个数的函数参数 1.*args 以此为参数,会被python ...
- Yolov8离谱报错
YoloV8离谱报错 今天下午给一个研究生小姐姐跑数据集,用的是yolov8在恒源云上租的4070的GPU服务器,跑垃圾分类数据集(https://blog.csdn.net/m0_5488250 ...
- 操作系统实验 & bochs 环境配置
wsl2 - Ubuntu 22.04 + VSCode + bochs + xfce4 + VcXsrv 笔者环境 wsl2 - Ubuntu 22.04 0. 安装WSL2 & VSCod ...
- 重新实现hashCode()方法
在Java中,为了让对象在集合中能够更高效地进行查找和比较,我们通常需要重写对象的equals()和hashCode()方法.其中,equals()方法用于比较两个对象是否相等,而hashCode() ...
- java递归算法之老鼠找路
(上图出自B站韩顺平教育) 从上图的(1,1)处,寻找到(6,5)处的路线,红色格子是障碍 public class MiGong { public static void main(String[] ...
- 简单实用Ecplise常用快捷键
简单实用Eclipse常用快捷键 用了Eclipse两年了,简单总结下目前我经常使用的快捷键!!! 1. Ctrl+Shift+R 功能:打开资源,这组快捷键可以让你打开你的工程中的任何一个文件 操作 ...