0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ESP RainMaker 开发介绍

启明云端 2022-12-05 10:06 次阅读

如果你一直关注乐鑫,应该对 ESP RainMaker 及其丰富的功能有所了解。ESP RainMaker 重要特性之一是轻量化,它能充当ESP 节点和移动端App、Alexa、GVA等客户端之间的“隧道”,具备极大的灵活性和可扩展性。

ESP RainMaker 支持创建任何设备,开发多种设备功能,最终还能通过移动端App实现设备控制。


ESP-RainMaker项目用于实现“节点”,用户登录后可以使用客户端(如手机应用程序)进行对节点进行配置,然后通过ESPRainMakerCloud 进行控制。

节点

节点是基于 ESP32 的单个产品。它具有关联的标识符(node_id) 和声明服务提供的一组凭据,用于对节点进行合法验证。用户可以为节点指定好名称。单个节点可以公开多个设备。

设备

设备是用户可控制的逻辑实体,如开关、灯泡、恒温器、温度传感器等。一个简单的节点通常只有一个设备。但是,ESP32 也可以有多个设备,例如在一块板上安装两个开关,或者它可以充当其他设备(例如BLE 传感器)的桥接器。每个设备在节点中必须具有唯一的名称,并且可以选择具体的类型。


参数

这些是设备的控制和监视参数,用于用户在APP或者服务器上进行控制或者监视。例如:开/关电源状态、亮度、电流/目标温度等所有这些参数在设备中都必须具有唯一的名称。这些参数还可以具有其他字段,如值、类型、边界、UI 信息等。参数值可以是布尔值、整数、浮点数或字符串。

获取ESP RainMaker项目

使用以下方法下载RainMaker:

1、git clone https://github.com/espressi‍f/esp-rainmaker.git

2、git clone https://github.com/espressif/esp-iot-bridge.git

第一个仓库为Rainmaker仓库,配合ESP Rainmaker APP使用 。

第二个仓库集成了Rainmaker和lite mesh,本文示例使用该仓库,使用乐鑫nova home app关于lite mesh的内容请关注后续文章。


执行以下命令以拉入子模块:

git submodule update--init --recursive --progress

构建和刷新固件


Rainmaker工程位于esp-iot-bridge仓库的examples/rainmaker目录下,编译以及烧录基于ESP-IDF,本文基于IDF5.0。


如果您是第一次使用,建议先擦除闪存,然后再刷新固件。以下是步骤:

cd ~/esp-iot-bridge/examples/rainmaker/led_light/(进入例程目录)

idf.py set-target esp32/esp32s2/esp32c3/esp32s3(选择芯片类型)

[注意:ESP RainMaker 可与 ESP32系列所有芯片配合使用,如 ESP32、ESP32-S2、ESP32-C3 和 ESP32-S3。]

idf.py build(编译)

idf.py erase_flash(擦除)

idf.py flash monitor(烧录并运行)

代码运行成功后

Part.1

找到设备名称

adb4d092-72ba-11ed-b116-dac502259ad0.jpg

Part.2

打开App添加你的第一个设备

add623e6-72ba-11ed-b116-dac502259ad0.jpg

Part.3

找到设备同意蓝牙连接

adf0d84e-72ba-11ed-b116-dac502259ad0.png

Part.4

输入WiFi账号密码进行配网

ae284cca-72ba-11ed-b116-dac502259ad0.jpgae3ad8fe-72ba-11ed-b116-dac502259ad0.jpgae56f8d6-72ba-11ed-b116-dac502259ad0.jpgae6b9c3c-72ba-11ed-b116-dac502259ad0.jpgae7e9b2a-72ba-11ed-b116-dac502259ad0.jpg

左右滑动查看图集

Part.5

进入在线调节参数页面

ae96e7ca-72ba-11ed-b116-dac502259ad0.jpg

基于ESP RainMaker的应用程序的典型代码如下

aeb1743c-72ba-11ed-b116-dac502259ad0.jpg

例程中Rainmaker节点、设备、属性的初始化在app_rainmaker_start()函数中实现,具体可以参考app_rainmaker.c文件,具体流程为

初始化ESP RainMaker节点esp_rmaker_node_init(),方法是向其传递配置 esp_rmaker_config_t()节点名称和类型。

创建设备esp_rmaker_device_create()。RainMaker节点本身没有特定的值,除非它下面有设备。

添加参数和其他元数据。

将设备添加到节点。

启动RainMaker代理esp_rmaker_start()。这将启动RainMaker核心任务,该任务将等待Wifi,如果需要,通过MQTT连接到RainMaker Cloud,报告节点配置,报告参数值,然后等待命令。

启动无线网络 app_wifi_start()

以上是 ESP RainMaker 项目开发的基本介绍。您无需在云后台进行任何配置或更改,就可以轻松添加自定义功能,拥有极大的灵活性与可扩展性。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ESP
    ESP
    +关注

    关注

    0

    文章

    183

    浏览量

    33914
收藏 人收藏

    评论

    相关推荐

    简述三种esp32的开发方式是什么

    ESP32是一款由乐鑫(Espressif)推出的低功耗、高性能的Wi-Fi和蓝牙双模无线通信芯片,广泛应用于物联网、智能家居、智能硬件等领域。本文将详细介绍三种ESP32的开发方式:
    的头像 发表于 08-20 09:11 2726次阅读

    esp32和esp8266代码共用吗

    本文将介绍ESP32和ESP8266两款流行的微控制器在代码共用性方面的可能性与差异性。 一、引言 随着物联网技术的飞速发展,越来越多的智能设备开始进入我们的生活。其中,ESP32和
    的头像 发表于 08-19 18:23 1102次阅读

    esp32用什么软件编程

    。 概述 ESP32具有丰富的外设接口和灵活的编程方式,支持多种编程语言和开发环境。本文将详细介绍ESP32的编程软件,包括开发环境、编程语
    的头像 发表于 08-19 17:24 3355次阅读

    在哪里可以看一下RainMaker Cloud的后端系统?

    请问下,在哪里可以看一下RainMaker Cloud的后端系统? 另外,RainMaker cloud是否提供服务器端的OPEN API,我们希望RainMaker cloud能够跟我们现有的系统进行对接。
    发表于 07-19 08:20

    ESP32-C3-DecKitM-1板子运行esp-rainmaker的switch例程,cli provision失败的原因?

    ESP32-C3-DecKitM-1板子运行esp-rainmaker的switch例程,cli provision 失败,显示如下: C:Espressifesp-rainmakercli&
    发表于 06-26 08:11

    想在RainMaker的例程加上BLE本地控制,如何在没有wifi的情况下也能控制设备?

    在没有网络时,ESP RainMaker 可以通过wifi进行本地控制. 现在我想在RainMaker 的例程加上BLE本地控制,在没有wifi的情况下也能控制设备。 请指教一下该如何做?
    发表于 06-26 08:05

    ESP32-S3-DevKitC-1运行esp-rainmaker\\examples\\led_light出错的原因?

    Insights.I (23759) esp_rmaker_core: Starting RainMaker Work Queue taskI (23769
    发表于 06-18 06:54

    求助,关于esp-idf v5.1.1编译下载esp-rainmaker的example的问题求解

    在升级esp-idf到v5.1.1之前,用的是v5.0版本对rainmaker进行编译,能正常运行起来,也能在App上正常添加。 但是升级到v5.1.1之后,再进行编译下载运行之后,出现了以下报错
    发表于 06-07 07:54

    求助,关于ESP32s3 rainmaker的flash问题求解

    开发环境是arduino,ESP_Friend博主的代码,要用到esp rainmaker功能 代码参考https://gitee.com/esp
    发表于 06-07 06:39

    烧录ESP RainMaker中的例程时,遇到这种版本问题如何解决?

    我在烧录ESP RainMaker中的例程时,遇到这种版本问题,应该如何解决呀。 ESP-IDF是5.2.1 ,下载esp-rainmaker时使用的是$ git clone --re
    发表于 06-05 06:44

    GitHub Copilot+ESP开发实战-I2C

    准备工作1.ESP32-S3-DevKitC-1开发板一块;2.LM75A温度感应器;3.杜邦线4根、USB线;一、向Copilot提问1.ESP32-S3用C语言实现I2C初始化;2.SDA为18
    的头像 发表于 03-29 08:03 501次阅读
    GitHub Copilot+<b class='flag-5'>ESP</b><b class='flag-5'>开发</b>实战-I2C

    拿来就能用 | ESP AI音箱方案介绍

    本案例使用ESP-BOX和OpenAIAPI开发一款语音控制的聊天机器人(chatbot)。ESP-BOXAI音箱方案介绍本案例将介绍如何使
    的头像 发表于 03-21 08:03 623次阅读
    拿来就能用 | <b class='flag-5'>ESP</b> AI音箱方案<b class='flag-5'>介绍</b>

    GitHub Copilot+ESP开发实战-串口

    上篇文章讲了GitHubCopilot在应用中可能遇到的问题,接下来小启就简单介绍下GitHubCopilot在ESP32开发中C语言实现串口功能,感兴趣的可以看看。一、向Copilot提问
    的头像 发表于 03-16 08:03 471次阅读
    GitHub Copilot+<b class='flag-5'>ESP</b><b class='flag-5'>开发</b>实战-串口

    GitHub Copilot+ESP开发使用问题集锦(一)

    简洁明确:2、可以提一些开发中遇到的问题,GitHubCopilot会给一个大概得方向供参考。3、可以在GitHubCopilot上查询ESP的一些的技术名词介绍4
    的头像 发表于 03-09 08:03 397次阅读
    GitHub Copilot+<b class='flag-5'>ESP</b><b class='flag-5'>开发</b>使用问题集锦(一)

    ESP32-P4首秀|启明云端带你解读乐鑫P4多媒体开发

    此前,乐鑫发布了新一代MCU芯片ESP32-P4的消息,今天ESP32-P4开发板终于登场亮相了,快来一睹真容吧。一、ESP32-P4开发
    的头像 发表于 02-19 12:30 3891次阅读
    <b class='flag-5'>ESP</b>32-P4首秀|启明云端带你解读乐鑫P4多媒体<b class='flag-5'>开发</b>板