2018年8月21日 星期二

TTN Gateway Setup



前陣子終於架了一個長期的戶外Gateway,用的是兩張V1.2的Gateway Hat, 分別跑915Mhz 和 433Mhz

架構是POE一條網路線供電和網路,內部用一個分離器接出網路和電給RPI,RPI背兩張Gateway Hat,中間那層是433Mhz,上層是915Mhz+GPS,因為PPS有接到GPIO,所以中層433Mhz的板子吃915Mhz那張的PPS,最後兩條RX拉出來接上兩個天線。

最主要的問題大概是過熱吧,可能放在這種戶外防水盒內不通風的狀況下,加上RPI和SX1301都滿熱的...所以我還另外加上一個風扇,然後在中層貼了兩個散熱片。

次要的問題大概是手上沒有短的網路線,所以整線滿慘的...

次次要的問題大概是不知道為啥光華買不到915Mhz的天線,所以只好拿膠棒天線直接上

可以看到天線底下有一個915Mhz的LNA+Filter板,供電用Bias給,433Mhz的天線也是一樣,不過用比較高級的LNA,0.28dB的NF看起來不錯。

至於怎麼接上TTN:

clone完packet_forwarder之後,先Compile,然後在./packet_forwarder/lora_pkt_fwd/底下有一個update_gwid.sh,先跑一遍讓packet_forwarder讀網卡的MAC address,然後會跑出一個Gateway ID,用那個ID去註冊TTN,記得頻率要選Asia 923-925。

接下來準備global_conf.json,在台灣的話會是Asia 923-925
這邊有conf檔案可以下載(AS2):https://github.com/TheThingsNetwork/gateway-conf

然後再修改一下,首先就是板子上沒有LBT,所以LBT要關掉
"lbt_cfg": {
"enable": true,
--> 改成false

然後有GPS, 所以 "gateway_conf": {後面加上"gps_tty_path": "/dev/serial0",
不過這樣一來Gateway的位置就沒辦法自行設定,即使沒有public也是一樣



Low Power WiFi Weather Display V2




總之這版是Update成電子紙版本,最主要是因為我去看了Computex之後才發現原來4.2"比我想像中的大很多,價錢也沒有說很貴,所以就買回來試試。基本上架構和之前一樣,都是MT7687 + G2553的組合,而且這次因為電子紙也可以直接斷電,所以整個Power Plane就簡單很多,直接切斷電子紙和MT7687的3.3V,然後斷開USB轉UART的TX/RX 即可。

由於新的4.2"電子紙螢幕hen大,所以電池也直接Upgrade成4000mAh的電池,照目前的耗電量估算至少可以撐一整年,只是比我想像中的重了一點...另外電池底下的黑色軟片是NFC線圈的防磁貼片,為了避免電池影響到NFC的運作,如果以前有玩過悠遊卡放手機裡面的人應該有印象。

照慣例螢幕底下放Wifi Config用的NFC Tag,真的好用,然後因為空間實在是太大了,所以放我老婆照片。
新的4.2"解析度其實沒有大很多,只是長了一點,所以軟體可以不用大改也會動

軟體上幾乎一樣,因為剛好我之前的螢幕是400x240,而新的只是長了一點400x300
所以繪圖上,只是加了一行降雨機率。不過另外一點比較重要的是,現在會定時Update,以前純粹是G2533睡了8HR醒來Update,但是有個問題是CWB每00,06,12,18Z 會Update一次預報,所以我需要Update最新的那一報,所以Solution是MT7687 Update完畢之後,HTTP Get的Header其實就有時間,用那個計算下一個Update時間經過多久之後,透過Pulse的長度去通知G2533需要Sleep多久(MT7697沒有UART可以用+我懶得用其他方式encode digital的)。不過可想而知的是,一來MSP430的時鐘並不是那麼的精確,二來這種透過Pulse長度來計算的方式也會有計量誤差(Aka.測量長度的解析度問題),所以我的設計上並不是說整點就去撈,因為不確定實際上是整點前還是後,所以固定晚五分鐘Update。


大概就是這樣,Battery Testing.......