女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

怎樣使用UbiDots連接ESP32并發(fā)布多個傳感器數(shù)據(jù)

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

掃碼添加小助手

加入工程師交流群

步驟1:硬件和軟件規(guī)范

ESP32 WiFi/BLE

無線溫濕度傳感器

軟件規(guī)格

Arduino IDE

第2步:創(chuàng)建俘虜門戶

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

DHCP IP地址-這是一種動態(tài)分配IP地址的方法到設(shè)備。 ESP的默認IP地址為192.168.4.1

靜態(tài)IP地址-為我們的網(wǎng)絡(luò)設(shè)備分配一個永久IP地址。為了向設(shè)備提供靜態(tài)IP,我們需要定義IP地址,網(wǎng)關(guān)地址和子網(wǎng)掩碼。

第一個網(wǎng)頁位于192.168.1.77。此處為用戶提供了單選按鈕,可以在DHCP和靜態(tài)IP設(shè)置之間進行選擇。在下一個網(wǎng)頁中,我們必須提供IP相關(guān)信息以繼續(xù)進行操作。

HTML代碼

可以在以下位置找到網(wǎng)頁的HTML代碼:

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

首先創(chuàng)建一個包含兩個單選按鈕的HTML網(wǎng)頁,以在DHCP和靜態(tài)之間進行選擇IP設(shè)置。

現(xiàn)在創(chuàng)建按鈕以提交您的回復(fù)

為單選按鈕命名。

ESP Web服務(wù)器類將使用這些名稱作為參數(shù),并使用這些參數(shù)獲取單選按鈕的響應(yīng)

現(xiàn)在插入“ SUBMIT”按鈕以將響應(yīng)發(fā)送到設(shè)備。網(wǎng)頁上,我們有文本框。

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

創(chuàng)建“ RESET” ‘按鈕以重置文本字段的內(nèi)容。

步驟3:提供Wi Fi和UbiDots憑據(jù)

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

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

該網(wǎng)頁托管于用戶從強制門戶中選擇的靜態(tài)IP或DHCP IP

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

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

這些憑據(jù)將保存在 ESP32 的EEPROM

60秒后,設(shè)備將自動與AP

下次打開設(shè)備時,用戶無需執(zhí)行此過程,設(shè)備將自動從EEPROM中獲取用戶憑據(jù)并繼續(xù)發(fā)布傳感器讀數(shù)到 UbiDots 。

步驟4:將傳感器讀數(shù)發(fā)布到UbiDots

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

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

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

我們已經(jīng)計劃了兩個任務(wù),它們涉及兩個不同的控制操作。

#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);

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

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

現(xiàn)在已啟用任務(wù)2并我們將禁用任務(wù)1

任務(wù)2用于將傳感器數(shù)據(jù)發(fā)布到 UbiDots MQTT 經(jīng)紀(jì)人,此任務(wù)將運行20秒,直到超時20秒

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

讀取I2C傳感器數(shù)據(jù)

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

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;

創(chuàng)建變量以存儲不同的傳感器數(shù)據(jù)并創(chuàng)建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];

將數(shù)據(jù)發(fā)布到所提到的 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()將數(shù)據(jù)發(fā)布到UbiDots。

步驟5:可視化數(shù)據(jù)

轉(zhuǎn)到Ubidots并登錄到您的帳戶。

從頂部列出的“數(shù)據(jù)”標(biāo)簽導(dǎo)航到儀表板。

現(xiàn)在單擊“ + ”圖標(biāo)以添加然后ew小部件。

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

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

責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2565

    文章

    52995

    瀏覽量

    767358
  • Ubidots
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    3951
  • ESP32
    +關(guān)注

    關(guān)注

    21

    文章

    1017

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

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

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

    ESP32運行網(wǎng)頁服務(wù) (Web-Server)-入門篇

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

    esp32如何接入豆包

    要在 ESP32 上接入豆包工具,本質(zhì)上是讓 ESP32 設(shè)備與豆包的 API 進行通信,以獲取相關(guān)服務(wù)
    的頭像 發(fā)表于 02-05 13:40 ?1966次閱讀
    <b class='flag-5'>esp32</b>如何接入豆包

    原來ESP32竟可《一“芯”兩用》既做人體檢測傳感器也做Wi-Fi數(shù)據(jù)傳輸

    今天將介紹ESP32如何"一芯兩用",既做人體檢測傳感器也做Wi-Fi數(shù)據(jù)傳輸模塊;對于使用ESP32做Wi-Fi數(shù)據(jù)通訊,相信玩
    的頭像 發(fā)表于 12-18 18:12 ?3923次閱讀
    原來<b class='flag-5'>ESP32</b>竟可《一“芯”兩用》既做人體檢測<b class='flag-5'>傳感器</b>也做Wi-Fi<b class='flag-5'>數(shù)據(jù)</b>傳輸

    ESP32-S3-WROOM-1/ESP32-S3-WROOM-1U技術(shù)規(guī)格書

    電子發(fā)燒友網(wǎng)站提供《ESP32-S3-WROOM-1/ESP32-S3-WROOM-1U技術(shù)規(guī)格書.pdf》資料免費下載
    發(fā)表于 12-07 15:30 ?11次下載

    【AI技術(shù)支持】ESP32-C3模組AT+MQTT連接AWS證書問題處理

    問題描述在使用ESP32-C3-WROOM-02模組作為無線通信模塊,使用AT-V3.3.0.0版本時,客戶想通過AT的方式配置MQTT證書,驗證服務(wù)可以連接,但AT連接失敗,這是為
    的頭像 發(fā)表于 11-30 01:01 ?1066次閱讀
    【AI技術(shù)支持】<b class='flag-5'>ESP32</b>-C3模組AT+MQTT<b class='flag-5'>連接</b>AWS證書問題處理

    【代碼分享】基于樂鑫ESP32的串口不定長數(shù)據(jù)接收方法

    【代碼分享】基于樂鑫ESP32的串口不定長數(shù)據(jù)接收方法
    的頭像 發(fā)表于 11-15 01:02 ?1450次閱讀
    【代碼分享】基于樂鑫<b class='flag-5'>ESP32</b>的串口不定長<b class='flag-5'>數(shù)據(jù)</b>接收方法

    ESP32 微控制系列指南

    2024-05-29 Don Wilcher [微控制] ESP32 微控制已成為物聯(lián)網(wǎng) (IoT) 和嵌入式控制領(lǐng)域的核心部分。 ESP32
    的頭像 發(fā)表于 10-02 18:21 ?5043次閱讀
    <b class='flag-5'>ESP32</b> 微控制<b class='flag-5'>器</b>系列指南

    將一個第15.4層堆棧傳感器連接多個網(wǎng)關(guān)

    電子發(fā)燒友網(wǎng)站提供《將一個第15.4層堆棧傳感器連接多個網(wǎng)關(guān).pdf》資料免費下載
    發(fā)表于 09-26 11:05 ?0次下載
    將一個第15.4層堆棧<b class='flag-5'>傳感器</b><b class='flag-5'>連接</b>到<b class='flag-5'>多個</b>網(wǎng)關(guān)

    esp32esp8266代碼共用嗎

    本文將介紹ESP32ESP8266兩款流行的微控制在代碼共用性方面的可能性與差異性。 一、引言 隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,越來越多的智能設(shè)備開始進入我們的生活。其中,ESP32
    的頭像 發(fā)表于 08-19 18:23 ?2342次閱讀

    esp8266和esp32區(qū)別是什么

    以下是關(guān)于ESP8266和ESP32的主要區(qū)別: 處理和架構(gòu) : ESP8266 :使用一個Tensilica L106 80MHz的處理
    的頭像 發(fā)表于 08-19 18:16 ?7334次閱讀

    esp32用什么軟件編程

    ESP32是一款由樂鑫(Espressif)推出的低功耗、高性能的Wi-Fi和藍牙雙模微控制,廣泛應(yīng)用于物聯(lián)網(wǎng)、智能家居、智能穿戴等領(lǐng)域。要對ESP32進行編程,需要選擇合適的編程軟件和開發(fā)環(huán)境
    的頭像 發(fā)表于 08-19 17:24 ?6958次閱讀

    如果有多個DAC輸出或多個共用電源和接地的傳感器,可以使用多個XTR器件嗎?

    我在具有多個輸出通道的 DAC 上連接多個傳感器。我是否能夠使用多個 XTR 器件為每個傳感器
    發(fā)表于 08-06 06:28

    如何將多個ESP連接到一個ESP并向服務(wù)發(fā)送數(shù)據(jù)

    。 該站模式 ESP 連接傳感器。所有這些站模式 esp 收集傳感器數(shù)據(jù)并將
    發(fā)表于 07-19 06:49

    ESP32-WROOM-32E、ESP32-WROOM-32D、ESP32-WROOM-32U 有什么區(qū)別?ESP32-WROOM-32 后綴字母代表的意思是?

    相信很多人心里都有這樣的疑問,今天就教大家怎么區(qū)分它們。 32D和32U是同一個芯片ESP32-D0WD的模組,主要區(qū)別的天線模式,分別是板載和IPEX外接天線。 32E是用的升級版的芯片
    的頭像 發(fā)表于 07-17 10:09 ?1.6w次閱讀
    <b class='flag-5'>ESP32</b>-WROOM-32E、<b class='flag-5'>ESP32</b>-WROOM-32D、<b class='flag-5'>ESP32</b>-WROOM-32U  有什么區(qū)別?<b class='flag-5'>ESP32</b>-WROOM-32 后綴字母代表的意思是?