Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
1 WeatherPi: 一個 Raspberry Pi 和 Python 的微型氣象站專案 sosorry 2021/10/02 @PyCon Taiwan 2021
Slide 2
Slide 2 text
姓名標示 — 非商業性 — 相同方式分享 CC (Creative Commons) 姓名標示 — 你必須給予 適當表彰、提供指向本授權 條款的連結,以及 指出(本作品的原始版本)是否已 被變更。你可以任何合理方式為前述表彰,但不得以 任何方式暗示授權人為你或你的使用方式背書。 非商業性 — 你不得將本素材進行商業目的之使 用。 相同方式分享 — 若你重混、轉換本素材,或依本 素材建立新素材,你必須依本素材的授權條款來 散布你的貢獻物。
Slide 3
Slide 3 text
3 ● Raspberry Pi 官方經銷商 ● 專注 Raspberry Pi 應用與推廣 , 舉辦社群活動 關於我們
Slide 4
Slide 4 text
No content
Slide 5
Slide 5 text
5 ● 氣象監測 ● WeatherPi 專案介紹 ● WeatherPi 流程 ● 真實世界的挑戰 ● 結語 大綱
Slide 6
Slide 6 text
台灣以農立國 https://nspp.mofa.gov.tw/nspp/news.php?post=182906
Slide 7
Slide 7 text
但農民看天吃飯 https://www.agriharvest.tw/archives/18330
Slide 8
Slide 8 text
現況 : 全國自動氣象站 https://www.rti.org.tw/news/view/id/2105966
Slide 9
Slide 9 text
https://memes.tw/wtf/385573
Slide 10
Slide 10 text
● 溫度 ( 日平均 / 最高 / 最低 ) ● 風速 / 風向 ( 日最大十分鐘 / 最大瞬風 ) ● 雨量 ( 日雨量 / 前一分鐘 / 前十分鐘 ) ● 日照 ( 強度 / 時數 ) ● 相對濕度 ● 氣壓 什麼是氣象資訊? https://www.jbatrust.org/how-we-help/weather-station/
Slide 11
Slide 11 text
相關專案介紹
Slide 12
Slide 12 text
LASS 空氣盒子專案 https://www.slideshare.net/LingJyhChen1/for-80178578
Slide 13
Slide 13 text
● https://pm25.lass-net.org/GIS/voronoi/ ● https://pm25.lass-net.org/GIS/IDW/ ● https://v5.airmap.g0v.tw/#/map 提供不同角度的視覺化
Slide 14
Slide 14 text
阿龜微氣候天眼通 https://meet.bnext.com.tw/articles/view/44585
Slide 15
Slide 15 text
整合軟體 / 硬體 / 數據分析 https://www.ithome.com.tw/news/116184
Slide 16
Slide 16 text
已經有類似專案 , 為什麼還要再做?
Slide 17
Slide 17 text
17 過去我們做的專案
Slide 18
Slide 18 text
( 本來 ) 和花蓮大學老師合作推廣
Slide 19
Slide 19 text
● 使用 Raspberry Pi 加 Python 的開源專案 ● 可長時間測量溫濕度 , 風速 , 風向 , 雨量等氣象資訊 WeatherPi 專案
Slide 20
Slide 20 text
● 信用卡大小般的電腦 Raspberry Pi 是什麼 ? http://www.flickr.com/photos/fotero/7697063016/
Slide 21
Slide 21 text
David Braben Eben Upton Robert Mullins Alan Mycroft Pete Lomas Jack Lang Liz
Slide 22
Slide 22 text
Raspberry Pi Family https://infosec.exchange/@slh/102368284825610438 最早量產 規格最好 最穩定
Slide 23
Slide 23 text
WeatherPi 所需硬體 太陽能板 防水盒 GPS 太陽能充電控制板 + 充電電池 LoRa Pi4 INA219 母母排線 風速 / 風向 / 雨量氣象站
Slide 24
Slide 24 text
WeatherPi 專案架構 農田 / 果園 家中 / 閘道器
Slide 25
Slide 25 text
如何測量氣象資訊?
Slide 26
Slide 26 text
微型氣象站 https://projects.raspberrypi.org/en/projects/build-your-own-weather-station 測量風向 測量雨量 測量風速 測量溫濕度
Slide 27
Slide 27 text
● 計算連接到風速杯的電磁開關被觸發的頻率 ● 風速 = 距離 / 時間 ● 每秒旋轉一圈應等於 2.4 公里 / 小時 ( 半徑 9cm) 風速測量原理 https://projects.raspberrypi.org/en/projects/build-your-own-weather-station/5 電磁開關
Slide 28
Slide 28 text
● 根據分壓電路計算不同方向的電阻值 , 再轉換成 16 種可能的角度 風向測量原理 https://projects.raspberrypi.org/en/projects/build-your-own-weather-station/7
Slide 29
Slide 29 text
● 當累積雨量達 0.2794 mm 將會傾倒水桶並觸發 雨量測量原理 https://projects.raspberrypi.org/en/projects/build-your-own-weather-station/8
Slide 30
Slide 30 text
● 建構於 Plotly.js, React.js 和 Flask 的網頁框架 ● 可快速建立高互動性的圖表和儀表板 Dash 整合式儀表板 http://bit.ly/3FlpYXR
Slide 31
Slide 31 text
收集好一切資訊 , 該傳送出去了
Slide 32
Slide 32 text
這些場景需要哪種無線技術? https://www.lora-alliance.org/portals/0/documents/whitepapers/LoRa-Alliance-Whitepaper_NBIoT_vs_LoRa.pdf 智慧電錶 農業監控 寵物追蹤 智慧城市
Slide 33
Slide 33 text
速度與距離的考量 https://www.slideshare.net/PeterREgli/lpwan 數公里以上 數百公尺到一公里 數十公尺 >10Mbps 100Kbps ~ 10Mbps <10Kbps
Slide 34
Slide 34 text
不同無線傳輸技術的特點 https://www.slideshare.net/PeterREgli/lpwan
Slide 35
Slide 35 text
● LPWAN(Low Power Wide Area Network) 低功耗廣域網路 http://www.techbang.com/posts/49656
Slide 36
Slide 36 text
從 OSI 模型看 LPWAN https://www.slideshare.net/infiswift/lpwan-for-iot-62591541
Slide 37
Slide 37 text
● 法國公司 Cycleo 設計 ,Semtech 在 2012 收購 ● LoRa 是實體層 (PHY) 的調變技術 ● 採用 CSS(Chirp Spread Spectrum) 調變技術 ● 常用頻段 :433/470~510/868/900-925MHz ● 低功耗 , 低資料率 , 長距離 , 低價格 ● 低功耗 :RX<10mA, Sleep<200nA ● 長距離 :500m 到 15Km ● 靈敏度 : 低於 -137 dBm ● 資料率 :0.3kbps 到 50kbps LoRa(Long Range)
Slide 38
Slide 38 text
● 從捷運古亭站到捷運南勢角站 (~5KM) 實測距離 興南路南勢派出所 和平西路 & 牯嶺街口 SNR=-11
Slide 39
Slide 39 text
真實場域的挑戰
Slide 40
Slide 40 text
● Raspberry Pi 功耗要小 ● 太陽能板要大 ● 電池電容量要大 能長時間使用的關鍵 , 輸入 > 輸出
Slide 41
Slide 41 text
● 利用分壓電路計算流經負載的直流電流和電壓差 ● 可量測 0~±8A, 精度為 1mA ● 功耗 =( 電源 - 負載的電壓差 )*( 電流 ) 使用 INA219 測量功耗 https://wiki.dfrobot.com/Gravity%3A%20I2C%20Digital%20Wattmeter%20SKU%3A%20SEN0291
Slide 42
Slide 42 text
使用 INA219 監控充放電狀況 http://bit.ly/3zrIz08 測量太陽能板的充電功率 測量充電電池的輸出功率 太陽能板 充電電池
Slide 43
Slide 43 text
● 選擇適合型號的 Raspberry Pi ● 安裝 Raspberry Pi OS Lite ● 將 CPU 和 RAM 降頻 + 關掉不必要的週邊 ● 只安裝必要程式 + 只啟動必要的服務 ● 將收集氣象資料的程式執行頻率降低 如何省電?
Slide 44
Slide 44 text
Raspberry Pi 功耗比較 https://raspi.tv/2019/how-much-power-does-the-pi4b-use-power-measurements
Slide 45
Slide 45 text
太陽能板 + 電池的選擇
Slide 46
Slide 46 text
號稱可以使用的設備 https://www.rs-online.com/designspark/solar-powering-your-raspberry-pi-cn 太陽能板 :1.25W 充電電池 :6V
Slide 47
Slide 47 text
最初買來測試的設備 https://www.waveshare.com/solar-power-manager-b.htm 太陽能板 :10W 充電電池 :3.7V
Slide 48
Slide 48 text
● Pi4 每日所需功耗= 電壓 x 電流 x 小時 = 5V x 800mA x 24hrs = 96Wh ● 用 Pi Zero 功耗 = 5V x 120mA x24hrs = 14.4Wh ● 50W 太陽能板充電功率 = 電壓 x 電流 x 小時 = 14V x 900mA x 6hrs = 75.6Wh 計算 Raspberry Pi 每日所需功耗
Slide 49
Slide 49 text
● 最大輸出功率 = 工作電壓 x 工作電流 ● 實際輸出功率≅ 40%~90% 之間 ● 建議選擇功率 50W 以上 太陽能板的選用與計算 太陽能 單元: 單晶 15.6x15.6cm 峰值功率: 50W 工作電壓: 18V 峰值電流 : 2.86A 開路電壓: 22V 短路電流: 3.23A 轉換效率: 21.6% 重 量: 5Kg
Slide 50
Slide 50 text
● 電池容量 (Ah) = 放電電流 (A) × 持續時間 (h) ● 8.4Ah(20HR) 可用 120mA 持續放電 70hrs 以上 電池的選用與計算
Slide 51
Slide 51 text
能長時間使用的設備 太陽能板 :50W 充電電池 :12V
Slide 52
Slide 52 text
使用 APRS 轉接板讀取天氣資訊 雨量 風速風向 PMS5003 UART 輸出 SHT 溫濕度感測器 公制 / 英制 Baud Rate RJ11 輸出
Slide 53
Slide 53 text
● 每 0.5 秒輸出 80 個 Byte, 包括換行符號 (OD,OA) ● 每個欄位由英文 + 數字組成 ● 範例 : ● A4095B000C0000D0000E0000F0000G0000H00 00I0000J0000K0000L0200M611N10066O.....*53 ● A4095: 風向測量 AD 值 (0-4095) ● B000: 風向角速度 (16 方向 ) ● C0000: 即時風速頻率 (Hz) ● D0000: 即時風速 (0.1m/s) ● *53: 循環冗餘校驗 (CRC) APRS 通訊協定
Slide 54
Slide 54 text
● 使用 Dash vs. 不使用 Dash ● 可降低使用功耗 , 從 280mA 到 200mA ● 使用 HTTP RESTFul vs. 使用 MQTT ● 可降低網路用量和使用功耗 ● 使用 GPIO 觸發 vs. 使用 pySerial ● 可降低因為觸發可能造成的計算錯誤 ● 使用 pySerial vs. 使用 pigpiod ● 可同時接多組 UART, 例如 GPS 和 APRS Python 套件的選擇題和答案
Slide 55
Slide 55 text
● 使用 Dash vs. 不使用 Dash( 搭配 Pi Zero) ● 可降低使用功耗 , 從 280mA 到 200mA ● 使用 HTTP RESTFul vs. 使用 MQTT ● 可降低網路用量和使用功耗 ● 使用 GPIO 觸發 vs. 使用 pySerial ● 可降低因為觸發可能造成的計算錯誤 ● 使用 pySerial vs. 使用 pigpiod ● 可同時接多組 UART, 例如 GPS 和 APRS Python 套件的選擇題和答案
Slide 56
Slide 56 text
● 陽光 : 光強度 , 輻射量 , 紫外線 ● 空氣 : 大氣溫溼度 , 氣壓 , 風速 , 風向 ● 水 : 降雨量 ● 土壤 : 土壤溫溼度 , EC( 電導度 ), pH ● 作物 : 葉面溫溼度 , 葉綠素 未來將增加更多農業觀察資訊 https://mopcon.org/2017/speakerDetail.php?speaker=25
Slide 57
Slide 57 text
可介接自動位置回報系統 (APRS) https://aprs.fi/
Slide 58
Slide 58 text
資料分析和視覺化 https://www.beehivedt.com/
Slide 59
Slide 59 text
開發過程一景 / 感謝雷格協助
Slide 60
Slide 60 text
60 Raspberry Pi Rocks the World Thanks