[ESP] 私有版Rainmaker User Mapping

1. 设备烧录的程序esp-rainmaker/examples/gpio这个demo

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

  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,我们这里就是看到的PROV_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这栏选为空

[ESP] 私有版Rainmaker User Mapping的更多相关文章

  1. 初探内核之《Linux内核设计与实现》笔记下

    定时器和时间管理 系统中有很多与时间相关的程序(比如定期执行的任务,某一时间执行的任务,推迟一段时间执行的任务),因此,时间的管理对于linux来说非常重要. 主要内容: 系统时间 定时器 定时器相关 ...

  2. 《Remus: High Availability via Asychronous Virtual Machine Replication》翻译

    Abstract 想要让应用能够躲过硬件故障是一项非常昂贵的任务,因为这通常意味着对软件进行重构,使它包含复杂的恢复逻辑的同时需要部署专用的硬件,而这些对于提升大型的或者遗留的应用的可靠性是巨大的障碍 ...

  3. Android 热修复Nuwa的原理及Gradle插件源码解析

    现在,热修复的具体实现方案开源的也有很多,原理也大同小异,本篇文章以Nuwa为例,深入剖析.  Nuwa的github地址 https://github.com/jasonross/Nuwa 以及用于 ...

  4. Linux内核内存管理

    <Linux内核设计与实现>读书笔记(十二)- 内存管理   内核的内存使用不像用户空间那样随意,内核的内存出现错误时也只有靠自己来解决(用户空间的内存错误可以抛给内核来解决). 所有内核 ...

  5. 《Linux内核设计与实现》读书笔记(十二)- 内存管理【转】

    转自:http://www.cnblogs.com/wang_yb/archive/2013/05/23/3095907.html 内核的内存使用不像用户空间那样随意,内核的内存出现错误时也只有靠自己 ...

  6. C/C++的参数传递机制

    近来公司招人较多,由此面试了非常多的C++程序员.面试时,我都会问到参数传递的相关问题,尤其侧重指针.因为指针毕竟是C/C++最重要的一个优势(在某种情况下也可以说是劣势).但其结果是,1/3的人基本 ...

  7. (二)Hibernate4 CRUD 体验

    所有的学习我们必须先搭建好hibernate的环境(1.导入对应的jar包,2.hibernate.cfg.xml,3.XXXX.hbm.xml) 第一节:HibernateUtil 封装 导入对应的 ...

  8. 工作于内存和文件之间的页缓存, Page Cache, the Affair Between Memory and Files

    原文作者:Gustavo Duarte 原文地址:http://duartes.org/gustavo/blog/post/what-your-computer-does-while-you-wait ...

  9. Android 热修复使用Gradle Plugin1.5改造Nuwa插件

    随着谷歌的Gradle插件版本号的不断升级,Gradle插件如今最新的已经到了2.1.0-beta1,相应的依赖为com.android.tools.build:gradle:2.0.0-beta6, ...

  10. Android热修复方案比较

    热修复的特点:无需重新发版,实时高效热修复:用户无感知修复,无需下载新的应用,代价小: 修复成功率高,把损失降到最低. 一.热修复开源方案和使用情况 方案名称 方案开发公司 开发时间 Github星评 ...

随机推荐

  1. 第一部分:介绍 Spdlog 日志库

    什么是 Spdlog 日志库 Spdlog 是一个 C++ 的日志库,它具有高效.易用.跨平台等特点.它可以写入到控制台.文件等输出目标,支持多种日志级别.多线程安全等功能,非常适合在 C++ 项目中 ...

  2. 在Kubernetes(k8s)中使用GPU

    介绍 Kubernetes 支持对节点上的 AMD 和 NVIDIA GPU (图形处理单元)进行管理,目前处于实验状态. 修改docker配置文件 root@hello:~# cat /etc/do ...

  3. [Linux]监控外部用户登录及外部主机连接情况

    1 外部用户/外部主机 /var/log 在CentOS系统上,用户登录历史存储在以下这些文件中: /var/log/wtmp 用于存储系统连接历史记录被last工具用来记录最后登录的用户的列表 /v ...

  4. [Linux]Xshell连接Centos7能Ping通但无法连接问题[ssh(d)+firewalld/iptables+chkconfig]

    一 方案与思路 0 xshell客户端监测是否能够ping通目标服务器. 前提:知晓目标服务器IP地址 Linux: ifconfig -a Windows: ipconfig -a 1 利用fire ...

  5. 【vue3-element-admin】ESLint+Prettier+Stylelint+EditorConfig 约束和统一前端代码规范

    前言 本文介绍 vue3-element-admin 如何通过ESLint 检测 JS/TS 代码.Prettier 格式化代码.Stylelint 检测 CSS/SCSS 代码和配置 EditorC ...

  6. Docker Compose 部署 Jenkins

    Jenkins介绍 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具 Jenkins应用广泛,大多数互联网公司都采用Jenkins配合GitLab.Docker.K8s作为实现D ...

  7. 【干货】Vue2.x 组件通信方式详解,这篇讲全了

    前言 vue是数据驱动视图更新的框架, 我们平时开发,都会把页面不同模块拆分成一个一个vue组件, 所以对于vue来说组件间的数据通信非常重要,那么组件之间如何进行数据通信的呢? 首先我们需要知道在v ...

  8. C# 编译异常CS0433

    编译后遇到nuget版本冲突: error CS0433: 类型"ShellFile"同时存在于"Microsoft.WindowsAPICodePack.Shell, ...

  9. React 监听页面滚动,界面动态显示

    以下是常见的监听滚动以及相应的操作 窗口滚动事件 当页面滚动时,如何动态切换布局/样式 1. 添加滚动事件的监听/注销 1 //在componentDidMount,进行scroll事件的注册,绑定一 ...

  10. Apktool-安卓逆向反编译工具的安装与使用

    一.安装Apktool 1.下载Windows 包装器脚本(右键单击,将连接另存为apktool.bat) 2.下载 Apktool-2,重命名为apktool.jar 3.将下载的放在同一文件夹下 ...