通過NodeMCU向ubidot發(fā)送BMP傳感器數(shù)據(jù)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
在過去幾年中,出現(xiàn)了許多物聯(lián)網(wǎng)云平臺(tái),以滿足不斷增長(zhǎng)的物聯(lián)網(wǎng)設(shè)備網(wǎng)絡(luò)。這些物聯(lián)網(wǎng)云平臺(tái)可以用來管理、處理和傳輸信息,從物聯(lián)網(wǎng)設(shè)備到云,或者借助互聯(lián)網(wǎng)從云到連接的設(shè)備。除了傳輸信息外,這些平臺(tái)還可以用于控制設(shè)備,例如家庭自動(dòng)化系統(tǒng)。
我們已經(jīng)使用了一些流行的物聯(lián)網(wǎng)平臺(tái),如ThingSpeak, Adafruit IO, Blynk, b谷歌Firebase等來構(gòu)建許多物聯(lián)網(wǎng)項(xiàng)目。
今天我們將探討另一個(gè)物聯(lián)網(wǎng)云平臺(tái)——Ubidots。在這里,我們將NodeMCU ESP8266與Ubidots物聯(lián)網(wǎng)云連接起來,從BMP180傳感器發(fā)送溫度、壓力和海拔數(shù)據(jù)。上傳的數(shù)據(jù)也可以在Ubidots儀表板上通過Widgets的幫助進(jìn)行可視化。
組件的要求
?NodeMCU ESP8266
?BMP180傳感器
?跳線
Ubidots NodeMCU電路圖
Ubidots NodeMCU的電路圖非常簡(jiǎn)單,只有BMP180傳感器與NodeMCU相連。
將BMP180的VIN和GND引腳連接到NodeMCU的3.3V和GND。請(qǐng)勿將傳感器直接連接到5V,否則會(huì)永久損壞傳感器。將BMP180的SCL和SDA引腳分別連接到NodeMCU的D1和D2引腳。
BMP180壓力傳感器
BMP180是一款與Arduino兼容的數(shù)字氣壓傳感器模塊,主要用于使用數(shù)字氣壓計(jì)測(cè)量絕對(duì)壓力,溫度。它的測(cè)量范圍為300至1100hPa,在高級(jí)分辨率模式下精度可達(dá)0.02 hPa。它基于壓阻技術(shù),具有高效率,堅(jiān)固性和長(zhǎng)期穩(wěn)定性。BMP180是一個(gè)非常小的模塊,尺寸為1毫米x 1.1毫米(0.039英寸x 0.043英寸)。
BMP傳感器通過I2C協(xié)議工作。BMP180的輸入電壓范圍為1.8V ~ 3.6V。
我們以前使用BMP180傳感器與樹莓派和ESP32建立氣象站。
Ubidots帳戶設(shè)置
Ubidots成立于2012年,最初是一家工程服務(wù)公司,它與其合作伙伴和聯(lián)合創(chuàng)始公司Netux一起提供端到端物聯(lián)網(wǎng)解決方案,為醫(yī)療保健客戶遠(yuǎn)程監(jiān)控、控制和自動(dòng)化流程。
現(xiàn)在,Ubidots已經(jīng)成為一個(gè)價(jià)格合理、可靠、最實(shí)用的平臺(tái),用于在硬件、軟件和嵌入式工程行業(yè)中構(gòu)建物聯(lián)網(wǎng)應(yīng)用生態(tài)系統(tǒng)。
在本教程中,我們將通過HTTP協(xié)議向Ubidots發(fā)送BMP傳感器數(shù)據(jù)。要發(fā)送數(shù)據(jù),首先在Ubidots上創(chuàng)建一個(gè)帳戶。完成帳戶設(shè)置后,單擊user下拉菜單并單擊API documentation。記下您的默認(rèn)令牌,因?yàn)樯院髮⑿枰?
為ubidot編寫NodeMCU
向Ubidots發(fā)送數(shù)據(jù)程序非常簡(jiǎn)單,因?yàn)樗恍枰x取BMP傳感器數(shù)據(jù)并通過HTTP協(xié)議將其發(fā)送到Ubidots。
本頁末尾給出了完整的代碼。這里我們將解釋代碼的重要部分。
因此,從包含所有必需的庫開始編寫代碼。Adafruit_BMP085.h庫用于讀取BMP傳感器數(shù)據(jù),Ubidots.h庫用于通過HTTP協(xié)議向Ubidots平臺(tái)發(fā)送數(shù)據(jù)。
然后,輸入令牌和Wi-Fi憑據(jù),在NodeMCU和Ubidots之間建立連接。
在void setup()函數(shù)中,使用.begin()函數(shù)初始化波特率和BMP180,然后將模塊與Wi-Fi連接。
現(xiàn)在在void循環(huán)中,從BMP180傳感器讀取溫度、壓力和海拔高度值,并將這些值存儲(chǔ)在不同的變量中。之后,將這些讀數(shù)發(fā)送到Ubidots平臺(tái)。
用NodeMCU測(cè)試ubidot的BMP180傳感器讀數(shù)
一旦代碼和硬件準(zhǔn)備就緒,將NodeMCU連接到筆記本電腦并上傳代碼?,F(xiàn)在打開串行監(jiān)視器,檢查NodeMCU是否正在讀取數(shù)據(jù)。
之后,導(dǎo)航到瀏覽器,打開Ubidots Dashboard,點(diǎn)擊“Create Widget”按鈕,向下滾動(dòng),選擇“溫度計(jì)”Widget。
現(xiàn)在點(diǎn)擊“添加變量”來選擇設(shè)備和變量。
現(xiàn)在選擇設(shè)備。一旦你點(diǎn)擊設(shè)備,你會(huì)看到三個(gè)變量,即壓力,高度和溫度。選擇溫度變量。
然后單擊Finish。對(duì)Pressure和Altitude變量重復(fù)相同的過程,但不是選擇溫度計(jì)小部件,而是選擇‘ Gauge ’小部件。
完成這個(gè)過程后,你的儀表板看起來像這樣:
這就是NodeMCU可以輕松連接到Ubidots的方式,以便在儀表板上以圖形方式顯示任何傳感器值。它可以從世界上任何地方通過互聯(lián)網(wǎng)進(jìn)行監(jiān)控。
本文編譯自iotdesignpro