在集中式水表抄表應用中,一種合理的通訊方案是采用BLE本地1拖7采集,再通過NB遠傳,具體是1個水井中裝有8只水表,其中7只水表裝E95透傳從機模塊,剩下1只水表裝E92主從一體模塊+NB模塊,7只從機水表將數據匯總到這1只主機水表,主機水表再通過NB上傳至基站+后臺。
具體從機水表1天傳n次數據給主機,通信由從機發起,從機1次上報的數據量是35bytes左右,主機回復的數據量也是35bytes左右,主從機間是雙向通信。1個回合中,從機可能會有多次數據上報。
主機上電開始掃描周圍從機,當掃到全部7個從機后,主從1V1連接上,主機發送抄表指令,從機進行第1次數據上報,主機收到后下發第1個回復包,從機收到后發起第2次上報......,直到從機數據全部上報完畢。再去連第2個從機,依次類推。待主跟7個從機全部通信一輪完畢后,主機斷開連接。
注:客戶選擇主機跟7個從機保持長連接,即7個連接同時存在,原因是客戶后臺可能隨時會有數據下發,所以從機要隨時待命。
如果客戶沒有后臺數據隨時下發這個需求,可以采用主機跟1號從機1V1連接、通信完,斷開連接,再去連接2號從機,依次類推。這種方式的好處是主機只維護1個連接,數據處理能力會更強。
經溝通,客戶的痛點是:
●主機要盡快掃描到從機廣播。
●7個從機必須全部掃描到。
描述
01
1主7從通信流程細化
主機:上電初始化,主要包含設置連接參數、掃描參數——開啟掃描(必須要掃描到全部7個從機)——停止掃描——對1號從機發起連接——使能notify——發送抄表命令——收數據,直到數據全部上報完畢——對2號從機發起連接——依次類推,跟全部7個從機連接上,并通信完畢——主動斷開連接。
從機:上電初始化,主要包含設置廣播參數——進入廣播態——收到主機抄表命令后上報數據,直到數據全部上報完畢——保持連接狀態——主機斷開連接后,保持廣播態。
02
參數設置
主、從機相關參數設置,如下所示:
1、E95從機
出于降低功耗考慮,廣播間隔選擇2s。
2、E92主機
設置掃描參數
向上滑動閱覽
0x01,0xFC,0x34,0x2F,0x00, 0x64,0x00, 0x5A, 0x01, 0x01, 0x07, 0x80, 0x32 ,0x64,0x00, 0x28,0x00 ,0x00, 0x01//設置掃描參數
0x64,0x00=100*625us=62500us=62.5ms,掃描間隔。//因為從機廣播間隔是2s,比較大,為了盡快掃描到從機,主機掃描間隔設置的小一些,比如說采用默認值62.5ms。
0x5A=90%,scan duty占空比。//也是為了盡快掃描到從機,占空比設置的大一些,比如90%,即一個掃描間隔里,掃描窗口開90%,剩下10%時間處理其他事件。
0x01=主動掃描。//推薦設置成主動掃描,可獲取掃描響應。
0x01=1M phy。
0x07=掃描37、38、39信道。
0x80=-128dbm,rssi閾值。
0x32=每次掃描可緩存最大設備數,50個
0x64,0x00=100*100ms=10 000ms=10s,一次掃描持續的最長時間10s。//因為廣播間隔是2s,建議采用默認值10s,102=5,即給主機留了5個廣播包時間,來掃描到從機。
0x28,0x00=40ms. //改參數指定空閑時間。
0x00=不允許重復上報。
0x01 =連續掃描。
設置連接參數
向上滑動閱覽
0x01,0xFC,0x36,0x0F,0x00, 0xA0,0x00, 0x32, 0x01 ,0x18,0x01 ,0x64,0x00, 0x64,0x00 ,0x00,0x00 ,0xB0,0x04//設置連接參數
0x00 A0=160*625us=100 000us=100ms//推薦使用默認值100ms,此處掃描間隔,跟ID=0x34指令中的掃描間隔含義是一樣的,區別是使用場景不同,比如說主機保持1V7連接,突然與1個從機的連接斷開了,那么主機就直接用0x36指令發起連接。
0x32=50%,掃描占空比。//此處的掃描占空比不能設置的太大,一般采用默認值50%,因為設置的太大,那么一個掃描間隔中,主機幾乎都處于掃描態,那么它就沒空處理連接事件了,可能會導致連接斷開。
0x01=PHY 1M.
0x18,0x01=280*100ms=28000ms=28s,連接失敗檢測超時。//指MCU給主機發送0x36指令后,一旦≥28s連接還未建立成功,那么主機會吐出連接建立失敗的log。
0x64,0x00=100ms,最小連接間隔。//連接間隔可以根據自己應用層數據量來決定,注意如果客戶想設置成某個值,那么建議主、從機的最小、最大連接間隔都設置成這個值。
0x64,0x00=100ms,最大連接間隔。//同上。
0x00,0x00=0s,從機潛伏次數。
0xB0,0x04=1200*10ms=12000ms=12s,初始連接丟失監測超時時間。//如果客戶采用長連接,為了保證連接的穩定性,必須設置成≥12s(經驗值)。
-
通信
+關注
關注
18文章
6032瀏覽量
135995 -
BLE
+關注
關注
12文章
660瀏覽量
59413
發布評論請先 登錄
相關推薦
評論