在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

    關注

    2552

    文章

    51247

    瀏覽量

    754925
  • Ubidots
    +關注

    關注

    0

    文章

    10

    瀏覽量

    3866
  • ESP32
    +關注

    關注

    18

    文章

    971

    瀏覽量

    17383
收藏 人收藏

    評論

    相關推薦

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

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

    esp32esp8266代碼共用嗎

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

    esp8266和esp32區別是什么

    以下是關于ESP8266和ESP32的主要區別: 處理和架構 : ESP8266 :使用一個Tensilica L106 80MHz的處理
    的頭像 發表于 08-19 18:16 ?5627次閱讀

    esp32用什么軟件編程

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

    如何將多個ESP連接到一個ESP并向服務發送數據

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

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

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

    mq-2傳感器esp32cam wifi有沖突怎么解決?

    一、只要esp32cam 開啟wifi功能,mq-2傳感器一直返回4095,去掉mq-2傳感器,也是一直返回4095。 二、代碼中去掉wifi功能,返回為動態變化的值。 三、排除了傳感器
    發表于 07-02 07:56

    使用ESP32-C3的藍牙進行傳感器數據上傳,ESP-NOW協議的功耗能滿足需求嗎?

    1.使用ESP32-C3的藍牙進行傳感器數據上傳,期望使用紐扣電池供電,ESP-NOW協議的功耗能滿足需求嗎 2.使用ESP-now協議的設
    發表于 07-01 07:22

    esp32作為藍牙主設備時最多可以同時連接多少個從設備來收發數據

    目前我在做一款應用,需要將藍牙作為主設備,然后去連接多個傳感器去實時的獲取數據,我想了解下esp32作為藍牙主設備時最多可以同時
    發表于 06-13 08:18

    使用激光測距傳感器esp32進行can通信,為什么esp32只能接收到6組數據

    目前,我使用激光測距傳感器esp32進行can通信,esp32發送一條讀指令給傳感器傳感器返回16組距離數值,128個字節。can卡能接
    發表于 06-12 08:20

    請問esp32能支持多個客戶端同時連接嗎?

    根據我現在的測試結果,esp32作為ble server時同時支持一個客戶端連接,前一個客戶端必須斷開藍牙連接,后一個才能連接。實際esp32
    發表于 06-11 06:25

    請問esp32之間的藍牙連接esp32與手機的藍牙連接有什么區別?

    請問esp32之間的藍牙連接esp32與手機的藍牙連接有什么區別?為什么我測試的多個藍牙例程中esp3
    發表于 06-06 08:15

    esp32在AP模式時,怎樣指定Client的IP地址范圍和連接數量?

    如題esp32在AP模式時,怎樣指定Client的IP地址范圍和連接數量?
    發表于 06-06 07:44

    樂鑫科技發布全新ESP32-H4 SoC

    樂鑫信息科技最新發布ESP32-H4,這一創新產品是對其ESP32-H2系列的完美補充,進一步鞏固了公司在802.15.4和Bluetooth LE領域的產品布局。ESP32-H4作
    的頭像 發表于 05-06 15:18 ?1070次閱讀

    ESP32-C2在小魔方遙控的應用

    我們經常提起的ESP32-C3和ESP32-S3,ESP32-C2感覺話題度沒有那么多,但其應用上不可小覷。今天小啟就跟大家講講ESP32-C2在小魔方遙控
    的頭像 發表于 01-13 08:03 ?864次閱讀
    <b class='flag-5'>ESP32</b>-C2在小魔方遙控<b class='flag-5'>器</b>的應用
    主站蜘蛛池模板: 亚洲三级黄色| 日本免费黄视频| 欧洲精品码一区二区三区免费看 | 日本国产中文字幕| 一区精品视频| va国产| 3344在线| 真爽~张开腿~让我插| 男男互攻h啪肉np文厉世| 欧美骚| 涩狠狠狠狠色| 伊人久久大香线蕉综合7| 天天色天天射综合网| 欧色美| 国产精品久久久久久久久kt| 免费一级欧美在线观看视频片| 玖玖玖精品视频免费播放| 国产欧美综合在线| 黄色片链接| 美女视频很黄很a免费国产| 狠狠狠色丁香婷婷综合久久五月 | 日本免费视频| 亚洲丰满熟妇毛片在线播放| 在线一级毛片| 色综合激情网| 狠狠躁夜夜躁人人爽天天天天 | 女人18毛片水多| 欧美三级视频| 欧美一级日韩在线观看| 国产欧美在线一区二区三区| 午夜国产福利在线| 亚洲爽视频| 国产午夜免费视频片夜色| 深夜福利一区| 四虎网址大全| 国产午夜精品不卡片| 国产精品日韩欧美亚洲另类| 天天操天天干天天舔| 看片在线| 在线视频免费播放| 欧美国产精品主播一区|