Meshtastic 離網通訊測試與節點製作
前言
什麼是 Meshtastic
Meshtastic 是一個由社群驅動的開源專案,目的是利用 LoRa(長距離、低功耗)無線電模組,在沒有行動網路或 Wi-Fi 的情況下,讓不同節點互相傳送文字與位置等資訊。我會注意到它,就是因為很好奇:如果把兩個節點分別帶到不同地方,只靠無線電,到底還能不能找到彼此?
Meshtastic 也有 Android 和 iOS App,手機透過藍牙連上節點後,就可以傳送與接收訊息,不需要一直對著開發板上的小螢幕操作。
詳細內容可以參考 Meshtastic 官網
開箱照片
這次使用的是 Heltec WiFi LoRa 32 開發板。它以 ESP32 為核心,整合了 LoRa 與小螢幕,拿來做 Meshtastic 節點很方便。我購入時單片大約 700 元左右,不過價格會隨通路和時間變動。
挑選版本時要特別留意無線電頻段。台灣低功率射頻器材的規範中,920 MHz~925 MHz 有開放給特定物聯網用途使用;實際設定仍要以當下法規、器材認證及發射功率限制為準。購買前最好先確認板子支援的頻段,不要只看外型就下單。相關規定可查閱國家通訊傳播委員會的低功率射頻器材技術規範。
為了實際測試訊號範圍,我一次買了兩塊開發板。這樣不必等別人也有設備,我一個人就可以帶著兩個節點,到不同位置測試能不能互相收到訊息。
話不多說,直接開箱~
本體的樣子很像我以前買過的 TTGO 開發板。另外要注意小螢幕很脆弱,安裝外殼時不要直接壓到面板;我其中一台就是裝殼時不小心把螢幕弄壞了。
第一次設定
基本流程是先依照官方安裝說明將 Meshtastic 韌體寫入兩塊開發板,再用手機 App 透過藍牙配對。接著設定所在地區與無線電參數,最後讓兩台裝置使用相同的頻道設定,便可以互相傳送訊息。
介面和選項會隨韌體版本改變,所以這裡不把每一個按鈕固定寫死。真正重要的是:兩端的頻道資料要一致,地區與頻率設定也必須符合實際使用地的規範。
3D列印外殼
另外,我也替戶外攜帶和固定放置的裝置列印了不同外殼。以下是我實際裝過、覺得可以參考的設計。
隨身攜帶的裝置
- 隨身攜帶的可以下載這個由 TonyG 設計的外殼
- 不過要另外購買四個螺絲與螺帽。(我在家裡只有找的兩個適合的螺絲,所以就將就著用了)
- 這個外殼有許多不同的造型可以選擇,我選擇的是六角形的造型。
- 他還有很多細項可以選擇
- 有沒有 GPS
- 有沒有開關
- 天線外置或內置
- 有沒有按鈕
- 不同大小的按鈕
- 不同的厚度(2000mAh 的電池我選擇背板是 11 mm的版本)
- 不過我組裝時遇到一個問題:外殼鎖緊後會誤觸按鈕,後來手動把按鈕柱削薄一點才解決。
| 正面 | 背面 |
|---|---|
![]() |
![]() |
家裡用的裝置
因為我有一台會放在家裡,相關設計圖可以參考這個由 Tai Robotik 設計的外殼。這個設計很緊湊,基本上沒辦法再放入其他模組(我後來放了氣壓計模組是直接貼在外面)。
這個外殼,如果沒有螺絲固定也可以很堅固。
因為會放在窗台邊,所以會比較容易接觸水氣的位置,所以我把裝置和 18650 電池盒一起放進大創買的收納盒。做一個簡單防潑水的防水殼的效果(更新:目前放了一年還是頭好壯壯)。
感測器模組
Meshtastic 節點還可以外接不同感測器。我買了一個 GPS 模組和一個氣壓計模組來裝在居家節點上。
GPS 模組
另外,我在戶外的裝置上裝了 GPS 模組 ATGM336h ,因為想說如果在外面遇到迷路,至少可以知道自己的位置。
安裝方式
這個模組從淘寶買的時候,大約 200 元左右。
不過我遇到一個奇怪的狀況:這顆 GPS 似乎只有開發板接上外部電源時才能正常工作,改用電池後就會斷線。可能和供電或板子的設定有關,但我還沒有確認原因,之後查到再更新。
氣壓計模組
居家節點則裝上 BMP280 氣壓計模組,讓它順便記錄氣壓與溫度。因為感測器離開發板很近,溫度可能會受到板子發熱影響,所以我會把它當成觀察趨勢的數值,而不是精密氣象資料。
安裝方式
BMP280 對應 heltec v3 的接線方式如下:
- 模組上的 VCC 接開發板的 5V(或 3.3 V ,依照模組而定)
- 模組上的 GND 接開發板的 GND
- 模組上的 SCL 接開發板的 42
- 模組上的 SDA 接開發板的 41
- 模組上的 CSB 不用接
- 模組上的 SDO 不用接
詳細接法可以參考這篇文章
換天線
後來換了一根天線試試看,訊號涵蓋範圍有比較廣一點,可以接收到比較遠的訊號。
成品展示
實際使用
目前測到的結果如下:
- 兩個節點直接通訊、不經過其他節點轉送時,大約 200 公尺還可以收到訊息,再遠就開始收不到。測試地點附近有不少大樓,遮蔽應該是重要因素之一。
- 訊息經過其他節點 hop 轉送時,我曾經從大都會公園傳到台北橋。這不是單一節點的直線距離,但可以看到網狀節點確實擴大了訊息能走到的範圍。
- 實際表現很吃視線範圍。建築、地形、天線位置和節點高度都會改變結果,因此這些數字只能代表我當時的測試環境。
心得
一開始只是想知道兩塊便宜的開發板究竟能傳多遠,真的做完後才發現,Meshtastic 好玩的地方不只距離。從頻率、天線、供電、GPS、外殼到節點擺放,每一項都會影響最後的結果。
它不像手機那樣打開就一定能傳到對方,卻也正因如此,每次成功收到遠方節點的訊息都很有成就感。之後如果能找到更高、遮蔽物更少的位置,我還想再做一次條件比較一致的距離測試。











