如何連接ESP32與IBM沃森云平臺
根據(jù)一份報告,到2020年,全球?qū)⒂谐^204億個聯(lián)網(wǎng)設(shè)備。物聯(lián)網(wǎng)平臺是互聯(lián)設(shè)備增長的主要推動者。為了將設(shè)備連接到互聯(lián)網(wǎng),它們提供許多集成服務(wù)和基礎(chǔ)設(shè)施,如數(shù)據(jù)存儲、連接、顯示、控制等。因此,它們減少了部署物聯(lián)網(wǎng)解決方案所需的工作量和投資,這是一些最成功的物聯(lián)網(wǎng)解決方案背后的主要原因之一。
我們已經(jīng)熟悉了一些流行的物聯(lián)網(wǎng)平臺,如ThingSpeak, Adafruit IO, Blynk等,并已經(jīng)使用這些平臺構(gòu)建了許多物聯(lián)網(wǎng)項目。但除了這些平臺之外,還有一些工業(yè)級物聯(lián)網(wǎng)平臺,如亞馬遜網(wǎng)絡(luò)服務(wù)、微軟Azure和IBM沃森,它們經(jīng)常被大型行業(yè)用于存儲和分析從物聯(lián)網(wǎng)設(shè)備收集的數(shù)據(jù)。這些平臺更安全,并提供許多有用的服務(wù),從獲取數(shù)據(jù)到使用機器學(xué)習(xí)算法進(jìn)行分析。
在本教程中,我們將學(xué)習(xí)IBM Watson平臺,它是在安全性和兼容性方面最好的物聯(lián)網(wǎng)平臺之一。IBM Watson或Bluemix是一個云平臺,支持許多產(chǎn)品和服務(wù),如計算基礎(chǔ)設(shè)施和服務(wù)、物聯(lián)網(wǎng)、數(shù)據(jù)分析、移動應(yīng)用服務(wù)、存儲等。該平臺兼容MQTT協(xié)議、HTTP和REST api。對于初學(xué)者來說,可能很難使用這個平臺。
在本教程中,我們將設(shè)置IBM Watson帳戶,并使用ESP32模塊將DHT11溫度和濕度數(shù)據(jù)發(fā)送給它。我們還將借助圖形將這些數(shù)據(jù)可視化。以前我們使用ESP32來構(gòu)建許多基于物聯(lián)網(wǎng)的應(yīng)用程序,如果您是ESP32新手,請開始使用ESP32教程。
所需的材料
?ESP32董事會
?DHT11溫濕度傳感器
?公母線
線路圖
硬件只涉及ESP32和DHT11傳感器。DHT11信號引腳接D4, DHT11的Vdd和GND引腳分別接ESP32的3.3v和GND引腳。
我們之前將DHT11傳感器數(shù)據(jù)發(fā)送到許多其他物聯(lián)網(wǎng)云以建立氣象站
?基于物聯(lián)網(wǎng)的溫濕度監(jiān)測使用BLYNK, ESP8266和DHT11傳感器
?基于物聯(lián)網(wǎng)的樹莓派氣象站,使用DHT11和BMP180傳感器
?使用樹莓派和辣椒進(jìn)行云上溫度和濕度監(jiān)測
?Arduino接口與Node-RED監(jiān)測網(wǎng)頁上的溫度和濕度
?物聯(lián)網(wǎng)無線氣象站使用Arduino, ESP8266和ThingSpeak
IBM沃森物聯(lián)網(wǎng)平臺的設(shè)置帳戶
要在IBM Watson平臺上創(chuàng)建帳戶,請轉(zhuǎn)到IBM云頁面并單擊創(chuàng)建IBM帳戶。輸入您的詳細(xì)信息并單擊創(chuàng)建帳戶,如下所示。
2. 要在IBM平臺上使用任何服務(wù),我們必須為它創(chuàng)建資源。因此,使用您的憑據(jù)登錄(請注意,IBMid是您用于創(chuàng)建帳戶的電子郵件id),您將被重定向到IBM云網(wǎng)站?,F(xiàn)在,單擊Create Resource。
3. IBM Cloud提供了許多服務(wù),所有這些服務(wù)都可以在參考資料列表中看到。因為我們想要使用物聯(lián)網(wǎng)服務(wù)。點擊物聯(lián)網(wǎng),點擊物聯(lián)網(wǎng)平臺。
4. 下一頁上有一些預(yù)先填寫的信息,保留這些信息,然后單擊Create。
5. 現(xiàn)在我們已經(jīng)準(zhǔn)備好了物聯(lián)網(wǎng)資源。通過單擊Launch啟動創(chuàng)建的資源。
6. 現(xiàn)在,您將被重定向到物聯(lián)網(wǎng)頁面。在這里,添加您的設(shè)備以將其連接到物聯(lián)網(wǎng)平臺。單擊Add device。
7. 在下一頁填寫設(shè)備詳細(xì)信息。在設(shè)備類型中給出名稱,設(shè)備ID將是該設(shè)備的MAC地址。您可以使用下面的代碼找到ESP32的MAC地址
MAC地址將打印在串行監(jiān)視器上,復(fù)制該數(shù)字并粘貼在設(shè)備ID中。單擊Next。
8. 下一頁,有一些與設(shè)備相關(guān)的信息。保留這些信息,然后單擊下一步。Security部分也一樣,保留它不填充,然后單擊next,如圖所示。
9. 在最后一頁作為Summary,單擊Finish。
10. 現(xiàn)在,我們已經(jīng)成功創(chuàng)建了設(shè)備,設(shè)備憑據(jù)將顯示在下一頁上。復(fù)制所有憑證并將其保存在某個地方。代碼中將需要它們。
11. 單擊Devices,您將看到ESP32已成功創(chuàng)建,但未連接?,F(xiàn)在,我們將通過編寫代碼將ESP32與該平臺連接起來。
12. 要以圖形格式顯示溫度和濕度,請通過進(jìn)入設(shè)備并單擊使用概況板創(chuàng)建模板。
13. 現(xiàn)在,單擊Add New Card。在這里,您將找到要顯示的不同類型的圖形。我們將使用折線圖,所以繼續(xù)點擊折線圖。
14. 選擇我們之前創(chuàng)建的設(shè)備并單擊Next。在下一頁點擊連接新數(shù)據(jù)集。
15. 現(xiàn)在,輸入要顯示在圖上的數(shù)據(jù)。我們將在status1事件上發(fā)送溫度值(代碼中提到了status1變量)。將屬性和名稱設(shè)置為溫度,類型設(shè)置為數(shù)字,單位設(shè)置為攝氏度,然后單擊Next。
16. 選擇圖形大小,點擊下一步,然后在下一頁選擇圖形顏色,點擊提交。
17. 現(xiàn)在,您將看到如下所示的圖表。重復(fù)以上步驟制作另一個濕度圖,并將事件設(shè)為status2,屬性和名稱設(shè)為濕度,值設(shè)為Number,單位設(shè)為%。
18. 實現(xiàn)IBM云和ESP32之間的通信。轉(zhuǎn)到安全選項并單擊連接安全。
19. 在默認(rèn)規(guī)則下,選擇安全級別為TLS可選,然后單擊保存。
就是這樣。我們已經(jīng)成功地為ESP32建立了IBM沃森物聯(lián)網(wǎng)平臺?,F(xiàn)在,我們需要編寫將溫度和濕度值發(fā)送到該平臺的代碼。
代碼與說明
在繼續(xù)之前,請確保您已經(jīng)安裝了ESP32板文件,如果您沒有板文件,請按照我們之前關(guān)于ESP32的教程了解如何安裝板文件。
現(xiàn)在,為DHT傳感器和PubSub客戶機安裝庫。去sketch ->包括庫->管理庫。然后搜索DHT和PubSubClient庫,然后安裝它。
在這里我們解釋了完整的程序,以了解項目的工作原理。
首先,包括Wi-Fi、PubSubClient和DHT的庫。因為我們使用MQTT協(xié)議來發(fā)送和接收消息,所以我們需要PubSubClient。該庫使用MQTT協(xié)議訂閱和發(fā)布數(shù)據(jù)。
定義dhtpin和DHT傳感器類型的一些變量。此外,我們需要定義在Watson平臺上添加設(shè)備時復(fù)制的所有憑據(jù),如下所示。
在字符變量中添加Wi-Fi憑據(jù)作為SSID和密碼。
現(xiàn)在,提供我們將發(fā)布數(shù)據(jù)的鏈接。此外,提供我們將發(fā)布數(shù)據(jù)的主題。我們有2個主題,一個是溫度,另一個是濕度,分別命名為status1和status2。給出驗證方法為“use-token-auth”,然后定義clientID,如下所示。
在void Setup函數(shù)中,使用.begin()函數(shù)初始化串行監(jiān)視器,DHT傳感器和Wi-Fi。然后將模塊與Wi-Fi連接。建立連接后,使用給定的憑據(jù)將模塊連接到IBM Watson平臺。
在void loop函數(shù)中,從DHT傳感器獲取溫度和濕度數(shù)據(jù)并存儲在兩個不同的變量中。然后將此有效負(fù)載作為字符串發(fā)送。我們需要創(chuàng)建兩個字符串,一個用于溫度,另一個用于濕度,每秒鐘發(fā)送一次數(shù)據(jù)。
類似地,為濕度創(chuàng)建一個字符串。
現(xiàn)在我們已經(jīng)完成了編碼部分。您可以在本教程的末尾找到完整的代碼和演示視頻。
從ESP32上傳數(shù)據(jù)到IBM沃森物聯(lián)網(wǎng)云
最后根據(jù)接線圖將DHT傳感器與數(shù)字引腳4連接,并在工具菜單中選擇ESP32 Dev模塊上傳代碼。
檢查IBM Watson上傳的數(shù)據(jù)
現(xiàn)在,是時候檢查IBM Watson平臺上上傳的數(shù)據(jù)了。一旦您的模塊與Wi-Fi連接,您將看到IBM Watson平臺上的連接狀態(tài),如下所示。
1. 轉(zhuǎn)到Boards并單擊Usage Overview選項。
2. 這里創(chuàng)建了兩個圖表,用于查看每秒鐘更新的溫度和濕度值,如下所示。
3. 通過在儀表板中選擇適當(dāng)?shù)倪x項,可以看到不同格式的值,如圖表形式或儀表。
IBM Watson平臺還有許多其他特性需要探索。這就是ESP32如何將數(shù)據(jù)發(fā)送到IBM沃森云平臺
本文編譯自iotdesignpro