開源項目:ESP32 氣象站
作者:GiovanniAggiustatutto
原文鏈接:原文
開源項目:太陽能 WiFi 氣象站 V4.0
作者:opengreenenergy
原文鏈接:原文
DIY 氣象站
- 簡介
- 1-制版
- 2-物料
- 溫度設備塔
- 風向標
- 風速計
- 雨量計
- 框架
- 電子元件和壓力傳感器
- 家庭助理
- 配置及應用
氣象站測量溫度、濕度、氣壓、風速和風向以及降雨量。
所有數據均由 ESP32收集,并通過 wifi 發送到移動應用程序。
在應用程序或網頁上,我們可以看到來自氣象站和圖表的實時數據,
例如溫度,每天的最小值和最大值,以及壓力圖,我們可以用它來進行粗略的天氣預報。
如果這聽起來很困難,請不要擔心,在本指南中您可以找到所有信息。
簡介
從開源的網站上看到了一個很有意思的氣象站項目,想進行復刻。本文章用戶復刻過程中的記錄和分享,使用文章內容請引用原作者的文章鏈接。項目源于印度開源網站,有興趣詳細了解的上面提供了原文章鏈接,可以自行跳轉學習(建議翻墻)。
目前只是引用了作者的文章內容,這些程序需要進行驗證,比較軟件和環境一直在更新,不能確保現在或者以后還能正常運行程序。
1-制版
2-物料
溫度設備塔
為了測量溫度和濕度,我將使用 DHT22 傳感器。我將傳感器焊接到一個穿孔板上,在 3,3v 和信號引腳之間有一個連接器和一個上拉電阻器。我將傳感器放入史蒂文森篩網中。史蒂文森濾網可保護傳感器免受陽光直射和雨水的直射,同時允許空氣通過。通過避免陽光加熱傳感器,它可以獲得更準確的溫度讀數。為了構建它,我 3D 打印了所有部件,并用兩根螺紋桿將它們固定在一起。我將穿孔板與傳感器粘在史蒂文森屏幕內,然后在下面放置了將支撐傳感器的支架。
我將制作更精細的傳感器,以便更加美觀的呈現。(敬請期待)
風向標
然后我們有風向標,它檢測風來自哪個方向。同樣對于這個,我不得不用 3D 打印機制作一些零件。風向標的后面有這個箭頭狀的塊,前面有個尖端,里面有一個螺栓作為重物來平衡它。旗幟能用在底面裝進去的滾珠軸承自由旋轉。為了檢測風的 4 個基本點(北、東、南、西),我將使用 4 個霍爾效應傳感器,這些傳感器是在磁鐵接近時激活的磁性傳感器。
我的想法是放置霍爾傳感器,如第二張照片所示,磁鐵旋轉并激活國旗轉向的基點的傳感器。對于中間點,例如東北,兩個相應的傳感器(北和東)將被激活。我將磁傳感器放在風向標的底座上,升高約 1 厘米,以使它們遠離可能吸引磁鐵的金屬螺栓。在可以自由旋轉的上部,我用膠水粘住了磁鐵。這件還具有保護傳感器免受雨淋的功能。我將實際的風向標插入螺紋桿上,并用自鎖螺母固定。每個霍爾傳感器都有 3 根電線,這些電線通過小 LED 連接到其原始電路板,這對于查看傳感器是否正常工作很有用。我將這四塊板焊接到穿孔板上。從那里,我使用一根舊的網線將 gnd 和 5v 連接到傳感器,并將四個信號引腳連接到主板,我們稍后會看到。我將四個傳感器的板子放在這個 3D 打印的盒子里,上面放一塊亞克力。
風速計
現在是風速計。我已經在去年的一個視頻中談到了這一點,你可以在這里找到。我還用 3D 打印機制作了風速計,您可以在下面找到 STL 文件。風速計由底座和旋轉部分組成。對于旋轉部分,杯子和中心件分開打印,并用 3 個螺釘組裝。在風速計內部,底座上有一個磁性霍爾傳感器,旋轉部分上有一個磁鐵。傳感器在每次旋轉時發出一個脈沖。根據每分鐘的轉數,我們可以計算出風速,但目前我不知道我必須用什么數字將每分鐘的轉數乘以得到公里/小時。如果有人知道如何計算,請在下面的評論中寫下這些計算。根據我在網上找到的,一個粗略的(可能是錯誤的)估計是將 rpm 乘以 0,18。
在這里插入圖片描述
雨量計
最后,是雨量計。我在之前的 Instructable 中演示了這一點,因此您可以在那里找到所有詳細信息,包括 3D 可打印文件。但是,這也使用了磁性傳感器,傳感器狀態的每次變化都意味著有一定量的水通過。降雨量以毫米高為單位。
框架
為了更容易地將氣象站安裝在最終配置中,我將各種傳感器放在一個結構上。為了制作它,我使用了矩形鋁型材。我在中間固定了雨量計,在兩側放置了風速計和風向標。為了支撐所有東西,我又切了兩塊鋁型材。在它們的一側,我做了一個漂亮的大孔,這樣我就可以固定它們,而不會讓螺栓在下面伸出。在將所有東西都栓上后,這就是結果。此步驟是可選的,因為如果您愿意,您可以將單個傳感器安裝在已有的結構上,例如屋頂的側面。
電子元件和壓力傳感器
但現在我們有了所有的電子設備,它們將在這個接線盒中。為了方便連接,我買了這個在端子上帶有 ESP32 引腳的板子。我不知道為什么,但我的 ESP32 不適合這個板子。所以我不得不用穿孔板制作適配器來移動引腳。我將 ESP32 擰入包裝盒中,并在底部放置了用于 WiFi 連接的天線。
我幾乎忘記了大氣壓力傳感器,即 BMP180。我把它放在盒子里,為了讓空氣通過,我在底部做了這個網格。該傳感器通過 i2c 通信,因此它需要兩根線才能連接到 ESP32,而不是 3,3v 和 GND。
現在,我們讓所有其他傳感器都通過它們的電線進入這里。溫度傳感器只有一根信號線,直接連接到 ESP32 的引腳。問題在于風速計、雨量計和風向標的霍爾傳感器在 5v 下工作,而 ESP32 在 3.3v 下工作。因此,要將信號從 5v 轉換為 3.3v,我將使用一些電平轉換器,例如這些。為了讓一切更整潔,我將它們焊接到穿孔板上。為了在開發板和 ESP32 之間建立連接,我使用了 JST 連接器,它比傳統的跳線更堅固。最后,我將 gnd、5v 和 3.3v 的電線連接在一起,并用扎帶整理電線。
家庭助理
氣象站將連接到 Home Assistant,這是一種本地服務器,用于控制我們家中的各種家庭自動化設備。Home Assistant 可以在 Raspberry Pi 或虛擬機上的計算機上運行,就像我一樣。為了將氣象站連接到 Home Assistant,我將使用 ESPhome,它允許您將 ESP32 連接到 Home Assistant。設置完所有內容后,我可以通過網頁或應用程序實時查看氣象站數據。此外,數據被記錄下來,我還可以看到長期趨勢的圖表。