倪峰 楊立志 金海峰
摘 ?要:電化學(xué)水處理是近期工業(yè)循環(huán)水處理的研究熱點(diǎn),對節(jié)能減排具有重要意義。針對電化學(xué)水處理過程中傳感器數(shù)據(jù)的采集和傳輸需求,提出一種結(jié)合NB-IoT和ZigBee技術(shù)的傳感器數(shù)據(jù)采集與透傳方案。采集電導(dǎo)率、pH酸堿度、水溫和水壓等傳感數(shù)據(jù),通過ZStack協(xié)議棧實(shí)現(xiàn)傳感網(wǎng)絡(luò)數(shù)據(jù)傳輸與匯總后,由NB-IoT物聯(lián)網(wǎng)絡(luò)實(shí)現(xiàn)傳感數(shù)據(jù)的廣域傳輸,使用華為物聯(lián)網(wǎng)云平臺(tái)實(shí)現(xiàn)傳感數(shù)據(jù)的網(wǎng)絡(luò)承載。經(jīng)運(yùn)行測試,能實(shí)時(shí)準(zhǔn)確地實(shí)現(xiàn)傳感數(shù)據(jù)的采集、傳輸、解析任務(wù)。
關(guān)鍵詞:NB-IoT;ZigBee;電化學(xué)水處理;華為云;ModBus;AT指令
中圖分類號(hào):TN929.5 ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):2096-4706(2021)13-0166-04
Research on Data Transmission of Electrochemical Water Treatment Based on
NB-IoT and ZigBee Dual Network Integration
NI Feng, YANG Lizhi, JIN Haifeng
(Computer Science Department, Jiangyin Polytechnic College, Jiangyin ?214405, China)
Abstract: Electrochemical water treatment is a research hotspot of industrial circulating water treatment recently, which is of great significance for energy conservation and emission reduction. According to the requirements of sensor data acquisition and transmission in the process of electrochemical water treatment, a sensor data acquisition and transmission scheme combining NB-IoT and ZigBee technology is proposed. After collecting the sensing data such as conductivity, pH value, water temperature and water pressure, and realizing the data transmission and summary of the sensing network through the ZStack protocol stack, , the wide area transmission of the sensing data is realized by the NB-IoT network, and the network bearing of the sensing data is realized by using the Huawei internet of things cloud platform. After running test, it can realize the tasks of sensor data acquisition, transmission and analysis in real time and accurately.
Keywords: NB-IoT; ZigBee; electrochemical water treatment; Huawei cloud; ModBus; AT instruction
0 ?引 ?言
電力、冶金、化工等行業(yè)普遍使用水作為熱交換介質(zhì),管道、閥門、水泵等設(shè)備內(nèi)部結(jié)垢現(xiàn)象十分普遍,可能導(dǎo)致管道堵塞破裂、閥門卡死、鍋爐變形等嚴(yán)重后果,也降低了余熱的利用率。此外,循環(huán)水中所含嗜鐵菌、藥劑、氯離子等會(huì)造成設(shè)備腐蝕生銹[1],對設(shè)備安全運(yùn)轉(zhuǎn)帶來隱患。針對循環(huán)水殺菌除垢,傳統(tǒng)的方法是添加化學(xué)藥劑,但其成本較高,存在廢水排放二次污染的問題。電化學(xué)水處理是一種新興的循環(huán)水處理技術(shù),有研究表明[2]通過在循環(huán)水中施加低壓電場,使水在陰極附近電解出高濃度OH-,促進(jìn)鈣和鎂等易成垢離子結(jié)垢析出,沉淀至處理器底部,定期清理即可有效降低水質(zhì)硬度,防止設(shè)備內(nèi)部結(jié)垢。同時(shí)在電解過程中,陽極產(chǎn)生大量強(qiáng)氧化性物質(zhì),對水中微生物有很好的殺滅和抑制作用。
降低電導(dǎo)率是電化學(xué)水處理的主要目標(biāo),要將電導(dǎo)率控制在300微西/厘米左右為佳。在直流電路中,當(dāng)電壓恒定時(shí),電流與電導(dǎo)率成正比,且電導(dǎo)率=1/電阻,電導(dǎo)率高則說明水質(zhì)中鈣鎂離子濃度高,易結(jié)垢。同時(shí)pH酸堿度也是檢測水質(zhì)的一項(xiàng)重要指標(biāo),要將pH酸堿度控制在6~8范圍內(nèi)為宜。溫度傳感器和壓力傳感器用于判斷水溫和水壓,當(dāng)水溫過高,則表明水泵未正常工作,供水不足。水壓過高則可能對設(shè)備造成損壞。
本文對電化學(xué)水處理所涉及的電導(dǎo)率、pH酸堿度、水溫、水壓、電流和電壓等傳感數(shù)據(jù)進(jìn)行采集,通過ZigBee技術(shù)實(shí)現(xiàn)傳感網(wǎng)絡(luò)的數(shù)據(jù)采集與匯總,通過NB-IoT技術(shù)[4]將數(shù)據(jù)透傳至華為物聯(lián)網(wǎng)云端,方案綜合考慮了系統(tǒng)魯棒性和經(jīng)濟(jì)性,為循環(huán)水處理的遠(yuǎn)程控制和大數(shù)據(jù)分析提供數(shù)據(jù)支撐。
1 ?總體方案設(shè)計(jì)
如圖1所示,本文研究的電化學(xué)水處理數(shù)據(jù)透傳系統(tǒng)分為感知層、傳輸層、云服務(wù)層三個(gè)部分。從成本角度考慮,應(yīng)減少NB-IoT模組的數(shù)量,提高NB-IoT模組的利用率,傳感層采集數(shù)據(jù)匯總后再交由NB-IoT模組上傳云端。
感知層使用CC2530作為主控芯片采集傳感器數(shù)據(jù),使用ZStack協(xié)議進(jìn)行傳感網(wǎng)絡(luò)的構(gòu)建與數(shù)據(jù)傳輸。主要采集電導(dǎo)率、pH酸堿度、水溫、水壓、電流、電壓等數(shù)據(jù),本文采用RMD-ISEC10型pH酸堿度傳感器和RMD-ISET10型電導(dǎo)率傳感器采集循環(huán)水pH酸堿度與電導(dǎo)率值,采用MIK-P202溫度變送器和MIK-P300壓力變送器采集循環(huán)水溫度值和壓力值,采用ZH-44243-14F2型直流電流電壓采集器采集循環(huán)水電流和電壓值。這幾種工業(yè)傳感器皆使用RS485通信協(xié)議,支持ModBus-RTU標(biāo)準(zhǔn),通過RS485轉(zhuǎn)TTL模塊與ZigBee節(jié)點(diǎn)進(jìn)行通信。ZigBee節(jié)點(diǎn)采集傳感器數(shù)據(jù)后,通過ZStack協(xié)議將數(shù)據(jù)傳輸至協(xié)調(diào)器,協(xié)調(diào)器負(fù)責(zé)將數(shù)據(jù)通過NB-IoT模塊傳送至物聯(lián)網(wǎng)云端。
傳輸層分為ZigBee傳感網(wǎng)絡(luò)[3]和窄帶物聯(lián)網(wǎng)絡(luò)(NB-IoT)[4]兩個(gè)部分。ZigBee網(wǎng)絡(luò)具有自組網(wǎng)功能,網(wǎng)絡(luò)構(gòu)架靈活,支持Mesh組網(wǎng)多跳,國內(nèi)一般使用2.4 GHz頻段,共定義了16個(gè)信道,傳輸速率可達(dá)250 Kbit/s,傳輸距離約為50米,可在路由器之間通過多跳中繼拓展傳輸距離,但無法滿足廣域物聯(lián)網(wǎng)絡(luò)的需求,故本文通過NB-IoT技術(shù)[5],將感知層采集的傳感數(shù)據(jù)上傳到物聯(lián)網(wǎng)云端,實(shí)現(xiàn)了網(wǎng)絡(luò)的廣覆蓋,同時(shí)兼顧了運(yùn)行成本。本文使用上海移遠(yuǎn)的BC95-B5模組進(jìn)行NB-IoT數(shù)據(jù)傳輸,經(jīng)由中國電信的NB-IoT Controller將數(shù)據(jù)傳輸至華為物聯(lián)網(wǎng)云,實(shí)現(xiàn)業(yè)務(wù)數(shù)據(jù)的上下行傳輸。
云服務(wù)層選用華為物聯(lián)網(wǎng)云平臺(tái),華為物聯(lián)網(wǎng)云平臺(tái)包含設(shè)備管理、產(chǎn)品開發(fā)、應(yīng)用調(diào)試等功能,使用統(tǒng)一的API接口,網(wǎng)絡(luò)傳輸采用CoAP/CoAPS協(xié)議,實(shí)現(xiàn)物聯(lián)網(wǎng)設(shè)備的快速接入,各種終端的靈活適配、海量數(shù)據(jù)的分析采集,能滿足本文研究內(nèi)容的需要。華為物聯(lián)網(wǎng)云平臺(tái)提供RESTfull API接口,可通過HTTPS請求調(diào)用,第三方程序認(rèn)證鑒權(quán)后可以通過指定的URL和HTTP方法獲得平臺(tái)數(shù)據(jù)并進(jìn)行指令下發(fā)。
2 ?系統(tǒng)硬件設(shè)計(jì)
感知層使用CC2530作為主控芯片,CC2530是由TI公司推出的一款射頻芯片,提供基于ZStack協(xié)議棧的ZigBee網(wǎng)絡(luò)構(gòu)建功能,由OSAL操作系統(tǒng)實(shí)現(xiàn)任務(wù)調(diào)度,提供API接口供調(diào)用。ZigBee網(wǎng)絡(luò)由協(xié)調(diào)器、路由器、節(jié)點(diǎn)三部分組成,協(xié)調(diào)器負(fù)責(zé)網(wǎng)絡(luò)的組建,路由器和節(jié)點(diǎn)自動(dòng)加入與自身PANID和信道一致的ZigBee網(wǎng)絡(luò),實(shí)現(xiàn)自組網(wǎng)的功能。
如圖2所示,ZigBee節(jié)點(diǎn)與傳感器之間通過串口進(jìn)行通信,通過TTL/485轉(zhuǎn)換模塊進(jìn)行電平轉(zhuǎn)換。節(jié)點(diǎn)采集傳感數(shù)據(jù)后由ZigBee無線傳感網(wǎng)絡(luò)傳輸至協(xié)調(diào)器,協(xié)調(diào)器通過AT指令與NB-IoT模組通信,將傳感數(shù)據(jù)轉(zhuǎn)發(fā)云端。CC2530芯片提供2路UART,本文使用UART1的備用位置2(P1_6、P1_7)與外界通信,UART0的備用位置1用于PC端調(diào)試。
NB-IoT模組選用上海移遠(yuǎn)公司的BC95,BC95系列模組已通過國家無線電管理委員會(huì)SRRC強(qiáng)制認(rèn)證要求,是可靠的工業(yè)級無線通信模組。BC95有多款型號(hào),分別為BC95-B5(850 MHz),BC95-B8(900 MHz)、BC95-B20(800 MHz)、BC95-B3(1 800 MHz),本文使用中國電信的物聯(lián)網(wǎng)網(wǎng)絡(luò),使用BC95-B5模組進(jìn)行通信。
3 ?傳感器數(shù)據(jù)采集
本文所使用的4種工業(yè)傳感器均使用RS485接口與外部MCU進(jìn)行通信,使用ModBus-RTU通信協(xié)議,使用主從查詢模式進(jìn)行數(shù)據(jù)通信。在本文中CC2530作為主設(shè)備,傳感器作為從設(shè)備,CC2530通過RS485接口向傳感器發(fā)送ModBus報(bào)文,查詢從設(shè)備寄存器內(nèi)容,從設(shè)備向主設(shè)備發(fā)送響應(yīng)報(bào)文,主設(shè)備接收進(jìn)行CRC校驗(yàn),確認(rèn)無誤后從響應(yīng)報(bào)文中提取數(shù)據(jù)。主從報(bào)文格式如表1、2所示。數(shù)據(jù)采集的頻率由ZigBee節(jié)點(diǎn)的定時(shí)器進(jìn)行控制。
4 ?ZigBee傳感網(wǎng)絡(luò)數(shù)據(jù)傳輸
如表3所示,本文設(shè)計(jì)了數(shù)據(jù)上報(bào)的報(bào)文格式,ZigBee節(jié)點(diǎn)采集到傳感器數(shù)據(jù)后,通過ZStack協(xié)議將數(shù)據(jù)傳送至ZigBee協(xié)調(diào)器,根據(jù)ZStack協(xié)議約定,協(xié)調(diào)器的網(wǎng)絡(luò)地址為0x0000。
設(shè)備類型用于指定傳感器類型,0x01為電導(dǎo)率,0x02為pH酸堿度,0x03為水溫,0x04為水壓。當(dāng)存在多個(gè)相同型號(hào)傳感器時(shí),使用設(shè)備ID進(jìn)行區(qū)分。網(wǎng)絡(luò)地址為ZigBee節(jié)點(diǎn)的短地址,便于ZigBee協(xié)調(diào)器數(shù)據(jù)下行時(shí)實(shí)現(xiàn)點(diǎn)對點(diǎn)通信,ZigBee節(jié)點(diǎn)的網(wǎng)絡(luò)短地址可通過ZStack協(xié)議uint16 NLME_GetShortAddr(void)函數(shù)獲取。
ZigBee協(xié)調(diào)器接收到節(jié)點(diǎn)上報(bào)數(shù)據(jù)后,按照傳感器類型的順序?qū)?shù)據(jù)緩存,并按照BC95模組規(guī)定的報(bào)文格式拼接AT指令,通過串口發(fā)送給BC95模組上傳云端。上傳數(shù)據(jù)報(bào)文格式如表4所示。
節(jié)點(diǎn)和協(xié)調(diào)器均運(yùn)行ZStack協(xié)議棧,由OSAL操作系統(tǒng)實(shí)現(xiàn)任務(wù)的調(diào)度。OSAL中由tasksEvents[]數(shù)組維護(hù)任務(wù)事件列表,由tasksArr[]數(shù)組維護(hù)任務(wù)事件處理函數(shù)入口地址列表。定義用戶任務(wù)事件和相應(yīng)的處理函數(shù)后,放入對應(yīng)列表,OSAL操作系統(tǒng)將自動(dòng)調(diào)度執(zhí)行。
5 ?NB-IoT窄帶物聯(lián)網(wǎng)數(shù)據(jù)傳輸
ZigBee協(xié)調(diào)器與BC95模組間通過AT指令進(jìn)行通信,BC95模組開機(jī)入網(wǎng)后需通過相應(yīng)的AT指令進(jìn)行初始化和參數(shù)設(shè)置后方能正常工作,BC95初始化過程如圖3所示。
BC95模組初始化完畢后,即可進(jìn)行數(shù)據(jù)的上行與下行。數(shù)據(jù)上行報(bào)文格式為“AT+NMGS=<length>,<data>”,其中l(wèi)ength為data的十進(jìn)制消息長度,data為十六進(jìn)制消息體,消息體的長度和內(nèi)容需與華為云平臺(tái)模型定義匹配,中間可能包含云平臺(tái)定義的MessageID等控制信息,華為云平臺(tái)將根據(jù)用戶項(xiàng)目中定義的模型對上報(bào)數(shù)據(jù)進(jìn)行解析。若BC95模組已設(shè)置新消息提示功能(AT+NNMI=1),BC95模組收到CDP的下行數(shù)據(jù)時(shí)會(huì)自動(dòng)通過串口輸出,主控芯片捕捉串口中斷即可接收下行數(shù)據(jù)。由于低功耗的需求,模組進(jìn)入PSM工作狀態(tài)時(shí)下行數(shù)據(jù)會(huì)緩存在模組的buffer中,模組需要上報(bào)數(shù)據(jù)時(shí)被喚醒,數(shù)據(jù)從串口輸出。也可按需要通過AT+NMGR指令手動(dòng)獲取CDP下行數(shù)據(jù),模組以FIFO的方式從緩存中提取數(shù)據(jù)并轉(zhuǎn)發(fā)串口輸出。
6 ?云平臺(tái)開發(fā)與數(shù)據(jù)獲取
本文使用華為物聯(lián)網(wǎng)云平臺(tái),華為云目前提供CoAP/CoAPS、MQTT/MQTTS、HTTPS等接入方式,接入地址以域名方式提供。由于BC95模組需要CDP的IP地址參數(shù)信息,故先對云平臺(tái)接入域名地址進(jìn)行域名解析得到IP地址,使用AT+NCDP=<IP>,[<port>]指令設(shè)置云平臺(tái)地址。BC95模組附著電信NB-IoT網(wǎng)絡(luò)后,通過CoAP協(xié)議接入,云平臺(tái)接入地址為119.3.250.80,端口號(hào)5683。
華為云平臺(tái)提供NBIoT設(shè)備上行與下行數(shù)據(jù)的承載,通過開放API和系列化Agent實(shí)現(xiàn)上下游產(chǎn)品的無縫連接。在BC95模組上報(bào)數(shù)據(jù)前,需要先對云平臺(tái)進(jìn)行portal開發(fā),定義產(chǎn)品的數(shù)據(jù)模型,并進(jìn)行插件開發(fā)實(shí)現(xiàn)上報(bào)數(shù)據(jù)的解析。華為云平臺(tái)提供圖形化開發(fā)工具,產(chǎn)品的數(shù)據(jù)模型以JSON格式保存,也可自定義數(shù)據(jù)模型并上傳華為云。根據(jù)本文采集的傳感器數(shù)據(jù)類型,設(shè)備模型的定義如表5所示。
應(yīng)用層數(shù)據(jù)采用二進(jìn)制格式,云平臺(tái)根據(jù)插件定義解析數(shù)據(jù)后,會(huì)轉(zhuǎn)換成JSON格式,便于應(yīng)用服務(wù)器調(diào)用。為實(shí)現(xiàn)二進(jìn)制消息與JSON數(shù)據(jù)格式的轉(zhuǎn)換,需要對華為云平臺(tái)項(xiàng)目進(jìn)行編解碼插件開發(fā)。華為云平臺(tái)提供圖形化工具,可快速實(shí)現(xiàn)模型中的屬性與插件消息的關(guān)聯(lián)。完成云平臺(tái)開發(fā)后,即可實(shí)現(xiàn)BC95模組與華為物聯(lián)網(wǎng)云平臺(tái)間的數(shù)據(jù)上下行,BC95模組通過其全球唯一的IMEI碼與云平臺(tái)產(chǎn)品對接,截取部分云平臺(tái)接收數(shù)據(jù)如表6所示。
7 ?結(jié) ?論
本文采用CC2530芯片結(jié)合ZStack協(xié)議棧完成傳感器數(shù)據(jù)的采集與傳感網(wǎng)絡(luò)的數(shù)據(jù)傳輸,采用NB-IoT技術(shù)和華為物聯(lián)網(wǎng)云平臺(tái)實(shí)現(xiàn)傳感數(shù)據(jù)的廣域傳輸,實(shí)現(xiàn)了電化學(xué)水處理中關(guān)鍵傳感器數(shù)據(jù)的上云服務(wù)。由于本文中傳感器數(shù)據(jù)量較小,且中國電信物聯(lián)網(wǎng)絡(luò)和華為物聯(lián)網(wǎng)云平臺(tái)之間無縫對接,本文中的傳感數(shù)據(jù)傳輸延時(shí)較小,實(shí)時(shí)性較強(qiáng),魯棒性高,還可通過華為物聯(lián)網(wǎng)云平臺(tái)提供的API,實(shí)現(xiàn)數(shù)據(jù)的訪問和遷移。對傳感數(shù)據(jù)的大數(shù)據(jù)分析和遠(yuǎn)程設(shè)備控制提供了數(shù)據(jù)支撐,具有很高研究價(jià)值。
參考文獻(xiàn):
[1] 劉延財(cái),王奮中,曹國玉,等.循環(huán)水電化學(xué)除垢技術(shù)在化工企業(yè)的研究與應(yīng)用 [J].中國氯堿,2021(4):20-23.
[2] 李佳賓,李福勤,唐佳偉,等.電化學(xué)法處理鋼廠循環(huán)冷卻水的中試研究 [J].工業(yè)用水與廢水,2021,52(2):55-59.
[3] 陳萬培,楊欽榕,高紳,等.基于Zigbee傳輸方式的分布式節(jié)點(diǎn)設(shè)計(jì)與實(shí)現(xiàn) [J].電子技術(shù),2021,50(5):1-2.
[4] SONG Y H,LIN J,TANG M,et al. An Internet of Energy Things Based on Wireless LPWAN [J].Engineering,2017,3(4):460-466.
[5] 楊觀止,陳鵬飛,崔新凱,等.NB-IoT綜述及性能測試 [J].計(jì)算機(jī)工程,2020,46(1):1-14.
作者簡介:倪峰(1981.07—),男,漢族,江蘇張家港人,講師,碩士研究生,研究方向:物聯(lián)網(wǎng)技術(shù)與應(yīng)用,嵌入式系統(tǒng)開發(fā)。