資料介紹
描述
幾個(gè)世紀(jì)以來,感知風(fēng)和天氣對人類來說一直很重要。雅典人在公元前一世紀(jì)建造了八面風(fēng)之塔,以紀(jì)念八位風(fēng)神。風(fēng)之塔至今仍矗立在雅典古老的集市或市場中。
多年來,許多重大的天氣事件影響了人類。我們知道這些,因?yàn)樗鼈兊挠绊懸殉蔀闅v史的一部分。由于歷史的大部分內(nèi)容是對一系列戰(zhàn)爭和戰(zhàn)斗的回憶,有趣的是,早期著名的關(guān)于天氣重要性的提法來自中國哲學(xué)家孫祖,他說:“知己知彼, 勝利是有保證的。知地而知天,方能全勝?!?/font>
在很久以后的歷史中,我們知道拿破侖在 1812 年入侵俄羅斯受到阻礙,因?yàn)樵摷竟?jié)的降雪和寒冷天氣比他和他的將軍們計(jì)劃的要早。這與俄羅斯民兵的襲擊相結(jié)合,幫助擊敗了法國人,法國人帶著 500,00 名士兵入侵,只剩下 20,000 名幸存者。一百三十年后,當(dāng)希特勒對蘇聯(lián)的入侵再次被嚴(yán)寒的冬季天氣部分挫敗時(shí),這種情況再次發(fā)生。
在 20 世紀(jì),惡劣的天氣條件帶來了大規(guī)模的人口遷移,包括 1930 年代美國的沙塵暴、整個(gè)世紀(jì)亞洲的多次干旱以及非洲薩赫勒地區(qū)的三個(gè)重要干旱時(shí)期。造成許多人死亡和影響的個(gè)別事件包括 1952 年倫敦的大煙霧事件,該事件在 12 月的五天內(nèi)造成 4,000 人死亡,美國東海岸的許多颶風(fēng)影響,以及幾場值得注意的暴風(fēng)雪。人對環(huán)境的影響也可以從天氣中看到,在最近的事件中,當(dāng)烏克蘭切爾諾貝利的反應(yīng)堆事故釋放出放射性粒子時(shí),被蘇聯(lián)以外的傳感器檢測到,并使用復(fù)雜的天氣傳感器和氣象模型追溯到切爾諾貝利。以類似的方式,當(dāng)?shù)貧庀髢x器被用來幫助估計(jì) 1991 年海灣戰(zhàn)爭期間油井大火產(chǎn)生的煙霧和煤煙的影響。
今天,風(fēng)和其他天氣變量同樣受到關(guān)注,并且可能對我們現(xiàn)代高科技生活方式產(chǎn)生更大的影響。天氣影響廣泛的人類活動(dòng),包括農(nóng)業(yè)、交通和休閑時(shí)間。通常,這些影響涉及氣體和微粒在大氣中的移動(dòng)。現(xiàn)代天氣監(jiān)測系統(tǒng)和網(wǎng)絡(luò)旨在以具有成本效益的方式進(jìn)行必要的測量,以跟蹤這些運(yùn)動(dòng)。這要求將監(jiān)測系統(tǒng)的總生命周期成本降至最低,而做到這一點(diǎn)的一種方法是盡量減少或消除對天氣監(jiān)測系統(tǒng)的維護(hù)。使用固態(tài)系統(tǒng)來測量天氣,包括風(fēng)速和風(fēng)向,對于最大限度地減少設(shè)備維修和成本至關(guān)重要。傳統(tǒng)的天氣監(jiān)測系統(tǒng)由單獨(dú)的傳感器組成,用于測量一個(gè)氣象變量,每個(gè)傳感器都連接到數(shù)據(jù)收集設(shè)備或記錄器。現(xiàn)代技術(shù)允許將多個(gè)傳感器組合成一個(gè)集成氣象站,該氣象站可以永久位于一個(gè)站點(diǎn)或運(yùn)輸?shù)叫枰植刻鞖獾恼军c(diǎn)。
因此,利用 Ada 的所有強(qiáng)大功能以及一系列 BM1383AGLV 壓力-溫度傳感器,我們將構(gòu)建一個(gè)具有各種應(yīng)用的本地化氣象站。
硬件
1. 樹莓派 3B+
眾所周知,樹莓派是一系列小型單板機(jī),樹莓派 3B+ 是該家族的最新版本之一。我選擇它是因?yàn)樗僮骺焖偾乙子谔幚?,而?Ada 內(nèi)置了對 Raspberry Pi 的支持。
但 RPI 的主要問題之一是它無法從其 GPIO 讀取模擬輸入。為了克服這個(gè)問題,我選擇了一個(gè)支持 I2C 的傳感器,這樣我就可以輕松地訪問來自傳感器的數(shù)據(jù)。
2.BM1383AGLV
BM1383AGLV 是一種壓阻式壓力傳感器。它對芯片內(nèi)部的MEMS進(jìn)行溫度補(bǔ)償,因此很容易獲得壓力信息。它由溫度和壓力傳感器組成,并提供 I2C 接口。它可以讀取從 300hPa 到 1100hPa 的壓力和從 -40°C 到 +85°C 的溫度。
硬件設(shè)置
硬件連接示意圖如下。將 SDA 引腳連接到 GPIO2,將 SCL 引腳連接到 GPIO3。DRDY 引腳是可選的。如果您在代碼中使用它,請將其拉??至 1。
?
?
軟件
1. GNAT
GNAT 是 Ada 編程語言的免費(fèi)軟件編譯器,它是 GNU 編譯器集合的一部分。它支持所有版本的語言,即 Ada 2012、Ada 2005、Ada 95 和 Ada 83。
要在 Raspberry Pi 中安裝 GNAT 編譯器,請?jiān)诮K端中輸入以下命令。
sudo apt-get install gnat
2. ADA 代碼
選擇傳感器后,我繼續(xù)搜索任何提供 I2C 支持的 Ada 庫,但我很失望,因?yàn)槲艺也坏健?/font>所以我決定從頭開始為 BM1383AGLV 構(gòu)建一個(gè)庫。
我使用了一些 bash 命令與 I2C 模塊進(jìn)行通信,并且能夠從模塊中讀取數(shù)據(jù)。
i2c檢測
我使用此命令搜索連接的 I2C 模塊
i2cget
我使用這個(gè)命令來讀取存儲(chǔ)在傳感器中的數(shù)據(jù)。
所以我開始尋找一個(gè)可以執(zhí)行 bash 命令的 Ada 模塊,我找到了Interfaces.C模塊。
使用這段代碼,我能夠在終端中執(zhí)行命令
function System (Cmd : String) return Integer is
function C_System (S : Interfaces.C.char_array) return Integer;
pragma Import (C, C_System, "system");
begin
return C_System (Interfaces.C.To_C (Cmd));
end System;
然后我開始將命令合并到 Ada 代碼中。i2c.adb 文件讀取為
with Interfaces.C;
with Ada.Strings.Fixed;
with GNAT.Expect;
package body i2c is
R,V1: Integer;
W1: String:="i2cset -y -a 1 0x5d 0x12 0x01";
W2: String:="i2cset -y -a 1 0x5d 0x13 0x01";
W3: String:="i2cset -y -a 1 0x5d 0x14 0x9";
R1: String:="i2cget -y -a 1 0x5d 0x19";
R2: String:="i2cget -y -a 1 0x5d 0x1A";
R3: String:="i2cget -y -a 1 0x5d 0x1B";
R4: String:="i2cget -y -a 1 0x5d 0x1C";
procedure write is
function System (Cmd : String) return Integer is
function C_System (S : Interfaces.C.char_array) return Integer;
pragma Import (C, C_System, "system");
begin
return C_System (Interfaces.C.To_C (Cmd));
end System;
pragma Inline (System);
begin
R := System (W1);
DELAY 0.5;
R := System (W2);
R := System (W3);
end write;
procedure read is
function System (Cmd : String) return Integer is
function C_System (S : Interfaces.C.char_array) return Integer;
pragma Import (C, C_System, "system");
begin
return C_System (Interfaces.C.To_C (Cmd));
end System;
pragma Inline (System);
Com: String:="sudo chmod +x i2c.sh && ./i2c.sh";
begin
V1 := System (Com);
end read;
end i2c;
在職的
現(xiàn)在是檢查工作的時(shí)候了。下載代碼并執(zhí)行以下命令以查看它們是否正常工作。
gprbuild -d aws.gpr -XPrivate_Warnings=FALSE -XModule=MOD_RPI aws.adb
然后你可以在 bin 文件夾中找到一個(gè)可執(zhí)行文件。使用以下命令執(zhí)行它
sudo ./aws
它會(huì)給你這樣的結(jié)果
未來會(huì)怎樣?
我們現(xiàn)在開發(fā)了一個(gè)本地化的氣象站,能夠不時(shí)監(jiān)測天氣變量。將這些變量結(jié)合到現(xiàn)有的機(jī)器學(xué)習(xí)模型中,我們將能夠更準(zhǔn)確地預(yù)測未來幾天的天氣。
有關(guān)更多文檔和詳細(xì)信息,請?jiān)L問GitHub 存儲(chǔ)庫。
- Arduino在線氣象站(NodeMCU)
- 如何制作簡單的氣象站
- Arduino無線氣象站
- Arduino氣象站
- 基于LoPy4的氣象站設(shè)計(jì) 0次下載
- Sigfox和Arduino氣象站
- 基于Arduino的無線氣象站 0次下載
- Arduino氣象站項(xiàng)目
- DIY簡單氣象站
- 使用Arduino和NodeMCU的氣象站
- 基于網(wǎng)絡(luò)的InqWeather氣象站
- 手持式氣象站BNL-GPRS系列使用手冊 4次下載
- 帶有Adafruit_IO的氣象站監(jiān)視器源碼 9次下載
- 自動(dòng)氣象站的抗干擾技術(shù) 26次下載
- 基于MSP430的智能氣象站的設(shè)計(jì)
- 基于幾何的泰森多邊形來生成形體骨架 820次閱讀
- 4G氣象站的設(shè)計(jì)與實(shí)現(xiàn) 880次閱讀
- 如何利用ESP32實(shí)現(xiàn)太陽能氣象站的設(shè)計(jì) 4281次閱讀
- 如何利用ESP8266實(shí)現(xiàn)防雨物聯(lián)網(wǎng)氣象站的設(shè)計(jì) 4963次閱讀
- 如何利用粒子光子把你的雨傘變成氣象站 1391次閱讀
- 如何使用ESP32創(chuàng)建一個(gè)氣象站 3771次閱讀
- 利用Arduino Nano 33 IoT構(gòu)建的微型互聯(lián)網(wǎng)氣象站 3373次閱讀
- 如何手動(dòng)制作一個(gè)風(fēng)速儀 5629次閱讀
- 基于樹莓派組成的可隨身攜帶氣象站設(shè)計(jì)方案 2815次閱讀
- 如何使用兩個(gè)dht傳感器及HC12模塊制作遠(yuǎn)程氣象站? 2792次閱讀
- 基于創(chuàng)建帶有空氣質(zhì)量傳感器的室內(nèi)氣象站 2186次閱讀
- 基于電子墨水屏實(shí)現(xiàn)RGB顯示器的開發(fā)設(shè)計(jì) 4141次閱讀
- dfrobotDIY智能氣象站套件簡介 1618次閱讀
- 光照傳感器的工作原理 4.4w次閱讀
- 基于STM32的自動(dòng)氣象站控制模塊設(shè)計(jì) 8306次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊
- 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開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊免費(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ì)》 溫德爾著
- 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語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論
查看更多