?
一、太長(zhǎng)不看省流量版本:
給4G模組VBAT斷電關(guān)機(jī),模組關(guān)機(jī)前未能及時(shí)退出當(dāng)前基站,會(huì)有什么影響呢?
基站會(huì)誤以為設(shè)備還在線,下次開(kāi)機(jī)仍會(huì)拿著上次駐網(wǎng)信息去連基站。基站一看,上次鏈接還在——認(rèn)為你是非法設(shè)備,拒絕鏈接!
二、詳細(xì)問(wèn)題原因分析版本:
最近一兩年,時(shí)常有客戶朋友反饋,無(wú)論是合宙低功耗4G模組還是其他友商的模組——模塊重啟完成,注冊(cè)不上網(wǎng)。
在這里詳細(xì)記錄下復(fù)現(xiàn)問(wèn)題的過(guò)程、問(wèn)題產(chǎn)生的原因以及規(guī)避方法,并提供一些比重啟更好的辦法,希望能幫到類(lèi)似情況的朋友們。
以下是常見(jiàn)的4種關(guān)機(jī)重啟情況:
- 功耗原因關(guān)機(jī)重啟 -
客戶反饋:
自己對(duì)功耗特別看重,需要極低的功耗,所以關(guān)機(jī)。在需要啟動(dòng)的時(shí)候,再給模塊上電。
FAE解答:
在大多數(shù)人的認(rèn)知里,只要關(guān)機(jī)肯定是比待機(jī)更省電的,實(shí)則不然。
比如大多數(shù)人家里的電視盒子:
當(dāng)你按下遙控器的關(guān)機(jī)按鍵,其實(shí)只是切斷了輸出,你認(rèn)為的關(guān)機(jī)狀態(tài),和電視盒子的開(kāi)機(jī)狀態(tài),實(shí)際功耗區(qū)別并不是很大。
對(duì)4G模組來(lái)說(shuō),主要的耗電大頭在于——?jiǎng)傞_(kāi)機(jī)駐網(wǎng)那一下,以及發(fā)送數(shù)據(jù)時(shí)候。
下圖為使用Air9000P功耗分析儀測(cè)試Air780E,從開(kāi)機(jī)開(kāi)始的一小時(shí),每隔一分鐘往服務(wù)器發(fā)送一條消息的全段截圖,可以明顯看出耗電的大頭。
?
所以,如果你的應(yīng)用不會(huì)出現(xiàn)頻繁發(fā)數(shù)據(jù)(低于一小時(shí)一次)給服務(wù)器,那么是可以通過(guò)關(guān)機(jī)來(lái)降低功耗的。
但是這種降低功耗的手段,還不是最優(yōu)解。如果你一天發(fā)送數(shù)據(jù)多于4次,那么還有一種****更好的方法來(lái)降低功耗 ——那就是用合宙的低功耗解決方案。
詳見(jiàn)合宙4G超低功耗解決方案: www.airpsm.cn
- 網(wǎng)絡(luò)原因關(guān)機(jī)重啟 -
客戶反饋:
我們的設(shè)備處于網(wǎng)絡(luò)狀態(tài)不太好的地方,在遇到網(wǎng)絡(luò)不好的時(shí)候,我就重啟自己設(shè)備,重新讓模塊駐網(wǎng)。
FAE解答:
模塊駐網(wǎng)邏輯與掉線重連邏輯,是模塊內(nèi)部SDK自行處理的,掉網(wǎng)會(huì)給上層發(fā)送斷網(wǎng)消息,用戶只需要訂閱對(duì)應(yīng)消息即可。
重新駐網(wǎng)的邏輯其實(shí)模組內(nèi)部也是有的,大多數(shù)情況下,不需要應(yīng)用層做斷網(wǎng)處理。如果用戶對(duì)消息的及時(shí)性和準(zhǔn)確性有要求,可以將模塊與服務(wù)器的心跳間隔設(shè)置短一點(diǎn)。
AT版本:
設(shè)置心跳內(nèi)容和心跳間隔的指令為:
AT^HEARTBEAT和AT^HEARTCONFIG
具體參數(shù)可以查看AT手冊(cè): doc.openluat.com/article/4985
LuatOS版本:
可以查看socket.config接口,MQTT可以查看mqttc:keepalive接口。
具體接口描述參見(jiàn): wiki.luatos.com/api/index.html
- 續(xù)費(fèi)原因關(guān)機(jī)重啟 -
客戶反饋:
有時(shí)候會(huì)因?yàn)樽约豪m(xù)費(fèi)不及時(shí),導(dǎo)致SIM卡到期未續(xù)費(fèi),被停機(jī),所以自己代碼中做了處理,連不上網(wǎng)XX秒就斷電再上電。
FAE解答:
其實(shí)可以先嘗試進(jìn)出一次飛行模式,沒(méi)必要斷電。
如果你很頻繁的斷電再上電,電源部分PCB設(shè)計(jì)如果有不完善的地方,很有可能出現(xiàn)超過(guò)VBAT最大電壓的脈沖,進(jìn)而可能導(dǎo)致模塊損壞。
而且,模塊內(nèi)部SDK其實(shí)針對(duì)SIM卡未及時(shí)續(xù)費(fèi)這種情況也做了一些處理。即使你什么都不做, 到期兩三天內(nèi)續(xù)費(fèi)成功,模塊也會(huì)在10-30分鐘內(nèi)注冊(cè)上網(wǎng)絡(luò), 不用擔(dān)心模塊連不上網(wǎng)的問(wèn)題。
- 服務(wù)器原因關(guān)機(jī)重啟 -
客戶反饋:
我們連的是客戶服務(wù)器,客戶服務(wù)器不穩(wěn)定,時(shí)而能連時(shí)而不能連,所以在服務(wù)器連不上后,我們會(huì)斷電重啟模塊,嘗試看看能不能連上。
FAE解答:
模塊駐網(wǎng)(連接4G基站)沒(méi)什么問(wèn)題,只是鏈接服務(wù)器失敗, 可以做一些重連處理, 而不是頻繁的去斷電在上電。
如果以一個(gè)很頻繁的速度(一分鐘10次這種速度)去駐網(wǎng),很有可能被基站認(rèn)為是非法用戶,導(dǎo)致基站內(nèi)部防護(hù)策略生效,讓模塊再也連不上基站。
在這里可以推薦一種重連策略:
如果駐網(wǎng)正常,只是鏈接服務(wù)器異常,可以按照2^(n-1)S 的時(shí)間間隔去重連服務(wù)器。
例如:1S 2S 4S 16S 32S 64S…
當(dāng)然,需要一個(gè)最大上限時(shí)間,例如10分鐘。 沒(méi)有最大上限的話,可能導(dǎo)致服務(wù)器已經(jīng)好了,而模塊重連間隔時(shí)間過(guò)長(zhǎng),導(dǎo)致數(shù)據(jù)不能及時(shí)送達(dá)。
如果超出最大上限時(shí)間,服務(wù)器依舊連不上,再進(jìn)出飛行模塊幾次(進(jìn)出飛行模式的速度也不應(yīng)過(guò)快,過(guò)快也有可能被基站認(rèn)為是非法用戶)。
如果依舊注冊(cè)不上網(wǎng)絡(luò),再考慮給模塊斷電,然后重啟模塊。
綜上所示,其實(shí)大多數(shù)情況,沒(méi)必要給模塊進(jìn)行關(guān)機(jī)措施。
頻繁的開(kāi)關(guān)機(jī),還有可能導(dǎo)致模塊功耗異常或者注冊(cè)基站都注冊(cè)不上等問(wèn)題。
如果需要進(jìn)行關(guān)機(jī):
建議還是關(guān)機(jī)前先進(jìn)飛行模式,主動(dòng)和當(dāng)前基站進(jìn)行一個(gè)注銷(xiāo)的操作。
?
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2909文章
44578瀏覽量
372872 -
設(shè)備
+關(guān)注
關(guān)注
2文章
4503瀏覽量
70606 -
模組
+關(guān)注
關(guān)注
6文章
1488瀏覽量
30368
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論