自動氣象站可以即時探測氣溫、濕度、氣壓、風速、風向、降雨量、紫外線輻射等氣象資訊,透過不同的感測器採集地面氣象資料,資料獲取完成後通過網路統一傳輸到氣象伺服器上,再經氣象採集軟體處理各項資料,最後通過專業氣象軟體傳出。

網上搜尋到之前大部分的設計都是基於數位訊號處理器(DSP)的方案,但是物聯網(IoT)時代,我們需要速成的設計,網路上現成的感測器和樹莓派教程能幫助我們迅速的設計出一個小型氣象站。

正好我在網上看到DIY hacking上Arvind Sanjeev做了個類似項目。這個完整的天氣系統,只用樹莓派的基礎硬體、攝影鏡頭和一些我們使用的雜七雜八的類比和數位感測器。

風速計和雨量計也都是自己做的。

20171130NT01P1

產品特點: ˙在RRD和CSV上記錄資訊,方便被匯出/導入到其他格式; ˙使用天氣地下API來得到歷史高點和低點,月相和日出/日落等訊息; ˙使用樹莓派相機拍攝一分鐘一次的圖片(可以用它來製作縮時攝影); ˙有顯示當前天氣狀況和歷史天氣狀況的資料網頁(最後一小時、一天、七天、月、年); ˙網站主題隨不同時間而改變(四個選項:日出、日落、白天和夜間)。

所有的進行記錄和顯示資訊的軟體是在GitHub上,而且是開放原始碼。

這個專案是很好的學習經驗,能幫助真正深入理解樹莓派的能力,尤其是GPIO。

20171130NT01P2

所需的材料

以下介紹所需的材料。

電子 ˙9個簧片開關(8個用於風向計、1個用於雨量計、1個可選用為風速計來代替霍爾感測器); ˙1個霍爾感測器(用於測量風速,稱為風速計); ˙溫度感測器; ˙濕度感測器(許多濕度感測器整合了溫度感測器),我用的是DHT11; ˙壓力感測器(許多也整合了溫度感測器),我用的是BMP180; ˙光敏電阻; ˙GPS晶片或USB GPS; ˙4個強磁體(2個用於風速計、1個用於方向、1個用於雨量計); ˙各類電阻; ˙MCP3008用來把類比轉換為數位輸入。

硬體 ˙樹莓派,我使用的是B+; ˙無線適配器; ˙樹莓派攝影鏡頭; ˙5V電源適配器。

物料 ˙2個推力軸承(或滑板或滑旱冰的軸承也行) ˙2個防水罩——我用的是超市的電器罩,找一個大小合適,有足夠的空間且能保護設備的就可以; ˙一些PVC管和蓋子(各種尺寸); ˙PVC安裝支架; ˙一些薄有機玻璃片(不用太花哨); ˙塑膠支架; ˙塑膠螺絲釘; ˙2個塑膠聖誕樹裝飾品——用於風速計; ˙小木釘; ˙小膠合板。

工具 ˙達美電磨; ˙熱熔膠槍; ˙烙鐵; ˙萬用電表; ˙鑽孔機。

主機殼 一個能裝進樹莓派、攝影鏡頭、GPS和光感測器的盒子。需要選防水的,因為它裝進了所有關鍵元件,測量環境風吹雨打。

主機殼包含: ˙樹莓派(螺母上)——需要Wi-Fi晶片; ˙攝影鏡頭(螺母上); ˙GPS晶片透過USB連接(我使用FTDI電纜 )。GPS能提供緯度和經度,更重要的是,我可以從GPS獲取精確的時間; ˙2個乙太網路/CAT5個插口,連接到主外殼與其他感測器。兩個容器之間這樣連結很方便。我用了約12條線纜,兩個CAT5提供16個可能的連接,所以有空間做擴展。

測溫度、濕度、壓力的主機殼 這是我放置溫度、濕度和壓力感測器的板子,以及用於雨量計,風向和風速感測器掛勾。這一切都非常簡單…

20171130NT01P3

製作雨量器 我大多沿用這個教程進行實際測量儀。

我用有機玻璃來製做。總而言之,有機玻璃效果不錯,結合熱熔膠槍,橡膠密封材料,以及整體切割和鑽孔就更棒了。

關鍵點: ˙該感測器是一個簡單的簧片開關和磁體,樹莓派上充當按鈕。我簡單地計算隨著時間的推測桶裡的水位,後來轉換為「雨/英吋」。 ˙讓它大到足以容納足夠的水來翻轉,但不用太大因為需要很多個。我的第一個製作失敗了因為不夠大,所以它會被填滿,並開始在它傾斜之前開始排水。

20171130NT01P4

風向 這很簡單。

20171130NT01P5

關鍵點: ˙這是一種模擬感測器; ˙這裝置旋緊在風向標的後面,需要校準它「這個方向就是指向北方」; ˙我做了一個木試驗台,有所以我可以在全量程內輕鬆切換電阻; ˙我使用的推力軸承工作得很好;

軟體 該軟體也是開放原始碼,可以在同一個GitHub庫取得。

20171130NT01P6

軟體用Python寫成,記錄來自感測器的資料。透過協力廠商的程式庫,獲得來自感測器和GPS資訊。這看起來很不錯吧?

20171130NT01P7

(文中部分素材編譯自How to Build a Raspberry Pi Weather Station,由EDN China編譯)