資料介紹
描述
InqWeather是一個(gè)簡(jiǎn)單的基于網(wǎng)絡(luò)的氣象站。它是一個(gè)正在進(jìn)行的項(xiàng)目的一部分,用于在我們當(dāng)?shù)氐墓矆D書館和社區(qū)學(xué)院教授介紹性 Arduino、物聯(lián)網(wǎng)和基于 Web 的編程技術(shù)。
硬件
InqWeather硬件非常簡(jiǎn)單:
- 1 面包板
- 1 AHT10 溫度/濕度傳感器分線器,使用 I2C
- 4 跳線
InqWeather 接線
我們利用 I2C 作為多目標(biāo)串行通信總線。換句話說(shuō),我們可以只使用 4 根電線來(lái)服務(wù)兩個(gè)傳感器。請(qǐng)注意 BMP180 和 AHT10 板的引腳 VIN、GND、SCL 和 SDA 如何位于相同的面包板行上。這樣,僅使用我們處理器的兩個(gè)數(shù)據(jù)引腳就可以查詢兩個(gè)傳感器的數(shù)據(jù)。
- 紅線——NodeMCU 3V 引腳到傳感器的 VIN
- 黑線 – NodeMCU G 引腳到傳感器的 GND
- 黃線——NodeMCU D1 引腳到傳感器的 SCL
- 橙色線 - NodeMCU D2 引腳到傳感器的 SDA
服務(wù)器端草圖
新版本(5.0)有所增長(zhǎng)。主要的源代碼草圖仍然是大約 200 行,完全注釋。這些行中只有大約 30 行用于創(chuàng)建 Web 服務(wù)器。Sketch 的其余部分是傳感器和項(xiàng)目特定計(jì)算的標(biāo)準(zhǔn)處理。該代碼的一些功能包括:
- InqPortal Web 服務(wù)器公開(kāi)客戶端 UI,提供客戶端-服務(wù)器通信并大大減少與 InqWeather 交互所需的編碼。您會(huì)注意到?jīng)]有代碼執(zhí)行顯式發(fā)送和接收。這一切都在透明地處理,因此開(kāi)發(fā)人員可以只專注于手頭的項(xiàng)目……一個(gè)氣象站!
- 展示一個(gè)持久的、已發(fā)布的變量 -高度= 用于將您所在位置的氣壓轉(zhuǎn)換為氣象服務(wù)報(bào)告的等效海平面壓力的因子。同樣在 5.0 版本中,我們添加了多個(gè)客戶端可修改變量以支持自定義 Zambretti 天氣預(yù)報(bào)算法。
- 發(fā)布只讀變量以傳播當(dāng)前溫度、濕度、壓力 Zambretti 結(jié)果。我們希望在測(cè)試和演示期間有一個(gè)更加動(dòng)態(tài)的界面,所以這些變量每秒更新一次。
- 發(fā)布只讀變量以傳播每分鐘的溫度、濕度和壓力。這些是所有 1 秒讀數(shù)的累積一分鐘平均值。這些是應(yīng)該用作氣象站的。
- 使用循環(huán)緩沖區(qū)存儲(chǔ) 3 小時(shí)的壓力讀數(shù)。這些被用作 Zambretti 天氣預(yù)報(bào)算法的主要輸入之一。
- 您甚至不必輸入此內(nèi)容。當(dāng)您從 Arduino IDE 庫(kù)管理器下載InqPortal庫(kù)時(shí), InqWeather就是示例之一。
- 我們現(xiàn)在有第二個(gè)文件Zambretti.h來(lái)處理所有預(yù)測(cè)計(jì)算。
客戶端應(yīng)用程序
InqWeather具有三個(gè)不同的應(yīng)用程序(網(wǎng)頁(yè))來(lái)顯示結(jié)果。這些大多是裝飾性的,可以很容易地更改為裝飾性或功能……顯然無(wú)需重新編譯。下面顯示了上傳到InqWeather/InqPortal服務(wù)器的文件(Web 內(nèi)容)列表。
版本 1 – 純數(shù)字
純數(shù)字網(wǎng)頁(yè)是默認(rèn)網(wǎng)頁(yè)——這意味著如果在瀏覽器的 URL 地址行之后沒(méi)有定義 html 文件,它將被調(diào)用。這是實(shí)際使用index.html的標(biāo)準(zhǔn) Web 服務(wù)器默認(rèn)設(shè)置。
- 它顯示兩個(gè)溫度,因?yàn)閮蓚€(gè)傳感器都提供溫度。(標(biāo)簽旁邊的一小部分)通常,我們可能不會(huì)同時(shí)使用兩者,但在課堂上,我們希望展示傳感器制造的可變性。
- 溫度從服務(wù)器提供的°C 修改為客戶端的°F。index.js源代碼文件進(jìn)行了更改。如果您是°C 類型的人,請(qǐng)刪除明顯的等式,您將得到°C。這是一個(gè)重要的概念,我們攔截服務(wù)器提供的原始數(shù)據(jù)并根據(jù)客戶端用戶的上下文對(duì)其進(jìn)行更改。在這個(gè)例子中,InqWeather 服務(wù)器的一個(gè)觀察者可能更喜歡°C,而另一個(gè)°F。兩者都可以有自己的方式,服務(wù)器不必為細(xì)節(jié)煩惱。
版本 2 – 模擬
模擬版 ()
在這個(gè)版本中,我們想要演示使用現(xiàn)成的 JavaScript 庫(kù)。在上課的時(shí)候,我們一時(shí)興起把它從網(wǎng)上下載下來(lái),在閱讀了網(wǎng)站的文檔大約十分鐘后把它拍了下來(lái)。為他的圖書館MykhaIloStadnyk 大聲疾呼……尤其是為他的國(guó)家。
版本 3 – 預(yù)測(cè)
InqWeather使用一個(gè)循環(huán)緩沖區(qū)來(lái)保存過(guò)去三個(gè)小時(shí)的壓力讀數(shù)。它現(xiàn)在使用這些值來(lái)提供 Zambretti 算法進(jìn)行預(yù)測(cè)分析所需的重要信息。Zambretti 算法創(chuàng)建于 1915 年,遠(yuǎn)早于數(shù)字計(jì)算機(jī),它利用大氣壓力和過(guò)去三個(gè)小時(shí)內(nèi)的壓力變化來(lái)得出 26 種不同天氣預(yù)報(bào) (AZ) 中的一種。InqWeather Sketch(服務(wù)器)將這個(gè)值發(fā)送到任何客戶端,只要它發(fā)生變化。客戶端應(yīng)用程序(在本例中為changed.jsfile) 獲取該值,查找天氣描述并顯示它。它還檢查具有相同名稱的圖像(A.jpg、B.jpg... Z.jpg)并找到最接近的可用圖像以顯示為背景。
以編程方式,它的主要演示點(diǎn)是關(guān)注點(diǎn)分離。服務(wù)器提供 Zambretti 信函,但客戶端可以以不同的方式顯示結(jié)果。所有描述都可以從 1915 年的原始字符串更改為 21 世紀(jì)更相關(guān)的內(nèi)容或任何語(yǔ)言。只需更改 changed.js 文件中的值并將其上傳到 InqWeather 服務(wù)器。只需將圖片命名為所需的條件,就可以更改背景(例如...在您的前門拍攝天氣狀況的圖片)。在上面的例子中 N.jpg并將其上傳到服務(wù)器。無(wú)需更改代碼。客戶端應(yīng)用程序?qū)?a target='_blank' class='arckwlink_none'>檢測(cè)可用圖像并在適當(dāng)時(shí)顯示它。
100 小時(shí)測(cè)試結(jié)果
在測(cè)試的前 100 小時(shí)內(nèi), InqPortal管理員正在監(jiān)視服務(wù)器。它能夠配置歷史記錄儀以跟蹤重要的系統(tǒng)性能指標(biāo)以及您的任何數(shù)字輸出。在這里,我們有 100 小時(shí)的數(shù)據(jù)顯示 AHT10 和 BMP180 的溫度以及濕度和海平面歸一化氣壓。它還跟蹤三個(gè)小時(shí)的壓力變化。
期貨
現(xiàn)在就是這樣。InqWeather 是一個(gè)很棒的教學(xué)/學(xué)習(xí)項(xiàng)目。如果您對(duì)未來(lái)的補(bǔ)充有任何建議,請(qǐng)告訴我……特別是如果它們可以用作未來(lái)學(xué)生的教學(xué)時(shí)刻。
- Arduino在線氣象站(NodeMCU)
- 如何制作簡(jiǎn)單的氣象站
- Arduino無(wú)線氣象站
- Arduino氣象站
- 基于LoPy4的氣象站設(shè)計(jì) 0次下載
- Sigfox和Arduino氣象站
- 基于Arduino的無(wú)線氣象站 0次下載
- 使用Arduino和網(wǎng)絡(luò)技術(shù)制作實(shí)時(shí)氣象站
- Arduino氣象站項(xiàng)目
- DIY簡(jiǎn)單氣象站
- 使用Arduino和NodeMCU的氣象站
- 手持式氣象站BNL-GPRS系列使用手冊(cè) 4次下載
- 帶有Adafruit_IO的氣象站監(jiān)視器源碼 9次下載
- 自動(dòng)氣象站的抗干擾技術(shù) 26次下載
- 基于MSP430的智能氣象站的設(shè)計(jì)
- 基于幾何的泰森多邊形來(lái)生成形體骨架 820次閱讀
- 4G氣象站的設(shè)計(jì)與實(shí)現(xiàn) 880次閱讀
- 如何利用ESP32實(shí)現(xiàn)太陽(yáng)能氣象站的設(shè)計(jì) 4281次閱讀
- 如何利用ESP8266實(shí)現(xiàn)防雨物聯(lián)網(wǎng)氣象站的設(shè)計(jì) 4963次閱讀
- 如何利用粒子光子把你的雨傘變成氣象站 1391次閱讀
- 如何使用ESP32創(chuàng)建一個(gè)氣象站 3771次閱讀
- 如何手動(dòng)制作一個(gè)風(fēng)速儀 5629次閱讀
- 耐用PROFINET主站設(shè)備與PROFIBUS從站連接方法 5866次閱讀
- 基于樹(shù)莓派組成的可隨身攜帶氣象站設(shè)計(jì)方案 2815次閱讀
- 如何使用兩個(gè)dht傳感器及HC12模塊制作遠(yuǎn)程氣象站? 2792次閱讀
- 基于創(chuàng)建帶有空氣質(zhì)量傳感器的室內(nèi)氣象站 2186次閱讀
- 基于電子墨水屏實(shí)現(xiàn)RGB顯示器的開(kāi)發(fā)設(shè)計(jì) 4141次閱讀
- dfrobotDIY智能氣象站套件簡(jiǎn)介 1618次閱讀
- 光照傳感器的工作原理 4.4w次閱讀
- 基于STM32的自動(dòng)氣象站控制模塊設(shè)計(jì) 8306次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多