吳維健 劉繼偉
摘要:論文設(shè)計了一種基于GSM的嵌入式控制器,其采用物聯(lián)網(wǎng)MQTT協(xié)議,具有穩(wěn)定性高、設(shè)計簡單等優(yōu)點,能夠完成不同距離設(shè)備間的數(shù)據(jù)通訊與信息共享。此外,控制器還具備NPN型24V數(shù)字量輸入輸出功能,其能夠以1MHz的速率輸出高達27A的電流,具有極強的驅(qū)動能力?,F(xiàn)場驗證表明,該控制器運行穩(wěn)定可靠,具有較強的實用價值。
關(guān)鍵詞:GSM,嵌入式系統(tǒng),MQTT,通訊。
一、引言
隨著“中國制造2025”戰(zhàn)略的持續(xù)推進,傳統(tǒng)制造業(yè)面臨著向智能制造轉(zhuǎn)型升級的歷史路口。自動化與信息化的深入融合促使制造效率飛速提升,產(chǎn)品、設(shè)備的安全性、可靠性也得到了極大保證。
實現(xiàn)廠房內(nèi)不同設(shè)備、不同廠房間設(shè)備、不同地區(qū)廠房間設(shè)備的數(shù)據(jù)共享,是實現(xiàn)智能制造的基礎(chǔ)與前提。大量專家學(xué)者對此進行了深入研究,并提出了多種行之有效的解決方案,例如何金鳳等研究了一種基于STM8單片機設(shè)計的具有遠程控制功能的電鍋爐控制器,通過GSM無線通信模塊實現(xiàn)對電鍋爐控制器的數(shù)據(jù)接收和遠程控制,該控制器具有監(jiān)測水溫、監(jiān)測加熱管爐壁溫度、4個時段定時、控制循環(huán)泵、超溫報警、故障報警等功能。[1]何金枝等設(shè)計了一種基于單片機的GSM遠程溫度控制器,其實現(xiàn)了對遠程溫度的實時監(jiān)測和控制,該系統(tǒng)具有體積小、成本低、可靠性高等特點。[2]周光彬等設(shè)計了一種基于GSM短信息的智能控制器,其實現(xiàn)了設(shè)備的遠端控制。[3]然而,目前很多遠程控制系統(tǒng)數(shù)據(jù)的傳輸都是基于TCP或UDP的開環(huán)傳輸方式,一旦遇到傳輸錯誤或通訊故障,系統(tǒng)無法自行修復(fù),因此這類系統(tǒng)往往需要編寫復(fù)雜的數(shù)據(jù)校驗程序,以保證傳輸?shù)臏蚀_性。
本文提出了一種基于GSM的嵌入式控制器,其以目前廣泛應(yīng)用的MQTT協(xié)議為基礎(chǔ)完成數(shù)據(jù)的傳輸與信息的共享,其具有不同的傳輸安全等級,能夠自動修復(fù)通訊問題。本文設(shè)計的基于GSM的嵌入式控制器,能夠極大簡化數(shù)據(jù)校驗的過程,并具有較高的安全性和可靠性,適用于多種工業(yè)通訊場合。
二、MQTT協(xié)議
MQTT(Message Queuing Telemetry Transport)協(xié)議既遙信消息隊列傳輸,是IBM公司于1999年提出的。MQTT是一個基于TCP的發(fā)布訂閱協(xié)議,是為大量計算能力有限,且工作在低帶寬、不可靠的網(wǎng)絡(luò)的遠程傳感器和控制設(shè)備的通訊而設(shè)計的協(xié)議,它具有以下主要的幾項特性[4]:
1、使用發(fā)布/訂閱消息模式,提供一對多的消息發(fā)布,解除應(yīng)用程序耦合;
2、對負載內(nèi)容屏蔽的消息進行傳輸;
3、使用TCP/IP提供網(wǎng)絡(luò)連接;
4、有三種消息發(fā)布服務(wù)質(zhì)量:“至多一次”,消息的發(fā)布完全依賴底層 TCP/IP 網(wǎng)絡(luò)會發(fā)生消息丟失或重復(fù);“至少一次”,確保消息到達,但消息重復(fù)可能會發(fā)生;“只有一次”,確保消息到達一次;
5、小型傳輸,開銷很小,協(xié)議交換最小化,以降低網(wǎng)絡(luò)流量;
6、使用Last Will和 Testament 特性通知有關(guān)各方客戶端異常中斷的機制。
實現(xiàn)MQTT協(xié)議需要客戶端和服務(wù)器端通訊完成,在通訊過程中,MQTT協(xié)議中有三種身份:發(fā)布者(Publish)、代理(Broker)(服務(wù)器)、訂閱者(Subscribe)。其中,消息的發(fā)布者和訂閱者都是客戶端,消息代理是服務(wù)器,消息發(fā)布者可以同時是訂閱者。
在MQTT協(xié)議中,一個MQTT數(shù)據(jù)包由固定頭(Fixed header)、可變頭(Variable header)、消息體(payload)三部分構(gòu)成,其中:
(1)固定頭(Fixed header)。存在于所有MQTT數(shù)據(jù)包中,表示數(shù)據(jù)包類型及數(shù)據(jù)包的分組類標識;
(2)可變頭(Variable header)。存在于部分MQTT數(shù)據(jù)包中,數(shù)據(jù)包類型決定了可變頭是否存在及其具體內(nèi)容;
(3)消息體(Payload)。存在于部分MQTT數(shù)據(jù)包中,表示客戶端收到的具體內(nèi)容。
三、基于GSM的嵌入式控制器
本文設(shè)計的基于GSM的嵌入式控制器是以意法半導(dǎo)體公司的STM32F446RE為核心的控制器,其具有Cortex-M4內(nèi)核,最高主頻可達到180MHz。
嵌入式控制器主要包括以下子系統(tǒng):
(1)電源子系統(tǒng)。電源子系統(tǒng)主要為STM32F446RE及其他設(shè)備提供電源,其能夠?qū)⑤斎氲?4V電源轉(zhuǎn)化為5V電源,并具有隔離功能,能夠有效隔絕外界的電磁干擾;
(2)485通訊子系統(tǒng)。485接口是工業(yè)中常見的通訊接口,其應(yīng)用及其廣泛,且可靠性高、傳輸距離遠。本文采用廣州金升陽科技有限公司的485通訊隔離模塊,其集電源隔離、信號隔離、RS485 通信和總線保護于一體,傳輸速率可達500Kbp;
(3)數(shù)字量輸入子系統(tǒng)。該子系統(tǒng)能夠提供工業(yè)常見的NPN型24V數(shù)字量輸入,并采用高速光耦進行隔離;
(4)數(shù)字量輸出子系統(tǒng)。該子系統(tǒng)能夠提供工業(yè)常見的PNP型24V數(shù)字量輸出,輸出速率達到1MHz,采用Mosfet作為驅(qū)動系統(tǒng),最大驅(qū)動電流高達27A,可以直接驅(qū)動絕大部分常見的外設(shè);
(5)GSM通訊子系統(tǒng)。GSM通訊子系統(tǒng)以esim卡為核心,采用上海合宙通信科技有限公司的2G通訊模塊,實現(xiàn)高速、穩(wěn)定的GSM通訊傳輸。
論文設(shè)計的基于GSM的嵌入式控制器PCB電路設(shè)計圖如圖1所示:
系統(tǒng)的實物圖如圖2所示:
四、結(jié)論
本文設(shè)計了一種基于GSM的嵌入式控制器,其基于MQTT協(xié)議,具有穩(wěn)定性高、功耗小、程序設(shè)計簡單、功能強的特點,其能夠廣泛應(yīng)用于工業(yè)設(shè)備的數(shù)據(jù)傳輸與信息共享中。此外,本文設(shè)計的控制器還帶有數(shù)字量輸入輸出功能,并具有較大的驅(qū)動電流。該控制器在單回路控制中可以替代小型PLC,從而極大降低了設(shè)備成本。根據(jù)現(xiàn)場測試表明,該控制器運行穩(wěn)定、可靠,能夠滿足用戶需求。
參考文獻:
[1] 何金鳳.基于GSM遠程控制的電鍋爐控制器的設(shè)計.基于單片機的GSM遠程溫度控制器設(shè)計,2017,15(04),26-29+91
[2] 何金枝,毛海燕,周國運.基于單片機的GSM遠程溫度控制器設(shè)計.制造業(yè)自動化,2012,11:128-134
[3] 周光彬,曾孝平.GSM短信息智能控制器的設(shè)計與實現(xiàn).微計算機信息,2007,23: 24-25+37
[4] Home Assistant Community. MQTT.home-assistant.io. Home Assistant Community. August 7, 2015