劉善鋒
(南京中興軟件有限責任公司,南京 210012)
隨著物聯網的發展,為了集中管理眾多的物聯網設備,一般都是通過物聯網平臺IoT(Internet of things)集中進行接入和管理,設備上報的數據需要根據用戶定制的數據規則上報到指定的用戶,這樣既可以減輕物聯網平臺的負荷,也可以讓用戶只關心與自己相關的設備數據。本文主要介紹物聯網平臺規則引擎與微信系統關聯,將消息及時發送給用戶,本系統主要包括設備數據上報、物聯網平臺、微信處理、微信用戶四大模塊,如下圖所示。

設備數據上報主要完成物聯網設備主動向物聯網平臺上報設備的各種能力數據,設備與物聯網平臺通訊協議支持MQTT(Message Queuing Telemetry Transport)、CoAP(Constrained Application Protocol)、LWM2M(Lightweight Machine to Machine)、HTTP(HyperText Transfer Protocol)、Modbus等。
物聯網平臺實現了物聯網的設備管理、連接管理以及應用使能管理,適配各種通訊協議,屏蔽網路技術差異,使底層網絡對上層應用透明,為物聯網行業提供終端連接、應用創新、數據共享、運營支撐、集成服務等能力。
物聯網平臺與規則引擎相關的模塊主要包括設備數據處理模塊、規則配置模塊、規則引擎模塊、消息處理模塊、告警模塊。
設備數據處理模塊:接收物聯網設備上報101的數據,對數據進行協議解析轉換處理,將處理后的數據上報給規則引擎模塊203。
規則配置模塊:配置設備能力上報的數據的各種規則的觸發條件,以及規則觸發后生成的消息傳輸載體,消息傳輸載體包括支持微信號、郵件、短信、URL等,配置的規則信息供規則引擎模塊203引用。
規則引擎模塊:對設備數據處理模塊202上報的消息進行分析,分析的規則來自規則配置模塊204配置的設備規則信息,如果設備數據滿足規則的觸發條件,將規則觸發的消息發給消息處理模塊205。
消息處理模塊:將規則引擎模塊203發送的消息轉換為告警消息,發送給告警模塊;對轉換后的告警消息進行消息傳輸載體的判斷,發給對應的消息傳輸載體模塊處理,如果消息傳輸載體是微信,則發送給微信處理系統301進行處理;同時實現與告警模塊和公眾號服務器的信息交互。
告警模塊:接收消息處理模塊205發送的告警消息,將告警信息在物聯網平臺進行存儲和展現,同時實現對消息處理模塊205發送的告警操作信息的處理和響應。
微信處理系統實現物聯網平臺與用戶交互,主要包括公眾號服務、微信服務器、公眾號客戶端三大模塊。
公眾號服務器:有三大功能,一是接收消息處理模塊205發送的告警消息,通過微信服務器303推送到對應的微信賬號的公眾號客戶端上;二是將微信用戶通過公眾號客戶端304對告警消息處理請求轉發給消息處理模塊205;三是接收消息處理模塊205發送的告警操作的響應消息,并將響應消息轉發給公眾號客戶端304。
微信服務器:實現公眾號服務器302和公眾號客戶端304之間請求的轉發。
公眾號客戶端:接收公眾號服務器302推送的消息,以及提供對告警消息的處理操作,包括告警確認和清除等操作。
微信用戶要接收規則引擎觸發的消息,需關注物聯網平臺的微信公眾號,且微信用戶對應的賬號在規則配置模塊204要進行配置;微信用戶通過公眾號客戶端304接收告警信息,用戶對告警進行分析處理完成后,可以通過公眾號客戶端304發起對物聯網平臺201的告警進行清除和確認等操作。
通過規則引擎使物聯網平臺與微信進行了有機的結合,使得用戶不僅可以快捷、低成本獲取需要的信息,也可以對關鍵信息進行確認反饋,實現與物聯網平臺的交互;同時規則引擎將觸發的消息轉換為告警在物聯網平臺存儲和展現,為物聯網后續對設備的分析提供基礎數據,使得物聯網平臺具有更高的競爭力。