如果你一直關(guān)注樂(lè)鑫,應(yīng)該對(duì) ESP RainMaker 及其豐富的功能有所了解。ESP RainMaker 重要特性之一是輕量化,它能充當(dāng)ESP 節(jié)點(diǎn)和移動(dòng)端App、Alexa、GVA等客戶端之間的“隧道”,具備極大的靈活性和可擴(kuò)展性。
ESP RainMaker 支持創(chuàng)建任何設(shè)備,開(kāi)發(fā)多種設(shè)備功能,最終還能通過(guò)移動(dòng)端App實(shí)現(xiàn)設(shè)備控制。
ESP-RainMaker項(xiàng)目用于實(shí)現(xiàn)“節(jié)點(diǎn)”,用戶登錄后可以使用客戶端(如手機(jī)應(yīng)用程序)進(jìn)行對(duì)節(jié)點(diǎn)進(jìn)行配置,然后通過(guò)ESPRainMakerCloud 進(jìn)行控制。
節(jié)點(diǎn)
節(jié)點(diǎn)是基于 ESP32 的單個(gè)產(chǎn)品。它具有關(guān)聯(lián)的標(biāo)識(shí)符(node_id) 和聲明服務(wù)提供的一組憑據(jù),用于對(duì)節(jié)點(diǎn)進(jìn)行合法驗(yàn)證。用戶可以為節(jié)點(diǎn)指定好名稱。單個(gè)節(jié)點(diǎn)可以公開(kāi)多個(gè)設(shè)備。
設(shè)備
設(shè)備是用戶可控制的邏輯實(shí)體,如開(kāi)關(guān)、燈泡、恒溫器、溫度傳感器等。一個(gè)簡(jiǎn)單的節(jié)點(diǎn)通常只有一個(gè)設(shè)備。但是,ESP32 也可以有多個(gè)設(shè)備,例如在一塊板上安裝兩個(gè)開(kāi)關(guān),或者它可以充當(dāng)其他設(shè)備(例如BLE 傳感器)的橋接器。每個(gè)設(shè)備在節(jié)點(diǎn)中必須具有唯一的名稱,并且可以選擇具體的類型。
參數(shù)
這些是設(shè)備的控制和監(jiān)視參數(shù),用于用戶在APP或者服務(wù)器上進(jìn)行控制或者監(jiān)視。例如:開(kāi)/關(guān)電源狀態(tài)、亮度、電流/目標(biāo)溫度等所有這些參數(shù)在設(shè)備中都必須具有唯一的名稱。這些參數(shù)還可以具有其他字段,如值、類型、邊界、UI 信息等。參數(shù)值可以是布爾值、整數(shù)、浮點(diǎn)數(shù)或字符串。
獲取ESP RainMaker項(xiàng)目
使用以下方法下載RainMaker:
1、git clone https://github.com/espressi?f/esp-rainmaker.git
2、git clone https://github.com/espressif/esp-iot-bridge.git
第一個(gè)倉(cāng)庫(kù)為Rainmaker倉(cāng)庫(kù),配合ESP Rainmaker APP使用 。
第二個(gè)倉(cāng)庫(kù)集成了Rainmaker和lite mesh,本文示例使用該倉(cāng)庫(kù),使用樂(lè)鑫nova home app關(guān)于lite mesh的內(nèi)容請(qǐng)關(guān)注后續(xù)文章。
執(zhí)行以下命令以拉入子模塊:
git submodule update--init --recursive --progress
構(gòu)建和刷新固件
Rainmaker工程位于esp-iot-bridge倉(cāng)庫(kù)的examples/rainmaker目錄下,編譯以及燒錄基于ESP-IDF,本文基于IDF5.0。
如果您是第一次使用,建議先擦除閃存,然后再刷新固件。以下是步驟:
cd ~/esp-iot-bridge/examples/rainmaker/led_light/(進(jìn)入例程目錄)
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(燒錄并運(yùn)行)
代碼運(yùn)行成功后
Part.1
找到設(shè)備名稱
Part.2
打開(kāi)App添加你的第一個(gè)設(shè)備
Part.3
找到設(shè)備同意藍(lán)牙連接
Part.4
輸入WiFi賬號(hào)密碼進(jìn)行配網(wǎng)
左右滑動(dòng)查看圖集
Part.5
進(jìn)入在線調(diào)節(jié)參數(shù)頁(yè)面
基于ESP RainMaker的應(yīng)用程序的典型代碼如下
例程中Rainmaker節(jié)點(diǎn)、設(shè)備、屬性的初始化在app_rainmaker_start()函數(shù)中實(shí)現(xiàn),具體可以參考app_rainmaker.c文件,具體流程為
初始化ESP RainMaker節(jié)點(diǎn)esp_rmaker_node_init(),方法是向其傳遞配置 esp_rmaker_config_t()節(jié)點(diǎn)名稱和類型。
創(chuàng)建設(shè)備esp_rmaker_device_create()。RainMaker節(jié)點(diǎn)本身沒(méi)有特定的值,除非它下面有設(shè)備。
添加參數(shù)和其他元數(shù)據(jù)。
將設(shè)備添加到節(jié)點(diǎn)。
啟動(dòng)RainMaker代理esp_rmaker_start()。這將啟動(dòng)RainMaker核心任務(wù),該任務(wù)將等待Wifi,如果需要,通過(guò)MQTT連接到RainMaker Cloud,報(bào)告節(jié)點(diǎn)配置,報(bào)告參數(shù)值,然后等待命令。
啟動(dòng)無(wú)線網(wǎng)絡(luò) app_wifi_start()
以上是 ESP RainMaker 項(xiàng)目開(kāi)發(fā)的基本介紹。您無(wú)需在云后臺(tái)進(jìn)行任何配置或更改,就可以輕松添加自定義功能,擁有極大的靈活性與可擴(kuò)展性。
審核編輯:湯梓紅
-
APP
+關(guān)注
關(guān)注
33文章
1585瀏覽量
73823 -
ESP
+關(guān)注
關(guān)注
0文章
191瀏覽量
34698 -
樂(lè)鑫
+關(guān)注
關(guān)注
0文章
200瀏覽量
25892
原文標(biāo)題:ESP RainMaker 開(kāi)發(fā)介紹
文章出處:【微信號(hào):wireless-tag,微信公眾號(hào):?jiǎn)⒚髟贫丝萍肌繗g迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
燒錄ESP RainMaker中的例程時(shí),遇到這種版本問(wèn)題如何解決?
求助,關(guān)于ESP32s3 rainmaker的flash問(wèn)題求解
求助,關(guān)于esp-idf v5.1.1編譯下載esp-rainmaker的example的問(wèn)題求解
想在RainMaker的例程加上BLE本地控制,如何在沒(méi)有wifi的情況下也能控制設(shè)備?
ESP32-C3-DecKitM-1板子運(yùn)行esp-rainmaker的switch例程,cli provision失敗的原因?
使用ESP32制作ESP RainMaker IoT項(xiàng)目

帶有ESP RainMaker電話警報(bào)的智能液化石油氣探測(cè)器

使用ESP Rainmaker的WiFi控制網(wǎng)絡(luò)電源開(kāi)關(guān)

基于ESP32的智能LPG探測(cè)器
樂(lè)鑫ESP RainMaker一鍵部署AIoT

使用ESP RainMaker的Wi-Fi控制LCD屏幕

樂(lè)鑫 ESP RainMaker? 加速企業(yè)智能轉(zhuǎn)型,私有云方案助力客戶打造自有品牌

ESP RainMaker 開(kāi)發(fā)介紹

評(píng)論