林耐云,李 碩
(唐山廣播電視臺,河北 唐山 063000)
調(diào)頻發(fā)射機房一般坐落在高山,遠離市區(qū)。一些調(diào)頻發(fā)射機生產(chǎn)廠家為了實現(xiàn)發(fā)射機的遠程監(jiān)測,提供了RJ45 接口,方便用戶通過以太網(wǎng)方式實現(xiàn)遠程監(jiān)控。但是,這種監(jiān)測方式需要架設(shè)光纖及光傳輸設(shè)備,成本較高,并且監(jiān)測地點固定,不夠靈活。近年來,隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,唐山廣播電視臺研發(fā)了一種基于阿里云物聯(lián)網(wǎng)云平臺的調(diào)頻發(fā)射機遠程監(jiān)測系統(tǒng)。阿里云物聯(lián)網(wǎng)云平臺可以提供數(shù)據(jù)傳輸通道,使嵌入式設(shè)備和云端能夠雙向通信。這種方式不需要架設(shè)光纖,而是根據(jù)當(dāng)?shù)責(zé)o線覆蓋情況,靈活選擇4G、NB-IoT 等傳輸模式,將采集的發(fā)射機入射功率、反射功率以及報警信息等,通過MQTT 協(xié)議發(fā)布,傳輸至阿里云物聯(lián)網(wǎng)平臺。電腦終端只需要能連接互聯(lián)網(wǎng),通過阿里云提供的IoT Studio 即可實現(xiàn)發(fā)射機的遠程監(jiān)測。本文基于MQTT 通信協(xié)議,使用自主開發(fā)的數(shù)據(jù)遠程傳輸單元實現(xiàn)發(fā)射機信息的采集,通過4G 或NB-IoT 的方式完成數(shù)據(jù)上傳至阿里云平臺,可在任意一臺移動終端上做到發(fā)射機的實時監(jiān)測,實現(xiàn)了發(fā)射機低成本的靈活監(jiān)測。調(diào)頻發(fā)射機遠程監(jiān)測框圖如圖1 所示。
唐山廣播電視臺近期采購的調(diào)頻發(fā)射機具備D-SUB25 遠程測量連接器,對外提供正向功率、反向功率、不平衡以及報警等信息。這里采用stm32f103 為核心的單片機做成采集終端來采集上述信息。
對于報警信息,直接采用標(biāo)準(zhǔn)IO 讀取高低電平方式采集。IO 端口采用TTL 電路,定義了電平傳輸?shù)倪壿?。通常認(rèn)為5 V 為高電平,0 V 為低電平[1]??紤]到傳輸?shù)脑肼?、線路的損耗以及負載的匹配,高低電平的定義應(yīng)該是一個范圍的形式,因此開發(fā)數(shù)據(jù)采集系統(tǒng)時需注意這種情況。
對于正向功率和反向功率,采用讀取模擬量的方式,將輸出的0~5 V 電壓進行A/D 轉(zhuǎn)換。stm32 提供了轉(zhuǎn)化精度為12 bit 的ADC 轉(zhuǎn)換,可以將發(fā)射機的正反向功率變成數(shù)字信息,最后轉(zhuǎn)換成一個電壓值的二進制形式。為了提高效率,這里直接采用DMA 的形式,提高了AD 轉(zhuǎn)化效率。電路PCB 3D 效果,如圖2 所示。
遠程數(shù)據(jù)傳輸網(wǎng)關(guān)可以根據(jù)所在地區(qū)發(fā)射塔所在位置的網(wǎng)絡(luò)覆蓋情況,靈活選擇GPRS、4G 或NB-IoT 模式傳輸信號。傳輸協(xié)議采用MQTT 方式。MQTT 是消息隊列遙測傳輸協(xié)議,是一種基于發(fā)布/訂閱模式的“輕量級”通信協(xié)議。該協(xié)議構(gòu)建在TCP/IP 協(xié)議之上,可以通過有限的帶寬為需要遠程傳輸?shù)脑O(shè)備提供及時可靠的消息傳輸,非常適合遠程監(jiān)測。遠程數(shù)據(jù)傳輸單元是MQTT 的發(fā)布端,遠程監(jiān)測用計算機是MQTT 的訂閱端。
本項目中采用NB-IoT 的數(shù)據(jù)傳輸方式,傳輸單元NB 模塊采用AIR302。Stm32f103 為核心的單片機采集的功率和報警等信息,通過通用異步收發(fā)器(Universal Asynchronous Receiver/Transmitter,UART)將信息傳輸?shù)紸IR302 模塊,通過全雙工方式最終完成信息傳輸。
阿里云物聯(lián)網(wǎng)云平臺由IoT Hub、設(shè)備管理、數(shù)據(jù)分析、規(guī)則引擎以及安全認(rèn)證等5 個模塊組成,其中IoT Hub 負責(zé)嵌入設(shè)備等與阿里云平臺連接,提供數(shù)據(jù)傳輸通道。
設(shè)置阿里云平臺首先要創(chuàng)建產(chǎn)品,由物聯(lián)網(wǎng)平臺為產(chǎn)品頒發(fā)唯一的ProductKey,然后在該產(chǎn)品下添加設(shè)備,如要檢測的5 臺調(diào)頻發(fā)射機。此時,產(chǎn)品就是發(fā)射機監(jiān)測終端,設(shè)備就是發(fā)射機1、發(fā)射機2……發(fā)射機5。發(fā)射機1~發(fā)射機5 將具備定義的產(chǎn)品功能。與產(chǎn)品、設(shè)備相關(guān)的是三元組,包 括ProductKey、DeviecsName 和DevicesSecret。當(dāng)創(chuàng)建好產(chǎn)品并且在產(chǎn)品下創(chuàng)建新設(shè)備發(fā)射機后,每個發(fā)射機都會擁有一個唯一的三元組信息。每個設(shè)備的三元組信息都是獨一無二的。ProductKey 和DevicesName 確保了設(shè)備的唯一性,而DeviecesSecret 用于設(shè)備的鑒權(quán),使設(shè)備信息不容易被盜用。圖3 為在阿里云平臺上創(chuàng)建的fm_transmitter 產(chǎn)品,并且添加了fm_transmitter_1 設(shè)備,同時具有三元組信息。定義產(chǎn)品的功能,也就是物模型,包括正向功率、反向功率、報警信息和遠程開關(guān)發(fā)射機,還可以添加溫度、濕度、電壓電流采樣值等,從而完成發(fā)射機的物聯(lián)網(wǎng)產(chǎn)品和設(shè)備的創(chuàng)建。
此外,要確定物模型。物模型屬于功能定義,是從屬性、服務(wù)和事件3 個方面描述發(fā)射機這個實體[2]。物模型用JSON 格式的數(shù)據(jù)來表示。JSON是一種輕量級的數(shù)據(jù)交換格式,可以提升網(wǎng)絡(luò)傳輸效率。本項目中只需要對發(fā)射機做監(jiān)測,因此產(chǎn)品的功能只需要定義產(chǎn)品的屬性就可以完成。后期可以根據(jù)實際應(yīng)用的需求擴展服務(wù)和事件的功能,如可以增加發(fā)射機溫度監(jiān)測功能,當(dāng)溫度升高后可以遠程控制機房調(diào)節(jié)空調(diào)溫度。
在創(chuàng)建好產(chǎn)品和設(shè)備后,可以通過阿里云提供的IoT Studio 完成Web 可視化開發(fā),包括應(yīng)用開發(fā)、服務(wù)開發(fā)和數(shù)據(jù)分析。此次發(fā)射機遠程監(jiān)測項目只需涉及到應(yīng)用開發(fā)即可滿足。Web 應(yīng)用交互過程是通過http 請求獲取數(shù)據(jù),然后Web 服務(wù)器將html 頁面通過http 響應(yīng)的形式傳輸給瀏覽器進行顯示。IoT Studio 提供了可視化搭建Web 功能,即組件通過拖拽配置調(diào)試后即可快速使用。組件托管在IoT Studio 平臺上,節(jié)約了開發(fā)者的開發(fā)時間,省去了購買配置服務(wù)器的煩瑣操作。圖4 為發(fā)射機遠程監(jiān)測的Web 界面。通過Web 界面能實時監(jiān)測正反向功率和報警信息,并能根據(jù)反向功率的大小或者報警信息遠程開關(guān)發(fā)射機,同時發(fā)射機正向功率也可以通過曲線形式開展實時監(jiān)測。
物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,使得一些高山臺站的調(diào)頻發(fā)射機等通過物聯(lián)網(wǎng)進行遠程監(jiān)測的方案變?yōu)榭赡?。這種方案能節(jié)約鋪設(shè)光纜和購買光傳輸設(shè)備的資金,可以自己通過阿里云提供的Web 可視化開發(fā)方式做到遠程實時監(jiān)測。目前,此方案已經(jīng)在唐山廣播電視臺高山臺站測試成功,運轉(zhuǎn)情況良好,希望能為廣電同行提供借鑒。