[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星评 ...
随机推荐
- innerHTML和outerHTML区别
1.innerHTML <body> <p>你好</p> <div id="test"><h5>就是喜欢你</h ...
- 源码安装slurm
一.源码安装munge 1.下载munge 下载地址:https://github.com/dun/munge/releases 2.安装编译 tar -Jxvf munge-0.5.15.tar.x ...
- VUE插值语法
目录 基本使用 基本使用 在body中创建一个标签,一般使用div,定义好id后,在script中进行定义,在前台使用{{变量}}的形式进行调用,语法如下: <!DOCTYPE html> ...
- 【python基础】五大数据类型及常用方法
1. 数据类型概述 python中的字符串,列表,元组,字典,集合这五种数据类型均是可迭代的,可以使用for循环访问,涵盖了三类数据结构分别为序列.散列.集合. 序列: 字符串 str 列表 list ...
- .NET中使用RabbitMQ总结
目前业界使用较多的消息队列组件有RabbitMQ.ActiveMQ.MSMQ.kafka.zeroMQ等 之间的对比可以看这里 之前搭过ActiveMQ环境带源码 点击这里 后来发现RabbitMQ性 ...
- windows安装zabbix错误代码
zabbix安装:windows安装zabbix客户端很多坑,设计到很多问题,常见的问题有安装完成防火墙没有关闭,zabbix服务端接收不到客户端的信息.zabbix在cmd中安装的时候报错误代码,安 ...
- Godot报错 Node not found: "SubViewport"[一问随笔]
问题: 使用TextureRect显示SubViewport的内容,结果发生了如下报错 E 0:00:01:0007 get_node: Node not found: "SubViewpo ...
- Jenkins-Email Extension Plugin邮件配置
前言:此文为 Jenkins 2.346 版本 一.配置准备 1.安装 Email Extension Plugin 插件 二.配置邮件 Email Extension Plugin 部分 1.进入系 ...
- java镜子之反射篇
文章目录 注解 内置注解 元注解 反射 类的初始化 类加载器 双亲委派机制 反射方法的使用 调用类的方法.成员变量.构造器等 总结 注解和反射是Java中非常重要的知识,一些优秀开源的框架都是大量运用 ...
- Java代码读取properties配置文件
读取properties配置文件 package com.easycrud.utils; import java.io.IOException; import java.io.InputStream; ...