數(shù)據(jù)回傳:北斗短報(bào)文與4G雙模通信方案實(shí)戰(zhàn))
深山里的滲壓計(jì)數(shù)據(jù)怎么傳出來這件事我前前后后折騰了快兩年。最早用純4G方案設(shè)備裝在峽谷底部離最近基站直線距離不到三公里但中間隔了兩道山梁信號(hào)強(qiáng)度常年徘徊在-105dBm以下能連上但發(fā)不出數(shù)據(jù)偶爾運(yùn)氣好傳回來一包時(shí)間戳還是亂的。后來換成純北斗短報(bào)文單包容量小、頻次受限滲壓計(jì)這種需要連續(xù)觀測的場景根本喂不飽。最后落地的是北斗短報(bào)文加4G雙模通信方案核心思路很簡單有4G走4G沒4G走北斗兩條腿走路數(shù)據(jù)不丟。這套方案我前后在三個(gè)不同地形做了實(shí)測從設(shè)備選型、天線布設(shè)、協(xié)議適配到功耗控制踩過的坑不少今天把完整思路和實(shí)操細(xì)節(jié)整理出來給做野外安全監(jiān)測、地質(zhì)災(zāi)害預(yù)警、水庫大壩滲流觀測的同行參考。1. 為什么單模方案在深山曠野里必然翻車1.1 4G覆蓋的物理極限與滲壓計(jì)部署場景的錯(cuò)位很多人選型時(shí)看運(yùn)營商的覆蓋地圖覺得標(biāo)了4G覆蓋就能用。實(shí)際到了現(xiàn)場你會(huì)發(fā)現(xiàn)覆蓋地圖是按面統(tǒng)計(jì)的而滲壓計(jì)是點(diǎn)部署。一個(gè)測點(diǎn)可能正好在山體背坡、峽谷底部、或者茂密林冠下這些位置的信號(hào)衰減和地圖上那個(gè)綠色色塊完全是兩回事。我做過一組實(shí)測數(shù)據(jù)同一座山山頂信號(hào)強(qiáng)度-65dBm山腰-85dBm谷底-108dBm。滲壓計(jì)因?yàn)橐獪y地下水位通常埋設(shè)在壩體下游、邊坡底部、河谷階地這些低洼位置恰恰是信號(hào)最差的地方。更麻煩的是滲壓計(jì)安裝后基本不可移動(dòng)你沒法像手持設(shè)備那樣找個(gè)信號(hào)好的地方站一站。從射頻原理上講4G常用頻段在800MHz到2600MHz之間頻率越高繞射能力越弱。深山環(huán)境里信號(hào)傳播主要靠繞射和散射沒有直射徑。當(dāng)?shù)谝环颇鶢枀^(qū)被山體遮擋超過60%時(shí)鏈路損耗會(huì)急劇上升。我遇到過最極端的情況直線距離基站1.8公里但中間山體遮擋角超過15度實(shí)測RSRP只有-112dBmSINR為負(fù)值模塊能注冊(cè)上網(wǎng)絡(luò)但TCP連接根本建不起來。1.2 北斗短報(bào)文的容量約束與滲壓數(shù)據(jù)特征的不匹配北斗短報(bào)文的問題不在覆蓋在容量和頻次。民用北斗短報(bào)文的單包長度有限早期是78個(gè)字節(jié)左右后來部分型號(hào)支持更長報(bào)文但相比4G動(dòng)輒幾百KB的傳輸能力差距是數(shù)量級(jí)的。滲壓計(jì)的輸出是什么通常是振弦式或壓阻式傳感器每次采集得到頻率值或電壓值換算成滲壓水頭。單次數(shù)據(jù)量不大但監(jiān)測規(guī)范要求高頻次采集比如每小時(shí)一次甚至每十分鐘一次還要帶時(shí)間戳、設(shè)備ID、電池電壓、溫度補(bǔ)償值。這些字段加起來一包數(shù)據(jù)輕松超過100字節(jié)。如果按小時(shí)頻次一天24包一個(gè)月720包純北斗短報(bào)文的發(fā)送頻次和單包容量都撐不住。還有一個(gè)容易被忽略的點(diǎn)北斗短報(bào)文的發(fā)送不是隨時(shí)想發(fā)就發(fā)。它依賴衛(wèi)星過頂窗口雖然現(xiàn)在的星座覆蓋已經(jīng)好了很多但在深山峽谷里衛(wèi)星仰角受限實(shí)際可用窗口比開闊地少得多。我實(shí)測過一個(gè)谷底點(diǎn)位全天有效發(fā)送窗口加起來不到4小時(shí)而且分散在幾個(gè)時(shí)段。如果滲壓數(shù)據(jù)要按小時(shí)上報(bào)純北斗方案必然丟數(shù)據(jù)。1.3 雙模不是簡單疊加而是鏈路層的智能切換很多人理解的雙模就是裝兩個(gè)模塊哪個(gè)有信號(hào)用哪個(gè)。真做起來遠(yuǎn)沒這么簡單。核心難點(diǎn)在于切換判據(jù)怎么定切換時(shí)機(jī)怎么選切換過程中數(shù)據(jù)怎么保證不丟我見過一些方案用信號(hào)強(qiáng)度做判據(jù)RSSI高于某個(gè)閾值就走4G低于就走北斗。實(shí)際跑下來問題很大信號(hào)強(qiáng)度是瞬時(shí)值山區(qū)信號(hào)波動(dòng)劇烈可能這一秒-85dBm下一秒就掉到-100dBm。如果頻繁切換兩個(gè)模塊都處于反復(fù)喚醒狀態(tài)功耗飆升而且每次切換都要重新建鏈數(shù)據(jù)發(fā)送成功率反而下降。更合理的做法是用鏈路可用性做判據(jù)而不是信號(hào)強(qiáng)度。具體說就是定期嘗試建立4G的TCP連接如果能建連并完成一次心跳交互就認(rèn)為4G鏈路可用如果連續(xù)N次建連失敗才切到北斗。這個(gè)N不能太小我一般設(shè)3次避免因瞬時(shí)波動(dòng)誤判。同時(shí)北斗鏈路保持待命狀態(tài)不主動(dòng)發(fā)送只在4G確認(rèn)不可用時(shí)才啟用。2. 雙模通信終端的硬件選型與天線布設(shè)細(xì)節(jié)2.1 主控與通信模塊的搭配邏輯這套方案的核心硬件是一臺(tái)低功耗數(shù)據(jù)采集終端內(nèi)部集成4G模組和北斗短報(bào)文模組。主控我選的是STM32L系列看中的是低功耗模式下電流能壓到微安級(jí)因?yàn)橐巴庠O(shè)備靠太陽能加蓄電池供電功耗直接決定續(xù)航。4G模組選型上我試過幾款。早期用的一款國產(chǎn)Cat.1模組成本低但在弱信號(hào)下的表現(xiàn)不穩(wěn)定-100dBm左右就頻繁掉網(wǎng)。后來換成Cat.4模組靈敏度好一些但功耗上去了。最終落地用的是支持PSM和eDRX的Cat.1模組在弱信號(hào)下能保持注冊(cè)同時(shí)通過PSM模式把待機(jī)功耗壓下來。這里有個(gè)經(jīng)驗(yàn)不要只看模組的標(biāo)稱靈敏度要看它在實(shí)際網(wǎng)絡(luò)下的保持注冊(cè)能力。有些模組標(biāo)稱-108dBm能解調(diào)但在這個(gè)電平下早就脫網(wǎng)了根本談不上保持。北斗短報(bào)文模組選的是支持RDSS短報(bào)文功能的型號(hào)重點(diǎn)看兩個(gè)參數(shù)發(fā)射功率和接收靈敏度。發(fā)射功率一般標(biāo)稱幾瓦但實(shí)際天線效率很關(guān)鍵后面會(huì)講。接收靈敏度決定了在弱信號(hào)下能不能收到下行確認(rèn)這個(gè)參數(shù)比發(fā)射功率更容易被忽略。2.2 天線布設(shè)比選型更容易翻車的環(huán)節(jié)天線是這套方案里最容易被低估的部分。我見過太多案例設(shè)備選型沒問題協(xié)議調(diào)通了現(xiàn)場一裝就是發(fā)不出去最后查出來是天線布設(shè)的問題。4G天線方面深山環(huán)境建議用高增益定向天線而不是全向天線。全向天線增益一般2-3dBi定向天線可以做到8-12dBi。別小看這10dB的差距在弱信號(hào)下就是能連和不能連的區(qū)別。定向天線要對(duì)準(zhǔn)基站方向這個(gè)方向需要現(xiàn)場用測試手機(jī)或掃頻儀確定不能憑感覺。我一般會(huì)先用一部工程手機(jī)裝信號(hào)測試軟件沿著測點(diǎn)周圍走一圈找到信號(hào)最強(qiáng)的方向再把定向天線固定上去。北斗天線方面關(guān)鍵是看天。北斗信號(hào)來自上空天線需要盡可能開闊的視野。深山峽谷里天線要架設(shè)在測點(diǎn)上方的制高點(diǎn)比如立一根桿子把天線舉高避開樹冠和巖壁遮擋。我實(shí)測過同樣一個(gè)點(diǎn)位天線放在地面時(shí)北斗發(fā)送成功率不到30%舉高5米后成功率提到85%以上。這個(gè)提升幅度遠(yuǎn)超預(yù)期值得在施工時(shí)多花力氣。還有一個(gè)細(xì)節(jié)4G天線和北斗天線要保持足夠間距一般建議大于1米。太近的話4G發(fā)射時(shí)的諧波可能落入北斗接收頻段造成干擾。我遇到過一例兩個(gè)天線并排裝在一個(gè)支架上北斗接收靈敏度直接下降6dB分開后就正常了。2.3 供電與防護(hù)野外設(shè)備的生存底線深山曠野的供電方案基本就是太陽能板加蓄電池。太陽能板功率要根據(jù)當(dāng)?shù)厝照諚l件和設(shè)備功耗算。我一般按最差日照月來設(shè)計(jì)比如冬季日照只有3小時(shí)有效設(shè)備日均功耗0.5Wh那太陽能板至少要選3W以上再留一倍余量。蓄電池選磷酸鐵鋰循環(huán)壽命長低溫性能比鉛酸好。容量按連續(xù)陰雨天7天供電來算這是行業(yè)里比較穩(wěn)妥的做法。如果當(dāng)?shù)剡B續(xù)陰雨超過7天要么加大電池要么降低采集頻次。防護(hù)方面機(jī)箱至少IP65接頭全部用防水接頭天線接口做防水處理。我踩過一個(gè)坑機(jī)箱防水沒問題但天線饋線接頭沒做防水一場雨后接頭進(jìn)水駐波比惡化4G和北斗同時(shí)失效。后來所有室外接頭都纏防水膠帶加冷縮管再?zèng)]出過問題。3. 雙模切換策略與數(shù)據(jù)補(bǔ)傳機(jī)制的實(shí)現(xiàn)3.1 鏈路健康度評(píng)估別用RSSI做唯一判據(jù)前面提過用RSSI做切換判據(jù)不靠譜。我實(shí)際用的是一套組合判據(jù)核心是鏈路可用性評(píng)分。具體實(shí)現(xiàn)上終端每隔一段時(shí)間我設(shè)的是15分鐘做一次鏈路探測。探測內(nèi)容包括4G模組是否注冊(cè)成功、PDP激活是否正常、能否與服務(wù)器建立TCP連接、心跳包是否在超時(shí)時(shí)間內(nèi)返回。這四項(xiàng)全部通過才認(rèn)為4G鏈路健康。任何一項(xiàng)失敗記錄一次失敗計(jì)數(shù)。連續(xù)3次探測失敗才觸發(fā)切換到北斗。這個(gè)連續(xù)3次的設(shè)計(jì)很關(guān)鍵。山區(qū)信號(hào)波動(dòng)大單次失敗可能是瞬時(shí)遮擋比如一只鳥落在天線上都能導(dǎo)致一次失敗。連續(xù)3次失敗時(shí)間跨度45分鐘基本可以排除瞬時(shí)因素。北斗鏈路這邊不主動(dòng)做健康探測因?yàn)楸倍钒l(fā)送本身耗電且占用衛(wèi)星資源。北斗只在4G確認(rèn)不可用時(shí)啟用啟用后按預(yù)設(shè)頻次發(fā)送數(shù)據(jù)同時(shí)繼續(xù)嘗試恢復(fù)4G。一旦4G恢復(fù)健康切回4G北斗回到待命狀態(tài)。3.2 數(shù)據(jù)緩存與補(bǔ)傳確保一包不丟雙模切換過程中最怕的是數(shù)據(jù)丟失。比如4G斷了切到北斗但北斗發(fā)送頻次低這期間采集的數(shù)據(jù)怎么辦答案是本地緩存加補(bǔ)傳。終端內(nèi)部要有一塊非易失存儲(chǔ)我一般用SPI Flash容量不用太大幾MB就夠存幾個(gè)月的滲壓數(shù)據(jù)。每次采集后數(shù)據(jù)先寫入緩存標(biāo)記為待發(fā)送。4G健康時(shí)按正常頻次發(fā)送發(fā)送成功后標(biāo)記為已發(fā)送。4G不可用時(shí)數(shù)據(jù)繼續(xù)緩存北斗按自己的節(jié)奏發(fā)送優(yōu)先發(fā)送最新的數(shù)據(jù)同時(shí)逐步補(bǔ)發(fā)歷史緩存。這里有個(gè)策略選擇北斗補(bǔ)傳時(shí)是優(yōu)先發(fā)最新數(shù)據(jù)還是優(yōu)先發(fā)最老數(shù)據(jù)我的做法是優(yōu)先發(fā)最新數(shù)據(jù)因?yàn)楸O(jiān)測場景下最新數(shù)據(jù)價(jià)值最高歷史數(shù)據(jù)可以慢慢補(bǔ)。但要注意緩存不能無限增長要設(shè)一個(gè)上限比如存滿80%后開始覆蓋最老的數(shù)據(jù)同時(shí)產(chǎn)生一條告警記錄提示運(yùn)維人員關(guān)注。補(bǔ)傳的確認(rèn)機(jī)制也要設(shè)計(jì)好。北斗短報(bào)文的下行確認(rèn)不是百分百可靠發(fā)送后要等待確認(rèn)回執(zhí)。如果超時(shí)未收到回執(zhí)標(biāo)記為待重發(fā)下次窗口再發(fā)。重發(fā)次數(shù)要設(shè)上限比如5次超過后標(biāo)記為發(fā)送失敗避免無限重試占用資源。3.3 協(xié)議適配把滲壓數(shù)據(jù)塞進(jìn)短報(bào)文滲壓計(jì)的數(shù)據(jù)要經(jīng)過編碼才能通過北斗短報(bào)文發(fā)送。原始數(shù)據(jù)包括傳感器頻率值、溫度值、時(shí)間戳、設(shè)備ID、電池電壓等。如果直接按文本格式發(fā)一包輕松超過100字節(jié)北斗短報(bào)文裝不下。我的做法是自定義一套二進(jìn)制協(xié)議把數(shù)據(jù)壓縮到最短。具體來說設(shè)備ID用2字節(jié)時(shí)間戳用4字節(jié)Unix時(shí)間頻率值用4字節(jié)浮點(diǎn)溫度用2字節(jié)整數(shù)放大10倍存電池電壓用1字節(jié)放大10倍存再加1字節(jié)校驗(yàn)??偣?4字節(jié)加上協(xié)議頭和尾一包控制在20字節(jié)以內(nèi)遠(yuǎn)低于北斗短報(bào)文的容量上限。這樣做的好處是即使北斗短報(bào)文的容量有限也能一包發(fā)完所有關(guān)鍵數(shù)據(jù)不需要分包。分包在北斗鏈路上是很麻煩的事因?yàn)槊總€(gè)包都要等窗口分包會(huì)成倍增加發(fā)送時(shí)間。4G鏈路上則可以發(fā)更豐富的數(shù)據(jù)比如原始波形、診斷信息等這些數(shù)據(jù)量大但不緊急走4G更合適。所以協(xié)議設(shè)計(jì)上我做了兩套編碼精簡版走北斗完整版走4G。服務(wù)器端根據(jù)來源標(biāo)識(shí)自動(dòng)解析。4. 現(xiàn)場調(diào)試與長期運(yùn)行中的真實(shí)問題記錄4.1 調(diào)試階段怎么確認(rèn)北斗鏈路真的通了北斗短報(bào)文的調(diào)試比4G麻煩因?yàn)槟憧床坏叫盘?hào)強(qiáng)度這種直觀指標(biāo)。我的調(diào)試流程是這樣的第一步確認(rèn)北斗模組能正常上電、自檢通過。這一步看模組的串口輸出一般會(huì)有自檢信息。第二步確認(rèn)天線連接正常。用駐波比測試儀測一下駐波比大于2就要檢查天線和饋線。這一步很多人跳過但天線沒接好是北斗發(fā)送失敗的最常見原因。第三步做一次短報(bào)文發(fā)送測試。發(fā)一條測試報(bào)文到自己的管理平臺(tái)看能否收到。這里要注意北斗短報(bào)文的發(fā)送不是即時(shí)的要等衛(wèi)星窗口。我一般會(huì)等5到10分鐘如果還沒收到再檢查。第四步確認(rèn)下行確認(rèn)能收到。發(fā)送成功后北斗系統(tǒng)會(huì)返回一個(gè)確認(rèn)回執(zhí)。如果收不到回執(zhí)可能是接收通道有問題要檢查天線接收方向。我踩過一個(gè)坑調(diào)試時(shí)在室內(nèi)做北斗完全沒信號(hào)以為是設(shè)備問題折騰了半天。后來搬到室外開闊地一切正常。北斗調(diào)試必須在室外而且要在視野開闊的地方這一點(diǎn)沒有捷徑。4.2 長期運(yùn)行那些慢慢浮現(xiàn)的問題設(shè)備裝上去只是開始長期運(yùn)行才是考驗(yàn)。我記錄了幾個(gè)典型問題第一個(gè)是天線老化。室外天線經(jīng)過日曬雨淋饋線接頭容易氧化導(dǎo)致駐波比升高。我現(xiàn)在的做法是每年雨季前巡檢一次測駐波比超過1.8就處理。第二個(gè)是蓄電池衰減。磷酸鐵鋰雖然壽命長但在高溫環(huán)境下容量衰減會(huì)加速。機(jī)箱如果暴曬內(nèi)部溫度能到60度以上電池壽命直接減半。后來我給機(jī)箱加了遮陽板內(nèi)部溫度降了15度左右電池狀態(tài)明顯好轉(zhuǎn)。第三個(gè)是4G網(wǎng)絡(luò)的變化。運(yùn)營商可能調(diào)整基站參數(shù)或者附近新建了建筑物遮擋導(dǎo)致原本健康的4G鏈路變差。雙模方案的好處在這里體現(xiàn)出來4G變差后自動(dòng)切北斗數(shù)據(jù)不丟運(yùn)維人員有時(shí)間去現(xiàn)場排查。第四個(gè)是北斗窗口的季節(jié)性變化。衛(wèi)星軌道和遮擋角的關(guān)系會(huì)隨季節(jié)變化某些點(diǎn)位在冬季窗口特別短。我在設(shè)計(jì)采集頻次時(shí)會(huì)留余量比如按冬季最差情況設(shè)計(jì)夏季自然沒問題。4.3 一個(gè)真實(shí)的切換失敗案例復(fù)盤去年有個(gè)點(diǎn)位4G和北斗都配了但連續(xù)一周數(shù)據(jù)沒上來。遠(yuǎn)程排查發(fā)現(xiàn)終端一直在嘗試4G但4G鏈路始終不健康按理說應(yīng)該切北斗但沒切。后來去現(xiàn)場查發(fā)現(xiàn)是切換邏輯的一個(gè)邊界條件沒處理好4G模組在弱信號(hào)下會(huì)反復(fù)注冊(cè)-脫網(wǎng)-再注冊(cè)每次注冊(cè)成功都會(huì)觸發(fā)一次鏈路探測探測失敗后失敗計(jì)數(shù)加一但注冊(cè)成功又把計(jì)數(shù)清零了。結(jié)果失敗計(jì)數(shù)永遠(yuǎn)到不了3切換永遠(yuǎn)不觸發(fā)。修復(fù)方法很簡單把失敗計(jì)數(shù)的清零條件改成鏈路探測成功而不是模組注冊(cè)成功。模組注冊(cè)成功但探測失敗計(jì)數(shù)繼續(xù)累加。改完后切換邏輯正常了。這個(gè)案例說明雙模切換的邏輯不能想當(dāng)然要在真實(shí)網(wǎng)絡(luò)環(huán)境下反復(fù)測試。實(shí)驗(yàn)室里信號(hào)穩(wěn)定很多邊界條件暴露不出來。5. 功耗預(yù)算與采集頻次的平衡方法5.1 各模塊的功耗賬要算清楚野外設(shè)備靠太陽能供電功耗預(yù)算必須精打細(xì)算。我把各模塊的功耗列了個(gè)表方便大家參考模塊工作狀態(tài)電流說明主控運(yùn)行8mA采集和運(yùn)算時(shí)主控休眠5uA待機(jī)時(shí)4G模組傳輸120mA平均峰值更高4G模組PSM待機(jī)10uA保持注冊(cè)北斗模組發(fā)射1.5A瞬時(shí)持續(xù)幾秒北斗模組待機(jī)20uA不發(fā)射時(shí)傳感器激勵(lì)15mA采集瞬間從表里能看出來北斗發(fā)射的瞬時(shí)電流很大但持續(xù)時(shí)間短。4G傳輸?shù)碾娏髦械鹊掷m(xù)時(shí)間長。所以功耗優(yōu)化的關(guān)鍵是減少4G傳輸時(shí)間減少北斗發(fā)射次數(shù)。5.2 采集頻次與發(fā)送頻次的解耦設(shè)計(jì)很多人把采集頻次和發(fā)送頻次設(shè)成一樣比如每小時(shí)采集一次就每小時(shí)發(fā)一次。這樣功耗很高而且沒必要。我的做法是解耦采集可以高頻比如每15分鐘一次數(shù)據(jù)存本地發(fā)送可以低頻比如每2小時(shí)打包發(fā)一次。這樣既保證了數(shù)據(jù)密度又降低了通信功耗。滲壓變化是緩變量15分鐘采集一次已經(jīng)足夠捕捉變化趨勢(shì)發(fā)送頻次低一些不影響監(jiān)測效果。如果4G健康可以適當(dāng)提高發(fā)送頻次因?yàn)?G傳輸功耗相對(duì)可控。如果切到北斗發(fā)送頻次自動(dòng)降低比如每4小時(shí)一次優(yōu)先保證關(guān)鍵數(shù)據(jù)上報(bào)。5.3 太陽能板與電池的匹配計(jì)算供電設(shè)計(jì)不能拍腦袋。我一般按以下步驟算第一步算日均功耗。把各模塊的工作電流乘以工作時(shí)間加起來得到日均mAh。比如4G每天傳輸2小時(shí)120mA乘2等于240mAh北斗每天發(fā)射10次每次5秒1.5A乘5秒乘10次除以3600約等于20.8mAh主控和其他算50mAh。合計(jì)約310mAh。第二步算太陽能板功率。按最差日照3小時(shí)算需要補(bǔ)回310mAh加上充電效率0.7實(shí)際需要310除以0.7約443mAh。太陽能板在3小時(shí)內(nèi)要發(fā)443mAh對(duì)應(yīng)功率約443mAh除以3h等于148mA按3.7V算約0.55W??紤]余量選3W板子足夠。第三步算電池容量。按連續(xù)7天無日照需要7乘310等于2170mAh??紤]電池放電深度不超過80%實(shí)際需要2170除以0.8約2712mAh。選3.7V 5000mAh電池余量充足。這套算法不復(fù)雜但很多人跳過這一步導(dǎo)致現(xiàn)場供電不足。我建議在選型階段就把這筆賬算清楚比現(xiàn)場返工劃算得多。6. 這套方案適合什么場景不適合什么場景6.1 最適合的場景特征這套雙模方案不是萬能的它有明確的適用邊界。最適合的場景有幾個(gè)特征一是4G覆蓋時(shí)好時(shí)壞而不是完全沒有。如果完全沒有4G那純北斗方案更簡單不需要雙模。雙模的價(jià)值在于利用4G的高帶寬和低成本同時(shí)用北斗兜底。二是數(shù)據(jù)實(shí)時(shí)性要求中等。如果要求秒級(jí)上報(bào)北斗滿足不了得想別的辦法。滲壓監(jiān)測一般是分鐘級(jí)到小時(shí)級(jí)雙模完全夠用。三是供電受限但有一定日照條件。如果完全無日照比如深谷底部常年不見太陽那太陽能方案不成立得考慮其他供電方式。四是測點(diǎn)數(shù)量不多但分散。雙模終端成本比單模高如果測點(diǎn)密集可以考慮集中采集再統(tǒng)一回傳降低單點(diǎn)成本。6.2 需要謹(jǐn)慎評(píng)估的場景有些場景用這套方案要謹(jǐn)慎。比如極寒地區(qū)電池性能下降嚴(yán)重北斗模組的發(fā)射性能也可能受影響需要選低溫型號(hào)并加大電池余量。再比如強(qiáng)電磁干擾環(huán)境比如附近有大功率發(fā)射臺(tái)4G和北斗都可能受干擾需要做頻譜測試再定方案。還有一種情況是測點(diǎn)位于國境線附近北斗短報(bào)文的使用有特定管理要求這個(gè)要提前了解清楚避免合規(guī)問題。6.3 成本與運(yùn)維的賬怎么算雙模終端的硬件成本比單4G終端高不少主要高在北斗模組和天線。但從全生命周期看如果單4G方案因?yàn)閿?shù)據(jù)丟失導(dǎo)致需要頻繁現(xiàn)場運(yùn)維那個(gè)成本更高。深山里的運(yùn)維出一趟車人工加車輛成本可能就超過終端差價(jià)了。我的經(jīng)驗(yàn)是如果測點(diǎn)位于4G覆蓋邊緣區(qū)域且現(xiàn)場運(yùn)維困難雙模方案的性價(jià)比很高。如果測點(diǎn)就在基站附近4G穩(wěn)定那單4G方案更經(jīng)濟(jì)。運(yùn)維方面雙模方案的一個(gè)好處是遠(yuǎn)程可診斷。通過4G鏈路可以遠(yuǎn)程查看終端狀態(tài)、北斗鏈路狀態(tài)、電池電壓等。即使4G斷了北斗也能回傳關(guān)鍵告警。這種雙通道可觀測性對(duì)降低運(yùn)維成本很有幫助。7. 幾個(gè)容易被忽略的實(shí)操細(xì)節(jié)7.1 北斗短報(bào)文的發(fā)送確認(rèn)不是百分百可靠很多人以為北斗短報(bào)文發(fā)出去就完事了其實(shí)下行確認(rèn)可能丟失。如果終端依賴確認(rèn)來決定是否重發(fā)那確認(rèn)丟失會(huì)導(dǎo)致重復(fù)發(fā)送。我的做法是給每條數(shù)據(jù)加唯一序列號(hào)服務(wù)器端做去重。這樣即使重復(fù)發(fā)送也不會(huì)導(dǎo)致數(shù)據(jù)重復(fù)入庫。7.2 4G模組的PSM模式要配合服務(wù)器心跳PSM模式下模組大部分時(shí)間在休眠服務(wù)器無法主動(dòng)下發(fā)指令。如果服務(wù)器有心跳超時(shí)機(jī)制可能會(huì)誤判設(shè)備離線。解決辦法是讓服務(wù)器端適配PSM設(shè)備的特性把心跳超時(shí)時(shí)間設(shè)長一些或者由終端在PSM喚醒時(shí)主動(dòng)上報(bào)狀態(tài)。7.3 天線饋線長度要控制饋線越長損耗越大。400MHz頻段每米損耗約0.1dB1.5GHz頻段每米損耗約0.2dB。如果饋線超過10米損耗就很可觀了。我的做法是盡量把終端靠近天線安裝饋線控制在5米以內(nèi)。如果必須長距離就用低損耗饋線或者把終端裝在天線附近用數(shù)據(jù)線延長到機(jī)箱。7.4 防雷不能省深山里的雷擊風(fēng)險(xiǎn)比城市高得多。天線在制高點(diǎn)最容易引雷。我一般會(huì)在天線饋線入口加裝避雷器機(jī)箱做接地。接地電阻要小于10歐姆這個(gè)在巖石地面不好做需要打接地棒加降阻劑。別省這個(gè)錢一次雷擊可能損壞所有設(shè)備。7.5 數(shù)據(jù)時(shí)間戳要統(tǒng)一雙模切換時(shí)4G和北斗的數(shù)據(jù)可能來自不同時(shí)間。如果時(shí)間戳不統(tǒng)一服務(wù)器端拼出來的數(shù)據(jù)序列就是亂的。我的做法是終端統(tǒng)一用RTC時(shí)間戳每次采集時(shí)打時(shí)間戳不管走哪條鏈路時(shí)間戳都是采集時(shí)刻的時(shí)間。RTC要定期對(duì)時(shí)4G健康時(shí)通過NTP對(duì)時(shí)北斗也可以提供授時(shí)雙保險(xiǎn)。這套方案我在三個(gè)項(xiàng)目上跑了兩年多最長的點(diǎn)位連續(xù)運(yùn)行超過18個(gè)月數(shù)據(jù)完整率在99%以上。中間出過幾次問題基本都是天線和供電相關(guān)的通信邏輯本身很穩(wěn)定。如果你也在做類似場景建議先把鏈路健康度評(píng)估和數(shù)據(jù)緩存補(bǔ)傳這兩塊做扎實(shí)這兩塊是雙模方案的核心做不好雙模就是擺設(shè)。天線和供電是現(xiàn)場最容易翻車的地方選型階段多花時(shí)間現(xiàn)場少跑幾趟。