2016-2022 All Rights Reserved.平安財(cái)經(jīng)網(wǎng).復(fù)制必究 聯(lián)系QQ280 715 8082 備案號(hào):閩ICP備19027007號(hào)-6
本站除標(biāo)明“本站原創(chuàng)”外所有信息均轉(zhuǎn)載自互聯(lián)網(wǎng) 版權(quán)歸原作者所有。
大家好,小科來(lái)為大家解答以上問(wèn)題。利用Arduino Nano 33 IoT構(gòu)建的微型互聯(lián)網(wǎng)氣象站這個(gè)很多人還不知道,現(xiàn)在讓我們一起來(lái)看看吧!
1、這個(gè)項(xiàng)目是一個(gè)簡(jiǎn)單的氣象站,很容易建立,可以通過(guò)WiFi和Blynk連接到你的智能手機(jī)。
2、背景
3、實(shí)際上,有許多應(yīng)用程序可以讓您將智能手機(jī)連接到物聯(lián)網(wǎng)。在此期間,我嘗試了許多,但結(jié)果通常令我失望。
4、但是Blynk不是這樣的!它非常靈活,具有漂亮的用戶界面,適用于各種物聯(lián)網(wǎng)平臺(tái),可以在Android和iPhone上運(yùn)行。
5、粉絲也可以免費(fèi)使用!所以這是一個(gè)比較簡(jiǎn)單的物聯(lián)網(wǎng)項(xiàng)目,可以讓我和Blynk一起探索。
6、五金器具
7、這個(gè)項(xiàng)目的硬件相當(dāng)簡(jiǎn)單。
8、我們使用ArduinoNano33IoT,一種將溫度、濕度和氣壓集成在一個(gè)單元中的BME280傳感器板,以及一個(gè)1英寸的有機(jī)發(fā)光二極管顯示器。
9、三個(gè)元件在3.3V電壓下都能正常工作。
10、Display是可選的——目標(biāo)是讓氣象站顯示在你的手機(jī)上。
11、然而,在處理Blynk和你的智能手機(jī)之前,我們必須首先在有機(jī)發(fā)光二極管顯示器上啟動(dòng)和運(yùn)行一切。
12、下圖顯示了硬件是如何互連的。
13、傳感器和顯示接口采用I2C。
14、理論上,一個(gè)I2C可以支持多個(gè)設(shè)備,但傳感器和監(jiān)視器的庫(kù)之間存在一些沖突,所以我最終得到了兩個(gè)不同的I2C端口。
15、在傳感器的模擬引腳4和5處使用正常的默認(rèn)I2C端口。
16、顯示器使用設(shè)置在數(shù)字引腳4和5的輔助I2C端口。
17、(是的,它們是相反的-SDA是數(shù)字引腳5))
18、硬件被包裝在一個(gè)小塑料盒里,正面是透明的,這樣我們可以查看內(nèi)容,同時(shí)。
19、它需要相對(duì)不受天氣影響,并且傳感器通過(guò)底部1/2”孔暴露于外部天氣,以便連接傳感器,使其位于孔中。
20、我把所有東西都放在外殼里面的膠水里,但是如果你打算在炎熱的夏天放在外面,你可能也想用環(huán)氧樹(shù)脂來(lái)代替。
21、本項(xiàng)目采用USB線供電。
22、它由一根開(kāi)箱即用的電纜編程或供電。
23、該電纜可以在編程時(shí)連接到您的計(jì)算機(jī),或者在用作氣象站時(shí)連接到插入式USB電源。
24、軟件
25、運(yùn)行在Arduino上的軟件不僅僅是傳感器、監(jiān)視器和Blynk庫(kù)示例的混搭。
26、涉及的庫(kù)有傳感器的Adafruit_BME280_Library,顯示器的ss_oled庫(kù),Brynk的Brynk庫(kù)。
27、這三個(gè)都可以直接從Arduino的圖書(shū)館管理器下載。
28、Blynk有許多關(guān)于如何配置硬件與其交互的例子:https://examples.brynk.cc/but它沒(méi)有將Nano33IoT列為其支持的Arduino之一。
29、但Blynk確實(shí)支持WiFiNINA,Nano33IoT和其他幾款A(yù)rduino處理器都使用wifi Nina。
30、所以添加這兩個(gè)包含就解決了這個(gè)問(wèn)題:#include 《WiFiNINA.h》和# include "blynksimplemewinina.h。
31、您將在我的代碼中看到的另一個(gè)附加內(nèi)容是:#include 《avr/dtostrf.h》這是將傳感器輸出的數(shù)字轉(zhuǎn)換成適合在有機(jī)發(fā)光二極管顯示器上顯示的字符串所必需的。
32、起初,我將相同的字符串發(fā)送給Blynk,就像我發(fā)送給有機(jī)發(fā)光二極管一樣。
33、這可以很好地顯示數(shù)字,但當(dāng)我添加圖表時(shí),它完全失敗了。
34、為了讓圖表起作用,Blynk顯然需要實(shí)際的數(shù)字。
35、注-大氣壓力通常是根據(jù)海平面修正后報(bào)告的。
36、在更高的海拔高度,大氣壓力會(huì)顯著下降,因此,要將傳感器的值校正為海平面上的等效讀數(shù),您必須在海拔每1000英尺的測(cè)量值上添加大約1英寸汞柱的值。
37、在我自己的附加代碼中,你會(huì)看到我添加了1.3來(lái)補(bǔ)償我自己海拔1300英尺的高度。
38、您需要更改該值以匹配您自己的身高。
39、每1000英尺1英寸汞柱只是一個(gè)粗略的估計(jì)。
40、如果你想要一個(gè)精確的修正,網(wǎng)上有表格可以為你提供精確的海拔修正。
此時(shí),您可以設(shè)置硬件,并使用我的附加軟件在OLED顯示屏上顯示天氣數(shù)據(jù)。
42、只需在Setup中注釋掉Blynk.begin()行,即可讓氣象站自行運(yùn)行。
43、(如果您不注釋掉Blink.begin(),沒(méi)有與Blynk的有效連接,則草圖將停止或掛起。
44、)在
Blynk
Blynk很容易安裝在你的iPhone或Android上,并附帶詳細(xì)的文檔:http://docs.blynk.cc/但是那里有太多的信息和太多的選項(xiàng),一開(kāi)始我發(fā)現(xiàn)文檔有點(diǎn)混亂,所以我會(huì)在這里提供我自己的如何開(kāi)始使用Blynk的版本。
我在iPhone上使用了Blynk,但我認(rèn)為與Android的使用情況非常相似,您可以按照我的說(shuō)明使用其中任意一個(gè)。
在擁有應(yīng)用程序后,您需要?jiǎng)?chuàng)建一個(gè)帳戶。
49、從那里,在應(yīng)用程序中,您創(chuàng)建一個(gè)新項(xiàng)目。
50、您的項(xiàng)目提供了一個(gè)身份驗(yàn)證代碼,用于將您的硬件與您的項(xiàng)目鏈接。
51、你需要做的第一項(xiàng)工作是通過(guò)WiFi將您的硬件連接到您的Blynk項(xiàng)目。
52、您可以使用示例.blynk.cc上名為BlynkBlink的Blynk默認(rèn)草圖/程序來(lái)完成此操作并進(jìn)行測(cè)試,它允許您打開(kāi)和關(guān)閉Nano33IoT上的板載LED。
但我的建議是,在嘗試讓氣象站與Blynk合作之前,先嘗試一下并讓它工作。
我們已經(jīng)討論了一些關(guān)于配置我們的軟件以使我們的Nano33IoT與Blynk一起工作的內(nèi)容。
55、如果您打開(kāi)examples.blynk.cc,它默認(rèn)為ESP8266板。
56、找到#include《ESP8266WiFi.h》和#include《BlynkSimpleEsp8266.h》并將它們替換為#include《WiFiNINA.h》和#include《BlynkSimpleWiFiNINA.h用于我們的Nano33IoT板。
除了為Nano33IoT添加WiFiNINA支持外,正如我們已經(jīng)討論過(guò)的,您需要添加WiFi憑據(jù)和Blynk項(xiàng)目的身份驗(yàn)證代碼。
首先,檢查連接。
59、正確配置并運(yùn)行BlynkBlink草圖后,打開(kāi)Arduino的串行監(jiān)視器,您應(yīng)該能夠看到與Blynk云服務(wù)器的連接。
60、此時(shí),我們可以擱置硬件,在手機(jī)上使用Blynk應(yīng)用程序。
我發(fā)現(xiàn)Blynk應(yīng)用程序的界面有些混亂:
左上角的圖標(biāo)允許您在項(xiàng)目之間進(jìn)行選擇,也可以注銷您的帳戶;
右上角允許您進(jìn)入和退出編輯項(xiàng)目模式。
64、中間那個(gè)做什么取決于你在哪里。
要控制我們的板載LED,我們需要在應(yīng)用程序中進(jìn)入編輯模式。
67、然后您將看到一個(gè)空白屏幕。
68、如果您向左滑動(dòng),它將移到一邊以顯示小部件工具箱。
69、通過(guò)單擊選擇一個(gè)按鈕,它現(xiàn)在將出現(xiàn)在主屏幕上。
70、在此處單擊它,它將打開(kāi)以進(jìn)行配置。
71、將其從推送模式移至切換模式。
72、使用引腳選擇來(lái)選擇板載LED-Nano33IoT上的數(shù)字引腳13。
73、現(xiàn)在點(diǎn)擊確定,然后點(diǎn)擊右上角的圖標(biāo)退出編輯模式。
74、您的按鈕現(xiàn)在應(yīng)該控制LED。
帶有Blynk的氣象站
我們現(xiàn)在準(zhǔn)備將我們的氣象站鏈接到我們的Blynk項(xiàng)目。
77、打開(kāi)我附加的軟件,在設(shè)置中取消注釋Blynk.begin()行,添加您的項(xiàng)目身份驗(yàn)證代碼和WiFi憑據(jù),然后上傳到Arduino。
在手機(jī)上打開(kāi)Blynk。
80、如果您按照本篇進(jìn)行操作,您的按鈕仍然存在,并且應(yīng)該仍然能夠打開(kāi)和關(guān)閉板載LED。
81、進(jìn)入編輯模式,單擊按鈕進(jìn)行配置,然后使用最底部的Delete將其刪除。
82、現(xiàn)在轉(zhuǎn)到工具箱并選擇一個(gè)標(biāo)簽值。
83、它在顯示下方的列表中。
84、返回顯示頁(yè)面,單擊標(biāo)簽值顯示進(jìn)行配置。
85、單擊pin,然后選擇VirtualpinV3。
86、我們將在下一段中解釋虛擬引腳。
87、現(xiàn)在對(duì)于標(biāo)簽,它說(shuō)“例如溫度”類型“溫度/pin.#/deg.F”。
88、.#告訴應(yīng)用程序顯示小數(shù)點(diǎn)后一位。
89、選擇大文本大小,并將刷新間隔保留為推送,文本顏色保留為綠色。
現(xiàn)在單擊確定。
91、您的標(biāo)簽值現(xiàn)在幾乎可以顯示溫度了,但它的顯示界面太窄了,我們需要慢慢選擇它-足夠慢以至于它不會(huì)重新進(jìn)入配置模式。
92、標(biāo)簽的輪廓將亮起。
93、現(xiàn)在可以拉伸它以顯示整行。
94、它也可以四處移動(dòng),盡管我們不會(huì)在這里這樣做。
95、將其拉伸到屏幕上大約3/4的位置。
96、然后退出編輯模式,您應(yīng)該會(huì)看到手機(jī)上顯示的溫度。
在我們完成配置Blynk之前,有必要解釋一下我們剛剛在設(shè)置溫度顯示時(shí)看到的一些事情。
Blynk使用了一個(gè)有點(diǎn)獨(dú)特的功能,稱為虛擬引腳。
99、顯示值小部件可以設(shè)置為讀取我們處理器上的模擬引腳,或設(shè)置為讀取數(shù)字引腳是高電平還是低電平。
100、但更多時(shí)候,我們想要顯示變量的內(nèi)容。
101、我們通過(guò)為該變量分配一個(gè)虛擬引腳號(hào)來(lái)做到這一點(diǎn),從那時(shí)起,Blynk應(yīng)用程序?qū)⑼ㄟ^(guò)它的虛擬引腳號(hào)引用該變量。
102、因此,在我的軟件中,您將看到我將華氏溫度分配給虛擬引腳V3的位置。
另一個(gè)值得一提的Blynk想法是我們?cè)赑ush模式下留下的RefreshInterval。
104、這意味著Arduino草圖正在持續(xù)輸出數(shù)據(jù),在我們的例子中,每分鐘更新一次溫度、濕度和氣壓。
105、但Blynk也支持Pull方法,其中Blynk應(yīng)用程序設(shè)置間隔并詢問(wèn)硬件以獲取新數(shù)據(jù)。
所以現(xiàn)在讓我們完成在Blynk上顯示我們的氣象站。
107、您將需要另外兩個(gè)標(biāo)簽值顯示,一個(gè)用于濕度百分比(虛擬引腳V4),另一個(gè)用于“英寸汞柱”或英寸汞柱(虛擬引腳V5)的壓力。
108、對(duì)于濕度,我顯示小數(shù)點(diǎn)后一位;對(duì)于壓力,我顯示了小數(shù)點(diǎn)后兩位。
如果您現(xiàn)在有顯示溫度、濕度和氣壓的三個(gè)標(biāo)簽值顯示,您可以添加所有三個(gè)的圖表。
110、這是通過(guò)添加SuperChart小部件來(lái)完成的。
111、首先,將其向下拉伸,使其充滿屏幕的其余部分。
112、然后點(diǎn)擊它進(jìn)行配置。
113、我打開(kāi)了顯示x軸值,并選擇了實(shí)時(shí)分辨率、1小時(shí)、6小時(shí)、1天、1周、1個(gè)月。
114、和3個(gè)月。
115、我們需要三個(gè)數(shù)據(jù)流——一個(gè)用于我們的3個(gè)變量中的每一個(gè)。
116、要配置每個(gè)數(shù)據(jù)流,請(qǐng)單擊其右側(cè)的圖標(biāo)。
117、我們需要再次為每個(gè)選擇虛擬引腳。
118、對(duì)于y軸縮放,選擇高度。
119、然后對(duì)于溫度,將高度設(shè)置為67-100。
120、對(duì)于濕度,將高度設(shè)置為34-66。
121、對(duì)于壓力,將高度設(shè)置為0-33。
122、設(shè)置顏色以匹配標(biāo)記值。
123、打開(kāi)顯示Y軸。
124、就是這樣。
125、退出編輯模式,你的手機(jī)顯示應(yīng)該和我的一樣。
126、圖表需要一點(diǎn)時(shí)間才能開(kāi)始。
127、要獲得快速結(jié)果,請(qǐng)查看實(shí)時(shí)或1小時(shí)分辨率。
您可能想了解的Blynk的另一項(xiàng)功能是與其他智能手機(jī)共享您完成的Blynk項(xiàng)目,以便不止一部手機(jī)可以查看氣象站。
129、要啟動(dòng)共享,請(qǐng)將您的項(xiàng)目置于編輯模式,然后單擊項(xiàng)目設(shè)置的頂部中間圖標(biāo)。
130、打開(kāi)共享,然后生成一個(gè)鏈接。
131、它會(huì)給你一個(gè)二維碼,你可以通過(guò)電子郵件發(fā)送或以其他方式分享。
132、新用戶需要Blynk應(yīng)用程序,但不需要Blynk上的帳戶。
133、未注冊(cè)用戶的應(yīng)用程序有一個(gè)鏈接,用于加載另一個(gè)人的Blynk項(xiàng)目的二維碼。
這是對(duì)Blynk的一個(gè)非常有限的介紹,但應(yīng)該會(huì)帶給你一個(gè)很好的使用起點(diǎn)。
本文到此結(jié)束,希望對(duì)大家有所幫助。
2016-2022 All Rights Reserved.平安財(cái)經(jīng)網(wǎng).復(fù)制必究 聯(lián)系QQ280 715 8082 備案號(hào):閩ICP備19027007號(hào)-6
本站除標(biāo)明“本站原創(chuàng)”外所有信息均轉(zhuǎn)載自互聯(lián)網(wǎng) 版權(quán)歸原作者所有。