功能說明

說明

相較於即時聊天型應用,MeshNoteBoard 更適合用於公告、資訊整理與非即時性的交流情境,讓訊息能在 Mesh 網路中穩定傳遞與保存。


便利貼留言板介面

MeshNoteBoard 以「便利貼」的方式呈現每一則訊息,並以視覺化方式顯示留言與回覆之間的關聯。

這樣的介面設計,讓使用者可以快速理解討論脈絡,也降低了一般使用者初次接觸 Mesh 系統時的學習門檻。


訊息發送與頻寬控管

在 LoRa Mesh 網路中,頻寬屬於有限且共享的資源。

為避免多人同時發送訊息造成頻寬壅塞,MeshNoteBoard 會將所有待發送的訊息先放入佇列,並依照設定的時間間隔依序送出。目前系統設定的最小發送間隔為 30 秒,以確保整體網路的穩定性。

此機制可有效降低封包碰撞的機率,提升 Mesh 網路中訊息傳遞的成功率。


接收確認與重傳機制

張貼者可以在介面上查看某一則便利貼,已被哪些接收端成功接收。

若發現有節點尚未成功收到該訊息,使用者可手動重新發送該便利貼,以提高資料同步的可靠度,確保重要資訊能完整傳遞至 Mesh 網路中的各個節點。


權限控管設計

MeshNoteBoard 的權限控管分為兩個層級:

第一層為 Meshtastic 網路層的 channel 設定,只有加入相同 channel 且使用相同金鑰(PSK)的節點,才能接收與同步該留言板的資料。

第二層為 MeshNoteBoard 應用層的權限設定,用於管理實際的操作行為。


管理者權限(ADMIN_PASSCODE)

在 config.py 中設定 ADMIN_PASSCODE 後,使用者可切換為管理者身份,進行留言板的管理操作。

管理者可執行的操作包含:

  • 將任一便利貼置頂

  • 封存(刪除)任一便利貼

  • 變更便利貼的顏色

  • 重新發送任一便利貼

所有管理操作的結果,皆會透過 Mesh 網路自動同步至同一個 channel 上的所有主機,以確保版面與資料的一致性。


張貼權限(POST_PASSCODE)

POST_PASSCODE 用於限制非管理者的張貼行為。

當設定此參數時,使用者需輸入正確的通關碼,才能張貼新的便利貼;若未設定,則所有使用者皆可自由張貼。

即使不是管理者,使用者仍可對自己所張貼的便利貼進行操作,包括封存、改變顏色,以及重新發送。


離線地圖支援

在實務應用中,透過地圖標示與說明位置資訊,往往比單純使用文字描述來得更精確。

透過離線地圖功能,系統在完全無網路的情況下,仍能正常顯示地圖,協助使用者進行位置標示與說明。

離線地圖支援多個 MBTiles 檔案與多圖層套疊,建議使用 Raster(點陣)格式,以確保在離線環境中能正常顯示所有地圖標籤與資訊。

Last updated