如果你一直關(guān)注樂鑫,應(yīng)該對 ESP RainMaker 及其豐富的功能有所了解。ESP RainMaker 重要特性之一是輕量化,它能充當(dāng)ESP 節(jié)點和移動端App、Alexa、GVA等客戶端之間的“隧道”,具備極大的靈活性和可擴展性。
ESP RainMaker 支持創(chuàng)建任何設(shè)備,開發(fā)多種設(shè)備功能,最終還能通過移動端App實現(xiàn)設(shè)備控制。
ESP-RainMaker項目用于實現(xiàn)“節(jié)點”,用戶登錄后可以使用客戶端(如手機應(yīng)用程序)進行對節(jié)點進行配置,然后通過ESPRainMakerCloud 進行控制。
節(jié)點
節(jié)點是基于 ESP32 的單個產(chǎn)品。它具有關(guān)聯(lián)的標(biāo)識符(node_id) 和聲明服務(wù)提供的一組憑據(jù),用于對節(jié)點進行合法驗證。用戶可以為節(jié)點指定好名稱。單個節(jié)點可以公開多個設(shè)備。
設(shè)備
設(shè)備是用戶可控制的邏輯實體,如開關(guān)、燈泡、恒溫器、溫度傳感器等。一個簡單的節(jié)點通常只有一個設(shè)備。但是,ESP32 也可以有多個設(shè)備,例如在一塊板上安裝兩個開關(guān),或者它可以充當(dāng)其他設(shè)備(例如BLE 傳感器)的橋接器。每個設(shè)備在節(jié)點中必須具有唯一的名稱,并且可以選擇具體的類型。
這些是設(shè)備的控制和監(jiān)視參數(shù),用于用戶在APP或者服務(wù)器上進行控制或者監(jiān)視。例如:開/關(guān)電源狀態(tài)、亮度、電流/目標(biāo)溫度等所有這些參數(shù)在設(shè)備中都必須具有唯一的名稱。這些參數(shù)還可以具有其他字段,如值、類型、邊界、UI 信息等。參數(shù)值可以是布爾值、整數(shù)、浮點數(shù)或字符串。
獲取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關(guān)于lite mesh的內(nèi)容請關(guān)注后續(xù)文章。
執(zhí)行以下命令以拉入子模塊:
git submodule update--init --recursive --progress
構(gòu)建和刷新固件
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
找到設(shè)備名稱
Part.2
打開App添加你的第一個設(shè)備
Part.3
找到設(shè)備同意藍(lán)牙連接
Part.4
輸入WiFi賬號密碼進行配網(wǎng)
左右滑動查看圖集
Part.5
進入在線調(diào)節(jié)參數(shù)頁面
基于ESP RainMaker的應(yīng)用程序的典型代碼如下
例程中Rainmaker節(jié)點、設(shè)備、屬性的初始化在app_rainmaker_start()函數(shù)中實現(xiàn),具體可以參考app_rainmaker.c文件,具體流程為
初始化ESP RainMaker節(jié)點esp_rmaker_node_init(),方法是向其傳遞配置 esp_rmaker_config_t()節(jié)點名稱和類型。
創(chuàng)建設(shè)備esp_rmaker_device_create()。RainMaker節(jié)點本身沒有特定的值,除非它下面有設(shè)備。
添加參數(shù)和其他元數(shù)據(jù)。
將設(shè)備添加到節(jié)點。
啟動RainMaker代理esp_rmaker_start()。這將啟動RainMaker核心任務(wù),該任務(wù)將等待Wifi,如果需要,通過MQTT連接到RainMaker Cloud,報告節(jié)點配置,報告參數(shù)值,然后等待命令。
啟動無線網(wǎng)絡(luò) app_wifi_start()
以上是 ESP RainMaker 項目開發(fā)的基本介紹。您無需在云后臺進行任何配置或更改,就可以輕松添加自定義功能,擁有極大的靈活性與可擴展性。
審核編輯:湯梓紅
-
APP
+關(guān)注
關(guān)注
33文章
1574瀏覽量
72490 -
ESP
+關(guān)注
關(guān)注
0文章
183瀏覽量
33954 -
樂鑫
+關(guān)注
關(guān)注
0文章
191瀏覽量
25443
原文標(biāo)題:ESP RainMaker 開發(fā)介紹
文章出處:【微信號:wireless-tag,微信公眾號:啟明云端科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論