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