前言
近期搜索 Android App 有什麼新的 SDR 可試可用,發現一個名為 AIS_ share 的程式。趁前陣子周末閒暇,天氣回暖又無雨,決定再和 AIS 續前緣,反正上次也不算是成功。
AIS_Share 軟件先決
要在 Android Device 用 AIS_Share 接收 AIS 訊號,APP 要有三 :
RTL_AIS_Driver
AIS_Share
OpenCPN
RTL_AIS_Driver 是免費的,兼具 demo 功能。其功能是控制 SDR 手指調到 AIS 頻道,調較速率,PPM 參數修正和接收訊息等。
AIS_Share 需港幣14元。功能是控制 AIS driver 開關,和將其接收到的 Datagram 以 UDP 形式 forward 到同網絡的設備。
OpenCPN 同 PC 上的一樣,將 AIS 資料顯示在地圖上。留意,Play store 有兩同名不同開發商的 OpenCPN,一收費一免費;我們用免費的即可。
硬件
一如過往的實驗,SDR 手指經 OTG cable 接 tablet。承上次經驗,今次帶備高精度的和普通裝的 SDR 手指作 AB 比較。
留意,OpenCPN 地圖需經 Intrenet下載,GPS 定位也需用上。
準備功夫
在家首先下載安裝 RTL_AIS_Driver,接上 SDR 手指後執行 driver 程式,即開著 demo,然後按左上 start 掣。不出一會,下面應顯示和 RTLSDR 交換訊息的資料。
細心閱讀,如沒有 error 訊息,即 Driver 是兼容你的 tablet 和 SDR 手指了。留意,作者網站明言部份以 Intel Atom 為核心的 Android tablet 是不兼容。一些國產廉價的 tablet 正是用上 Atom chipset。如真是不兼容,無謂再花時間測試。
一切順利的話,這時可下載 AIS_Share。 AIS_Share 價錢只為港幣 14 元。相對 PC 用的軟件 shipplotter 21日試後承惠 Euro25,HK$14 是非常便宜的,比半餐麥記還平。
之後可繼續下載安裝免費版的 OpenCPN。
軟硬件皆備,可出發到海邊實戰一下。調較、設定 onsite 完成即可。
實戰
仍是尖東海旁,上次的風水寶地 Art Museum 竟然被封了。只能遠觀而不可褻玩焉。官網資料表示封館三年進行大翻新和擴建。我一向認為,museum 只是一個載體,內裡的館藏才是主菜。外表美倫美奐是慷納稅人之概,用了 25 年就要大翻新和擴建,那隔鄰的大空館就應剷平到火星上重建才夠勁。
沒辦法,周末遊人眾多,唯有退到文化中心一樓之 open area。雖不是望海,但也不影響訊號接收。
PPM 調較
接收過程中 AIS_Share 會自動呼叫 AIS driver,所以不要如之前 demo mode 那樣進入 driver 開關任何東西。
接好 SDR,踢著 tablet 的 GPS,等定位之時,我們到AIS_ Share 的設定 => RTL SDR USB DONGLE => PPM Dongle,預設值是 10。這是 SDR 晶振的誤差值。
這是關鍵參數。以我的高精度 1 ppm SDR 手指為例,你係1 ppm 就應如實改為 1 ppm。實驗初期,心想我是 1 ppm,你 default 就是 10 ppm,我準你咁多無需調較。
係 work,但成功收到的 packet 數字是不理想的 (大家緊記我喺海邊)。將 ppm 設回 1 ppm 後 packet 數字立即明顯上升。
未調較到 1 ppm 的訊號接收狀況,即 10 ppm
轉為了 1 ppm 後,情況明顯改善
訊號強度圖是每分鐘更新的。要耐心等一下。
1ppm 大戰 100ppm
OK,那舊款的,舊文說不能解 AIS 訊號的又如何?
用 1 ppm,10 ppm 參數,是不能成功接收到訊號的。改為50 ppm 後,開始有成功解碼 packet 進入。100 ppm 成功解碼率到合理水平。請留意,我沒詳細再試,如 90 ppm,110 ppm 等等。
50 ppm 時開始有連續的數據
調較到 100 ppm 後數據量和 1 ppm 是相約的
原因是我的高精度手指晶振是温度補償的,Chipset 用上二代 R820T2 ;長期運作較穩定,靈敏度較好、收到更多是正常的。
普通版的 SDR 手指生產批次,廠家用料不同以至長時間運作發熱導致頻率漂移也會影響 ppm 參數。大家以 100 ppm 為基礎再上下 fine tune 即可。
不要忘記,普通版的 SDR 手指只人仔約 40元,1 ppm 温度補償的高精度手指則約港幣二百元。普通版的只需掌握一點調較技巧就可補不足,價錢也相當大眾化,有利 Amateur Radio 的推廣普及。
其他 AIS_Share 設定,用 default 的就可以。他可以同時將 AIS,gps 訊號經 network 不同 port forward 到不同裝置,如電腦,notebook 等。請先記底有關設定。
由於我只是將資料內傳到 OpenCPN,network 設定用 default 的127.0.0.1 就 ok 了。
OpenCPN 設定
需將 OpenCPN 設定接收來自 AIS_Share 的 data stream。按左上的士巴拿 icon 設定 connections,按下圖中間的 Connections 加上 network 參數。
OpenCPN 本身預設支援 GPS,所以無需加上接收來至自AIS_ Share 的 GPS data stream 也可。完成後,等一兩分鐘應可在地圖上顯示船隻資訊。
部份船隻上岸了。是地圖輪廓太粗疏,或船隻定位訊號誤差較大,不得而知
OpenCPN 的地圖是三尖八角的 vector map,嘗試轉到google map,但等了一會也不顯示船隻資訊,只有自身方位。
整體運作
可能是三程式後台經 127.0.0.1 互通資料,既要應 SDR 手指,還開著了 GPS 關係,OpenCPN 按掣反應較遲鈍。不過除了設定外,一般是無需按掣的。
可輕按船隻 icon,會顯示相關資料
後記
臨收檔前Cap 下兩圖留念
這個 solution 是連頻率也無需調較的殘廢餐,少許設定就 ok;無需如 Notebook 上用 SDR# 配 AIS 軟件的一大堆設定,格價非常相宜。最高興的是能用上舊款較平的 SDR 手指。
這也替我的 AIS 訊號接收實驗劃上完滿句號。
這和之前介紹過的在 Android tablet 接收民航機 ADS-B 訊號方案配成一對,就是一個上天下海的組合。
天線無需深究,是隨 SDR 手指送的魚骨天線,簡簡單單。
而 Tablet 的 solution,與 notebook 相比,更是輕便。是本地,出國旅遊行到邊玩到邊的真正選擇。
翻看 google play store,探空儀的 Android RTL-SDR 接收方案仍是空白;期望盡快出現。
我想了解一下, ais信號佢點樣可以做到定位功能?即係船隻發出的位置, 如果沒有gps的話也能定到位?
https://zh.wikipedia.org/wiki/%E8%87%AA%E5%8B%95%E8%AD%98%E5%88%A5%E7%B3%BB%E7%B5%B1