国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

怎樣使用UbiDots連接ESP32并發布多個傳感器數據

454398 ? 來源:網絡整理 ? 作者:網絡整理 ? 2019-11-12 10:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

步驟1:硬件和軟件規范

ESP32 WiFi/BLE

無線溫濕度傳感器

軟件規格

Arduino IDE

第2步:創建俘虜門戶

強制門戶網站是一個網頁,向新連接的用戶顯示,然后才向他們授予對網絡資源的更廣泛訪問權限。在這里,我們提供三個網頁,供您在DHCP和靜態IP設置之間進行選擇。我們可以通過兩種方式為ESP定義IP地址。

DHCP IP地址-這是一種動態分配IP地址的方法到設備。 ESP的默認IP地址為192.168.4.1

靜態IP地址-為我們的網絡設備分配一個永久IP地址。為了向設備提供靜態IP,我們需要定義IP地址,網關地址和子網掩碼。

第一個網頁位于192.168.1.77。此處為用戶提供了單選按鈕,可以在DHCP和靜態IP設置之間進行選擇。在下一個網頁中,我們必須提供IP相關信息以繼續進行操作。

HTML代碼

可以在以下位置找到網頁的HTML代碼:

您可以使用任何IDE或文本編輯器(例如Sublime或notepad ++)來制作HTML網頁。

首先創建一個包含兩個單選按鈕的HTML網頁,以在DHCP和靜態之間進行選擇IP設置。

現在創建按鈕以提交您的回復

為單選按鈕命名。

ESP Web服務器類將使用這些名稱作為參數,并使用這些參數獲取單選按鈕的響應

現在插入“ SUBMIT”按鈕以將響應發送到設備。網頁上,我們有文本框。

在文本框中輸入名稱值和輸入類型,然后在“ SUBMIT”中添加提交按鈕以提交響應。

創建“ RESET” ‘按鈕以重置文本字段的內容。

步驟3:提供Wi Fi和UbiDots憑據

主要問題是在管理WiFi憑據時發生的。即使我們有WiFiMulti庫,也可以在其中向設備提供多個SSID和密碼,然后設備將連接到可用的網絡。但是,如果可用網絡不在WiFiMulti列表中,該怎么辦。始終刷新 ESP32 設備不是一個可靠的解決方案。

為解決此問題,我們托管了一個網頁,用戶可以在其中提交可用網絡的SSID和密碼。它的工作方式如下。

該網頁托管于用戶從強制門戶中選擇的靜態IP或DHCP IP

此網頁包含用于輸入SSID的文本字段,密碼和UBIDOTS令牌ID將設備連接到 UbiDots 。

在輸入字段中輸入本地WiFi的SSID和密碼,然后輸入 UbiDot 》的令牌ID并輸入SUBMIT

這些憑據將保存在 ESP32 的EEPROM

60秒后,設備將自動與AP

下次打開設備時,用戶無需執行此過程,設備將自動從EEPROM中獲取用戶憑據并繼續發布傳感器讀數到 UbiDots 。

步驟4:將傳感器讀數發布到UbiDots

此處我們正在將無線溫度和濕度傳感器與 ESP 32 設備一起使用,以獲取溫度和H亮度數據。我們正在使用 MQTT 協議將數據發送到UbiDots。 MQTT 遵循發布和訂閱機制,而不是請求和響應。它比HTTP更快,更可靠。這項工作如下。

我們正在使用任務計劃程序來計劃任務,例如從傳感器中獲取數據,發布傳感器讀數,訂閱 MQTT 主題。/li》

首先,包括Task Scheduler頭文件,它是實例并計劃任務。

我們已經計劃了兩個任務,它們涉及兩個不同的控制操作。

#define _TASK_TIMEOUT

#include

Scheduler ts;

//---------Tasks------------//

Task tSensor(4 * TASK_SECOND, TASK_FOREVER, &taskSensorCallback, &ts, false, NULL, &taskSensorDisable);

Task tWiFi(10* TASK_SECOND, TASK_FOREVER, &taskWiFiCallback, &ts, false, NULL, &taskWiFiDisable);

任務1用于讀取傳感器值,該任務運行1秒鐘,直到達到10秒超時。

當Task1超時時,我們正在連接到本地Wifi和 MQTT 代理。

現在已啟用任務2并我們將禁用任務1

任務2用于將傳感器數據發布到 UbiDots MQTT 經紀人,此任務將運行20秒,直到超時20秒

當Task2達到超時時,將再次啟用任務1,并禁用Task2。再次在這里,我們獲取更新的值,并且過程繼續進行。

讀取I2C傳感器數據

我們從無線溫度和濕度傳感器獲得29字節的幀。對該框架進行操作以獲取實際的溫度和濕度數據。

uint8_t data[29];

data[0] = Serial1.read();

delay(k);

//chck for start byte

if(data[0]==0x7E)

{

while (!Serial1.available());

for ( i = 1; i《 29; i++)

{

data[i] = Serial1.read();

delay(1);

}

if(data[15]==0x7F) /////// to check if the recive data is correct

{

if(data[22]==1) //////// make sure the sensor type is correct

{

humidity = ((((data[24]) * 256) + data[25]) /100.0);

humidity /=10.0;

cTempint = (((uint16_t)(data[26])《《8)| data[27]);

cTemp = (float)cTempint /100.0;

cTemp /= 10.0;

fTemp = cTemp * 1.8 + 32;

fTemp /= 10.0;

battery = random(100,327);

voltage = battery/100;

nodeId = data[16];}

連接到UbiDots MQTT API

包括用于 MQTT 流程的頭文件。

#include

為 MQTT 定義其他變量,例如客戶端名稱,代理地址,令牌ID(我們正在從EEPROM中獲取令牌ID)

#define MQTT_CLIENT_NAME “ClientVBShightime123”

char mqttBroker[] = “things.ubidots.com”;

char payload[100];

char topic[150];

//create variable to store token ID

String tokenId;

創建變量以存儲不同的傳感器數據并創建char變量以存儲主題

#define VARIABLE_LABEL_TEMPF “tempF” // Assing the variable label

#define VARIABLE_LABEL_TEMPC “tempC” // Assing the variable label

#define VARIABLE_LABEL_BAT “bat”

#define VARIABLE_LABEL_HUMID “humid” // Assing the variable label

char topic1[100];

char topic2[100];

char topic3[100];

將數據發布到所提到的 MQTT 主題,有效負載將類似于 {“ tempc”: {value:“ tempData”}}

sprintf(topic1, “%s”,“”);

sprintf(topic1, “%s%s”, “/v1.6/devices/”, DEVICE_LABEL);

sprintf(payload, “%s”, “”); // Cleans the payload

sprintf(payload, “{”%s“:”, VARIABLE_LABEL_TEMPC); // Adds the value

sprintf(payload, “%s{”value“:%s}”, payload, str_cTemp); // Adds the value

sprintf(payload, “%s}”, payload); // Closes the dictionary brackets

Serial.println(payload);

Serial.println(client.publish(topic1,payload) ? “published” : “notpublished”);

//Do same for other topic as well

client.publish()將數據發布到UbiDots。

步驟5:可視化數據

轉到Ubidots并登錄到您的帳戶。

從頂部列出的“數據”標簽導航到儀表板。

現在單擊“ + ”圖標以添加然后ew小部件。

從列表中選擇一個小部件,然后添加變量和設備。

可以使用不同的小部件在儀表板上顯示傳感器數據。

責任編輯:wv

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2576

    文章

    55041

    瀏覽量

    791342
  • Ubidots
    +關注

    關注

    0

    文章

    10

    瀏覽量

    4035
  • ESP32
    +關注

    關注

    26

    文章

    1195

    瀏覽量

    21708
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    樂鑫科技發布全新ESP32-H21超低功耗無線SoC

    的升級版本,ESP32-H21 集成片上 DC-DC 轉換,可進一步降低芯片在工作狀態下的電流消耗,從而顯著延長對功耗敏感物聯網產品的電池使用時間。
    的頭像 發表于 03-05 14:24 ?3784次閱讀

    基于ESP32的環境傳感器集線器開源項目介紹

    想監測家庭或辦公環境空氣質量,卻找不到合適的解決方案?要么傳感器功能單一,只測溫濕度忽略顆粒物、VOC;要么數據分散難整合,無法長期追蹤趨勢;要么缺乏專業可視化工具,數據看不懂、用不上;還有的不能擴展,想加
    的頭像 發表于 03-05 10:07 ?255次閱讀
    基于<b class='flag-5'>ESP32</b>的環境<b class='flag-5'>傳感器</b>集線器開源項目介紹

    ESP32開發板創建同步WebServer網頁服務

    ESP32 內置了 Wi-Fi 功能,能夠作為網頁服務(Web Server)向網絡中的其他設備提供服務。通過在 ESP32 上運行網頁服務,可以創建基于瀏覽
    的頭像 發表于 01-30 11:36 ?216次閱讀
    <b class='flag-5'>ESP32</b>開發板創建同步WebServer網頁服務<b class='flag-5'>器</b>

    無需安裝!在瀏覽里就能玩轉ESP32/ESP8266,這個神器絕了!

    無需安裝!在瀏覽里就能玩轉ESP32/ESP8266,這個神器絕了!【往期精選】十年嵌入式最深的痛,不是Bug,而是抓不到日志!vivo宣布原生支持HomeAssistant生態設備接入(含
    的頭像 發表于 01-10 10:01 ?855次閱讀
    無需安裝!在瀏覽<b class='flag-5'>器</b>里就能玩轉<b class='flag-5'>ESP32</b>/<b class='flag-5'>ESP</b>8266,這個神器絕了!

    ESP32 Wi-Fi 控制 LED 燈的原理

    控制LED燈的——從底層硬件連接,到網絡通信邏輯,一步步拆解整個過程。一、系統概覽ESP32是一顆集成度極高的芯片,內置Wi-Fi、藍牙、雙核MCU和豐富的外設接
    的頭像 發表于 01-09 19:04 ?299次閱讀
    <b class='flag-5'>ESP32</b> Wi-Fi 控制 LED 燈的原理

    ESP32藍牙驅動MAX98357對音頻音樂播放

    本文介紹了MAX98357音頻模塊的基本特性,并利用ESP32的藍牙功能程序驅動此模塊,最后用手機藍牙連接ESP32播放手機音樂
    的頭像 發表于 12-19 19:55 ?2652次閱讀
    <b class='flag-5'>ESP32</b>藍牙驅動MAX98357對音頻音樂播放

    ESP32-WROOM-32 技術規格書

    電子發燒友網站提供《ESP32-WROOM-32 技術規格書.pdf》資料免費下載
    發表于 11-11 17:27 ?0次下載

    樂鑫ESP32-C2小尺寸高性價比,物聯網應用的理想無線連接方案

    ESP-IDF開發框架和Matter協議,適用于智能家居、工業傳感器等場景,提供完整開發生態加速產品上市。該芯片在半導體緊缺背景下立項,為簡單物聯網設備提供高性價比無線連接方案。
    的頭像 發表于 11-04 10:30 ?398次閱讀
    樂鑫<b class='flag-5'>ESP32</b>-C2小尺寸高性價比,物聯網應用的理想無線<b class='flag-5'>連接</b>方案

    樂鑫ESP32-C6和ESP32-C61究竟該如何選擇?一文讀懂本質區別

    樂鑫科技推出的ESP32-C6和ESP32-C61均支持Wi-Fi6,但定位不同。ESP32-C6是多協議樞紐,集成Wi-Fi6、藍牙5、Zigbee和Thread,適合智能家居網關和Matter
    的頭像 發表于 10-28 14:17 ?2067次閱讀
    樂鑫<b class='flag-5'>ESP32</b>-C6和<b class='flag-5'>ESP32</b>-C61究竟該如何選擇?一文讀懂本質區別

    ESP32-運行網頁服務(Web Server)-實用篇

    在前一篇文章《ESP32-運行網頁服務(WebServer)-入門篇》,我們介紹了ESP32運行網頁服務(WebServer)的原理,然后我們基于
    的頭像 發表于 07-28 18:05 ?3653次閱讀
    <b class='flag-5'>ESP32</b>-運行網頁服務<b class='flag-5'>器</b>(Web Server)-實用篇

    ESP32內置電容觸摸傳感器的使用

    本文介紹了ESP32芯片內置的電容式觸摸傳感器能夠探測由手指或其他物品直接接觸或接近而產生的電容差異。利用此原理原理。把讀取到的觸摸值和一個設定閾值比較,可以實現更多的功能,比如觸摸燈,觸摸門禁等。
    的頭像 發表于 07-23 19:56 ?1329次閱讀
    <b class='flag-5'>ESP32</b>內置電容觸摸<b class='flag-5'>傳感器</b>的使用

    ESP32開發板元件資料

    ESP32開發板元件
    發表于 07-21 14:47 ?15次下載

    ESP32-P4—具備豐富IO連接、HMI和出色安全特性的高性能SoC

    和IO連接特性等方面提出的更高需求。 卓越性能: ESP32-P4搭載RISC-V雙核處理,主頻高達400MHz,支持單精度FPU和 AI擴展,可滿足所有必要的算力需求。它還集成了一個40MHz低功率
    的頭像 發表于 06-26 09:59 ?2071次閱讀
    <b class='flag-5'>ESP32</b>-P4—具備豐富IO<b class='flag-5'>連接</b>、HMI和出色安全特性的高性能SoC

    樂鑫ESP32-C5全面進入量產!啟明云端樂鑫科技代理商

    )和IEEE802.15.4(Zigbee,Thread)協議棧,為物聯網設備提供高性能無線連接解決方案。ESP32-C5性能展示ESP32-C5搭載RISC-V32位單
    的頭像 發表于 04-30 18:10 ?1261次閱讀
    樂鑫<b class='flag-5'>ESP32</b>-C5全面進入量產!啟明云端樂鑫科技代理商

    ESP32運行網頁服務 (Web-Server)-入門篇

    什么是ESP32WebServer?ESP32WebServer是在ESP32微控制上運行的一個嵌入式網頁服務。它能夠處理HTTP請求并
    的頭像 發表于 03-09 14:24 ?7571次閱讀
    <b class='flag-5'>ESP32</b>運行網頁服務<b class='flag-5'>器</b> (Web-Server)-入門篇