今年夏,風…起了-APRS天氣警告訊息發放實驗展開

 

clip_image002

今年襲港的第一個三號風球,超強颱風 威馬遜在aprs.fi的圖示

 

clip_image004

三號風球訊息

 

前言

無驚無險,VR2XKPblog蹅進2周年了。就讓這篇做2周年誌慶文吧。

無可否認,今年發文的數量與速度比前慢了。並非熱情減卻,而是提前進入了新台階,進入編程的階段了。

業餘時間寫 program, 費時效率又低,途中也很難發表文章分享。而與硬件不同,發文也少了一些線路圖,照片以增加文章的趣味性。

盡管如此,cap多點圖畫,資訊希望充實內容。

頭炮是APRS天氣警告訊息發放實驗。

APRS的規劃了應用,和天氣訊息是密不可分。我理解是因美國那邊的天災多是由颱風所至,而災區的通訊支援,Ham radio operator傳統上也佔了一個席位。

那我們本地究竟可以在這方面有何作為。細讀 APRSspec,簡單可歸納幾點:

  • APRS 傳送天氣警告訊息
  • 利用動態的APRS message內容,做簡單的遠端控制
  • APRS ,將颱風途徑,預測路徑plotAPRS 地圖中。

 

APRS 傳送天氣警告訊息

天文台這方面的訊息透明度很高,用來作為 source 很好。關鍵是免費訊息多是給人看的,要拿來自動化就需從中撈取所需訊息。

我的做法是透過天文台 RSS 的天氣警告訊息撈取所需訊息,因相對較簡單和精簡(不要忘記ARPS每段訊息最多69character而已)。然後砌出APRS 訊息,再轉發出去。

系統簡介

平台: RaspberryPiLinux

編程語言: Python

整合到Dixprs iGATE裡,一機二用

Python是免費的,開發還境也有很多免費的選擇。一如很多業餘的編程者,主要編程是在Windows 系統下完成,再上載到linux系統微調。

程序流程:

  1. 每三分鐘訪問天文台 RSS feed 訊息
  2. 和之前 RSS feed 訊息與發佈時間比對
  3. 如訊息更新了,將之轉為 APRS 格式
  4. 依據訂戶名單,經 InternetRadio 同步發到 dixprs送出
  5. 記下發送log,保存記錄

 

clip_image005

程式不複雜,約100行就搞掂。

 

一點挫折,racing condition 情況發生了

斷續測試了三個多月,發現間中會發生 miss 訊息情況。初以為是本人的程式流程和 dixprs 衝突。但翻查 sent log 是已處理的。最後和 dixprs的作者溝通後,原來這是個 known bug,當處理外來訊息時會 random 發生 racing condition導致訊息可能沒發射而被 drop 掉。這需在往後的更新處理。

緩兵之計,我將訊息隔一秒再發射一次。Tune這間隔花了一個月…,成功率暫算滿意。

 

clip_image006

一號戒備訊號

clip_image008

酷熱天氣警告

clip_image010

酷熱天氣警告取消

clip_image011

雷暴警告

clip_image012

雷暴警告取消

clip_image014

沒有任何警告

clip_image016

黃色暴雨警告

clip_image018

黃色暴雨警告取消

clip_image020

Android手機行APRSdroid的畫面

 

獨樂樂,不如眾樂樂。現開放給本地配備APRS的電台測試。如不介意以上的known bug,請按左TabAPRS 天氣警告訊息”,填寫簡單資料,人手處理啟動後即可。

溜覽器太舊看不到左tag的,請在下link進入:

APRS 天氣警告訊息

 

 

動態的APRS message內容,做簡單的遠端控制

這個需 Client side 配合。一日沒動手做client的東西,一日仍是構想階段。主要是client side 收到 ARPS message 後,憑某位置的字元做簡單的動作,如 IO 輸出,特定顯示等。

clip_image022

如接收機可據接收到的特定字符而顯示custom madeicon,多好。(設計圖片)

外國一些 tracker 套件也可接受指令將 IO port 設為10。不過價錢不平宜。我也過了砌 Kit 的年代,這裡不花錢買來做demo了。有關tracker 的動態使用,今後重點放在Android Phone 上。

外國Hamdemo

https://www.youtube.com/watch?v=Apmx8P0nD3A

 

APRS ,將颱風途徑,預測路徑plot APRS 地圖中

clip_image024

今年第一個襲港颱風 熱帶風暴 海貝思

這個本是以上APRS RSS feed訊息系統的副產品。在今年一號風球襲港時成功將颱風名稱,位置讀入。當嘗試 plot到aprs.fi時,發現資料己被上載。細查raw data 訊息,是以一個名為 “APRS Hurricane Object Generator V3.3.3 by W7KKE”的程式發出。

clip_image025

花了點時間尋找W7KKE,終於聯絡上。他也熱情回覆。他的系統玩法大致如下:

他對氣象的興趣始於早年於美國海軍服役,專責於氣象監察機 WC-121 處理颱風數據。

他的program 是以VB2012編寫,西太平洋區的資料上載交由BG5HSC 處理,其他地區由他親自handle。系統暫時只處理北半球暴風資料。系統 data可參考以下四個渠道:

  • 美國國家暴風中心
  • 美國聯合颱風警報中心
  • 日本氣象廳
  • 地下天文台

系統維護的難處在於data格式時有轉變,需更新程式去撈取新格式下的有用資料。

既已有人做了,我也暫省回自行 plot aprs.fi 的計劃。但查看 W7KKE 系統上載的颱風資料,在 browser 內自行游到該方位是不能顯示 icon 的。需在搜索欄輸入颱風名稱在才顯示出來。這個估計和颱風 object 不是 standard aprs object 有關。

 

clip_image026

盡管我們談論的是APRS的應用,但熱衷於氣象的朋友,也可到 http://earth.nullschool.net/ 瀏覽一下實時世界氣流境象。現今世代,通才是唯一出路。

 

總結

兩年來介紹過的,除部份為理論的吹水文外,主要是外國同好的方案。擺得出嚟,仿做以至加減功能,對我其實不難。

但人家的東西,設計概念以至應用,皆以設計者的個人睇法為主。要電腦跟你的想法去做,編程無可避免。

今次實驗是以 Python 處理 ARPS 訊息,是一個開始。Aprs 訊息玩法靈活,轉至 SMS, Twitter,WhatsApp 並非不可行。

Python 是免費的,網上有很多免費資源可參考,不論電子書,免費學習平台等。

學習也需要動機,以 Python 編寫有關 APRS 系統,既可學到編程技巧,又可更深入理解 APRS 以至 Ham Radio 的新技術。是相得益彰。

而上述的 miss 訊息 bug,想深一層,在有少許 python 實戰經驗後,其實可自行研究 source code,看可否自行改code 解決。學習編程不是就是要來解決問題的嗎?

Python 的各式 library 豐富,今次是牛刀小試。之前說好的輻射監測等等概念皆以此為基礎而續步進行。

This entry was posted in APRS, Research and tagged , , , , . Bookmark the permalink.

7 Responses to 今年夏,風…起了-APRS天氣警告訊息發放實驗展開

  1. VR2VJJ says:

    真高興香港還有人在玩 APRS 呢.
    其實以前我也試過用 Script 去 將一隻 Weather Station object push 上 APRS network 呢.

    多多努力!

  2. vr2ugf says:

    有個APRS bugs reports睇下有無時間研究一下, 當有aprs packet through Digipeater 再,relay去XKP-10會有delay和回車問題,就是XKP-10收到個packet但無即刻upload,然後幾分鐘後再upload 上aprs-is, 請見下面的link部份紅色行:
    http://aprs.fi/?c=raw&call=VR2ZTK-1&limit=1000&view=normal

    • administrator says:

      謝謝你的訊息。

      一可能是Dixprs的問題。二可能是我個weather script和Dixprs兼容問題,始終我個script是排序三分鐘執行一次。但如這個情況只發生在ZTK身上,那可能和我的設定有關。

      原因是ZTK有時的packet會好頻密發出,我的IGate在其覆蓋範圍要頻密處理。但現在我個Igate要同時發出weather alert,如兩者同時發生,weather alert被drop掉的情況會大增。所以我將ZTK 的packet處理優先程度調低。資源問題,還請見諒。

  3. vr2ugf says:

    多謝回復,我初時都估都可能是IGATE問題,因這問題不只是ZTK-1有這個情況

    http://aprs.fi/?c=raw&call=VR2YDR-9&limit=1000&view=normal

    • administrator says:

      謝謝你的回覆。

      如情況也發生在其他callsign上,那就要研究一下。Dixprs還有個traffic shape 的設定,不知有否關係。

    • administrator says:

      Dear UGF

      經高人指點(dixprs作者),aprsfi會將上載的資料經處理後才會展示出來。不能用來作debug之用。

      所以我現將我的raw data 上載至dixprs.net的UDP server供閣下進一步分析。

      http://udplog1.dixprs.net:8880/aprspackets.php?source=VR2XKP-10

      而閣下上兩次提供的 link 已失效,我這邊難以再比較。而我用tracker 經10號igate上aprsfi,未有遲緩現象發生。

Leave a Reply

Your email address will not be published. Required fields are marked *