1. 程式人生 > >基礎操作之無線數傳、電臺的通訊機制設定

基礎操作之無線數傳、電臺的通訊機制設定

1.心跳機制機制

外文名heartbeat mechanism

心跳機制是定時傳送一個自定義的結構體(心跳包),讓對方知道自己還活著,以確保連線的有效性的機制。

心跳包之所以叫心跳包是因為:它像心跳一樣每隔固定時間發一次,以此來告訴伺服器,這個客戶端還活著。事實上這是為了保持長連線,至於這個包的內容,是沒有什麼特別規定的,不過一般都是很小的包,或者只包含包頭的一個空包。
在TCP的機制裡面,本身是存在有心跳包的機制的,也就是TCP的選項。總的來說,心跳包主要也就是用於長連線的保活和斷線處理。一般的應用下,判定時間在30-40秒比較不錯。如果實在要求高,那就在6-9秒甚至更高;

我採購、選型過很多電臺、無線模組;也使用它們做過很多東西;如下我自己初擬定的無線通訊的機制之一;

2.訊號百分比:

    無線通訊對距離或外部環境干擾敏感,通過定時的收發來建立訊號量可大致衡量實時的通訊質量; 

    這在Mission Planner或tower等軟體皆有用到;

    Eg.定時20Hz收發資料,觀測實時最新的5s內獲得的訊息序列號存入佇列;比如某時刻狀態,應得有效資料100個,實際得到有效資料60個,則訊號量百分比為60%;

    很多地方使用心跳包定時發數來實現類似的功能;