蔣夢(mèng)云 尚雨欣


關(guān)鍵詞:CC2530;4G模塊;ZigBee組網(wǎng);制藥車(chē)間
中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2024)03-0085-03
0 引言
數(shù)字制藥車(chē)間是一種新型制造車(chē)間,作為實(shí)現(xiàn)智能制藥的關(guān)鍵環(huán)節(jié),能夠顯著提高生產(chǎn)效率、降低生產(chǎn)成本,同時(shí)也能帶來(lái)更高的生產(chǎn)質(zhì)量和產(chǎn)品精度以及更高的生產(chǎn)安全性。數(shù)字車(chē)間通過(guò)融合互聯(lián)網(wǎng)、云計(jì)算、大數(shù)據(jù)等前沿技術(shù),實(shí)現(xiàn)生產(chǎn)設(shè)備信息的實(shí)時(shí)監(jiān)測(cè)和追溯、智能化的生產(chǎn)調(diào)度以及生產(chǎn)過(guò)程的可視化管理等多種功能。此外,數(shù)字車(chē)間還可以通過(guò)人機(jī)協(xié)作等方式,優(yōu)化生產(chǎn)工藝流程,提高生產(chǎn)效率和生產(chǎn)質(zhì)量,從而最大化地實(shí)現(xiàn)生產(chǎn)資源的利用效益。在智能制造的趨勢(shì)下,數(shù)字車(chē)間將會(huì)發(fā)揮更加重要的作用,為制藥產(chǎn)業(yè)的發(fā)展注入新的動(dòng)力[1]。
1 總體設(shè)計(jì)
在數(shù)字制藥車(chē)間的無(wú)線IOT 設(shè)計(jì)中,通過(guò)選型和設(shè)計(jì),最終選用了CC2530作為主控芯片。CC2530能夠勝任各種復(fù)雜的物聯(lián)網(wǎng)應(yīng)用需求。同時(shí),構(gòu)建了兩個(gè)節(jié)點(diǎn),負(fù)責(zé)連接不同類(lèi)型的傳感器,這樣一來(lái),就能夠更好地監(jiān)測(cè)制藥車(chē)間的各種數(shù)據(jù)。每個(gè)節(jié)點(diǎn)都有其獨(dú)特的地址,這是為了區(qū)分不同的節(jié)點(diǎn)和傳感器數(shù)據(jù)。節(jié)點(diǎn)能夠?qū)⑹占降臄?shù)據(jù)按照MQTT協(xié)議進(jìn)行封裝,然后發(fā)送給主控芯片[2]。
作為網(wǎng)絡(luò)中的協(xié)調(diào)器(Coordinator) ,主控芯片負(fù)責(zé)管理網(wǎng)絡(luò)中的各個(gè)節(jié)點(diǎn),確保它們能夠正常工作并接收存儲(chǔ)來(lái)自節(jié)點(diǎn)發(fā)送過(guò)來(lái)的消息。當(dāng)接收到消息后,主控芯片會(huì)通過(guò)串口將數(shù)據(jù)發(fā)送給終端設(shè)備,如PC或手機(jī)等。
終端設(shè)備通過(guò)串口與主控芯片進(jìn)行通信,發(fā)送請(qǐng)求命令。主控芯片將會(huì)從存儲(chǔ)器中提取相應(yīng)的數(shù)據(jù),然后發(fā)送給終端設(shè)備。終端設(shè)備將接收到的數(shù)據(jù)顯示在Web端,用戶可以通過(guò)Web界面查看和分析這些數(shù)據(jù),從而更好地了解制藥車(chē)間的運(yùn)行情況,整體系統(tǒng)搭建如圖1所示。
1.1 IoT 端設(shè)計(jì)
項(xiàng)目利用物聯(lián)網(wǎng)技術(shù)(IOT) ,借助各類(lèi)傳感器,如溫濕度傳感器、氣體傳感器等,對(duì)車(chē)間和倉(cāng)庫(kù)內(nèi)部環(huán)境狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)測(cè),同時(shí)將收集的數(shù)據(jù)轉(zhuǎn)換成數(shù)字信號(hào)。隨后,利用無(wú)線網(wǎng)絡(luò)模塊,將數(shù)據(jù)封裝成符合MQTT協(xié)議格式的消息,并發(fā)布至特定主題(Topic) 上。在阿里云IOT平臺(tái)上,創(chuàng)建了一個(gè)物理類(lèi)模型(ThingModel) ,詳細(xì)定義了設(shè)備的屬性、事件和服務(wù),實(shí)現(xiàn)與設(shè)備的雙向通信。當(dāng)設(shè)備向阿里云IOT平臺(tái)發(fā)布消息時(shí),平臺(tái)將根據(jù)物理類(lèi)模型對(duì)消息進(jìn)行解析,同時(shí)將數(shù)據(jù)存儲(chǔ)至數(shù)據(jù)庫(kù),并可通過(guò)Web可視化開(kāi)發(fā)工作臺(tái)或API接口進(jìn)行信息展示與處理[3]。
核心代碼如下:
def process_data(data):
# 調(diào)用人工智能模型捕捉監(jiān)控?cái)?shù)據(jù)
for d in data:
image_data = capture_image()
image_data = preprocess_image(image_data)
predictions = model.predict(image_data)
predicted_class = np.argmax(predictions)
predicted_class_name = class_names[pre?dicted_class]
print(f"Predicted class: {predicted_class_name}")
return
if __name__ == "__main__":
thread = threading.Thread(target=publish_thread)
thread.start()
while True:
# read sensor data
temperature = read_temperature()
humidity = read_humidity()
gas_level = read_gas()
publish_data(temperature, humidity, gas_level)
time.sleep(5)
thread.join()
1.2 Web 云端設(shè)計(jì)
項(xiàng)目基于阿里云提供的物聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)工具—IOT Studio,利用其可視化應(yīng)用開(kāi)發(fā)、服務(wù)開(kāi)發(fā)等功能,快速構(gòu)建了一個(gè)適合物聯(lián)網(wǎng)場(chǎng)景的Web頁(yè)面模型。該模型可實(shí)時(shí)展示車(chē)間和倉(cāng)庫(kù)內(nèi)的環(huán)境參數(shù)數(shù)據(jù),并賦予相應(yīng)的控制功能。在IOT Studio平臺(tái)上,通過(guò)拖拽組件、配置屬性、編寫(xiě)腳本等方式,在云端IDE 框架下進(jìn)行可視化設(shè)計(jì),無(wú)須關(guān)注底層技術(shù)細(xì)節(jié),降低了開(kāi)發(fā)難度和成本。同時(shí),IOT Studio還支持與阿里云物聯(lián)網(wǎng)平臺(tái)、華為云IOT平臺(tái)等其他物聯(lián)網(wǎng)云服務(wù)進(jìn)行集成和對(duì)接,實(shí)現(xiàn)數(shù)據(jù)流轉(zhuǎn)和管理。
2 硬件模塊實(shí)現(xiàn)
在硬件模塊的設(shè)計(jì)環(huán)節(jié),首要考慮的是各類(lèi)傳感器與執(zhí)行器的選型及電路設(shè)計(jì)。為了滿足數(shù)字制藥車(chē)間的實(shí)際需求,可以選擇包括溫度、濕度、壓力、液位等傳感器以及如電磁閥、電機(jī)等各種執(zhí)行器。而在電路設(shè)計(jì)上,需要細(xì)致考慮電源管理、信號(hào)處理以及接口設(shè)計(jì)等問(wèn)題。
2.1 車(chē)間環(huán)境監(jiān)測(cè)模塊
車(chē)間模塊通過(guò)部署溫濕度傳感器、土壤濕度傳感器、MQ7等多個(gè)傳感器,組成一個(gè)網(wǎng)絡(luò)監(jiān)測(cè)節(jié)點(diǎn),用于實(shí)時(shí)采集車(chē)間的溫度、濕度、水浸和CO濃度等環(huán)境參數(shù)。這些傳感器具有較高的測(cè)量精度和穩(wěn)定性,能夠?qū)崿F(xiàn)對(duì)藥品生產(chǎn)環(huán)境的精確監(jiān)測(cè)。
其中,土壤傳感器利用土壤水分與土壤電導(dǎo)率之間的密切關(guān)系,即當(dāng)土壤含水量增加時(shí),土壤電導(dǎo)率也相應(yīng)增加;反之則減小。不同類(lèi)型的傳感器還支持溫度補(bǔ)償、校準(zhǔn)曲線等功能,進(jìn)一步提高了測(cè)量精度和穩(wěn)定性。
2.2 倉(cāng)庫(kù)環(huán)境監(jiān)測(cè)模塊
為確保藥品保存環(huán)境的適宜性,構(gòu)建了一個(gè)傳感器網(wǎng)絡(luò)節(jié)點(diǎn),該節(jié)點(diǎn)集成了溫濕度傳感器、光敏傳感器、火焰?zhèn)鞲衅鞯仍O(shè)備,可實(shí)時(shí)采集倉(cāng)庫(kù)的溫度、濕度、光敏、火焰值等關(guān)鍵參數(shù)。這些傳感器在組網(wǎng)節(jié)點(diǎn)中發(fā)揮著重要作用,提供了直觀、實(shí)時(shí)的環(huán)境監(jiān)測(cè)數(shù)據(jù)。
這些傳感器節(jié)點(diǎn)通過(guò)組網(wǎng)連接,將監(jiān)測(cè)數(shù)據(jù)傳輸?shù)胶笈_(tái)管理系統(tǒng),實(shí)現(xiàn)對(duì)藥品倉(cāng)庫(kù)環(huán)境的實(shí)時(shí)監(jiān)控和預(yù)警。這種智能化的監(jiān)測(cè)方式能夠提高制藥車(chē)間的生產(chǎn)效率和產(chǎn)品質(zhì)量,確保藥品的安全性和有效性。
3 軟件模塊實(shí)現(xiàn)
軟件模塊,以設(shè)計(jì)驅(qū)動(dòng)軟件為核心,介紹制藥車(chē)間系統(tǒng)的軟件模塊。該軟件系統(tǒng)主要分為兩個(gè)模塊:環(huán)境監(jiān)測(cè)模塊和安全防護(hù)模塊。
3.1 環(huán)境監(jiān)測(cè)模塊
環(huán)境監(jiān)測(cè)模塊作為軟件系統(tǒng)的核心之一,主要用于采集環(huán)境信息。它涵蓋了溫度、濕度、火焰等參數(shù)的檢測(cè),并將這些數(shù)據(jù)實(shí)時(shí)傳輸至計(jì)算機(jī)進(jìn)行深入的數(shù)據(jù)處理及分析。這一模塊不僅提供了對(duì)車(chē)間環(huán)境的實(shí)時(shí)監(jiān)控,還為制藥過(guò)程提供了必要的數(shù)據(jù)支持。
此模塊主要用于車(chē)間及廠房的數(shù)據(jù)監(jiān)測(cè)。它可以實(shí)時(shí)采集車(chē)間及廠房的各種數(shù)據(jù),如溫度、濕度、火焰等環(huán)境參數(shù),以及機(jī)器設(shè)備的運(yùn)行狀態(tài)等信息,并將這些數(shù)據(jù)傳輸?shù)接?jì)算機(jī)上進(jìn)行處理和分析。這樣可以幫助工作人員及時(shí)發(fā)現(xiàn)異常情況,提高生產(chǎn)效率。
3.2 安全防護(hù)模塊
另一個(gè)模塊是安全防護(hù)模塊,它的主要功能是報(bào)警。當(dāng)環(huán)境參數(shù)超出預(yù)設(shè)范圍時(shí),這一模塊會(huì)自動(dòng)觸發(fā)報(bào)警機(jī)制,及時(shí)提醒工作人員進(jìn)行處理,為制藥車(chē)間的安全運(yùn)行提供了有力保障。包含LED顯示燈和蜂鳴器,顯示燈模塊主要用于LED燈的顯示,當(dāng)參數(shù)達(dá)到設(shè)定的閾值時(shí),相應(yīng)顏色的LED顯示燈會(huì)亮。例如,當(dāng)水浸超過(guò)設(shè)定的閾值時(shí),黃色LED燈會(huì)亮;當(dāng)火焰超過(guò)設(shè)定的閾值時(shí),紅色LED燈會(huì)亮。這樣的設(shè)計(jì)方便工作人員及時(shí)發(fā)現(xiàn)環(huán)境異常情況,并采取相應(yīng)的處理措施。對(duì)于蜂鳴器模塊,當(dāng)達(dá)到設(shè)定參數(shù)時(shí),蜂鳴器會(huì)自動(dòng)響應(yīng),以提醒工作人員進(jìn)行維護(hù)。
4 Web 可視化模塊實(shí)現(xiàn)
為了提升車(chē)間及倉(cāng)庫(kù)的安全性和效率,采用了物聯(lián)網(wǎng)技術(shù)來(lái)收集和分析各種環(huán)境數(shù)據(jù)。通過(guò)Web可視化開(kāi)發(fā)工作臺(tái),構(gòu)建了一個(gè)簡(jiǎn)潔明了的操作和查看界面。這個(gè)界面主要分為兩部分:數(shù)據(jù)監(jiān)測(cè)部分和控制分析部分[4]。
4.1 數(shù)據(jù)監(jiān)測(cè)部分
在此部分中,可以實(shí)時(shí)顯示車(chē)間內(nèi)的溫度、濕度、火焰、水浸等參數(shù),以及倉(cāng)庫(kù)內(nèi)的溫度、濕度、CO含量、光照度等參數(shù)。用戶可以根據(jù)實(shí)際需求設(shè)置閾值和報(bào)警方式。一旦某些參數(shù)超過(guò)或低于預(yù)設(shè)閾值,系統(tǒng)將自動(dòng)發(fā)送短信或郵件提醒用戶,同時(shí)在界面上顯示醒目的紅色警示標(biāo)志。通過(guò)將各個(gè)傳感器所檢測(cè)到的數(shù)據(jù)呈現(xiàn)于云端,并進(jìn)行展示與對(duì)比,可以實(shí)時(shí)監(jiān)控車(chē)間及倉(cāng)庫(kù)內(nèi)的環(huán)境參數(shù)。這些傳感器包括溫濕度傳感器、MQ7氣體傳感器以及光照度傳感器等,它們通過(guò)無(wú)線網(wǎng)絡(luò)將數(shù)據(jù)傳輸至云端服務(wù)器。
核心代碼如下:
# Init SMS Client
sms_client = AcsClient(access_key_id, ac?cess_key_secret, 'cn-hangzhou')
def send_sms(phone_number, alarm_type):
request = CommonRequest()
request.set_method('POST')
request.set_domain('dysmsapi.aliyuncs.com')
request.set_version('2017-05-25')
request.set_action_name('SendSms')
request. add_query_param('TemplateParam', '{"type":"%s"}' % alarm_type)
response = sms_client.do_action_with_exception(re?quest)
print(str(response, encoding='utf-8'))
# Init AliCloud Voice Service
voice_client = AcsClient(access_key_id, ac?cess_key_secret, 'cn-hangzhou')
def send_voice(phone_number, alarm_type):
request = SingleCallByTtsRequest. SingleCallByTt?sRequest()
request.set_accept_format('json')
request.set_tts_code('
request.set_called_number(phone_number)
request. set_tts_param('{"type": "% s"}' % alarm_type)
response = voice_client. do_action_with_exception(request)
print(str(response, encoding='utf-8'))
# Get Device data from Iot
def get_latest_data(device_name):
# Use SDK
return {"temperature": 28, "humidity": 50, "flame":0, "water": 0}
# 判斷數(shù)據(jù)是否超過(guò)閾值,并發(fā)送報(bào)警信息
def check_alarm(data, threshold, phone_number,alarm_type):
if data['temperature'] > threshold['temperature']:
print("溫度超過(guò)閾值,發(fā)送報(bào)警信息!")
send_sms(phone_number, alarm_type)
send_voice(phone_number, alarm_type)
elif data['humidity'] > threshold['humidity']:
print("濕度超過(guò)閾值,發(fā)送報(bào)警信息!")
send_sms(phone_number, alarm_type)
send_voice(phone_number, alarm_type)
elif data['water'] > threshold['water']:
print("水浸超過(guò)閾值,發(fā)送報(bào)警信息!")
send_sms(phone_number, alarm_type)
send_voice(phone_number, alarm_type)
else:
print("數(shù)據(jù)正常,不需要發(fā)送報(bào)警信息。")
4.2 控制分析部分
控制界面部分則允許用戶遠(yuǎn)程控制車(chē)間和倉(cāng)庫(kù)內(nèi)的報(bào)警設(shè)備。用戶可以根據(jù)實(shí)時(shí)數(shù)據(jù)或預(yù)設(shè)模式進(jìn)行調(diào)整,從而優(yōu)化車(chē)間及倉(cāng)庫(kù)的工作環(huán)境。不僅如此,用戶還可以將不同時(shí)間段或不同位置的數(shù)據(jù)進(jìn)行對(duì)比與統(tǒng)計(jì),從而發(fā)現(xiàn)存在的問(wèn)題并優(yōu)化相應(yīng)的方案。這樣的方式,不僅提供了便捷的數(shù)據(jù)監(jiān)測(cè)方式,也為企業(yè)提供了有效的決策依據(jù)[5]。
此外,為了讓用戶更好地了解外部天氣情況,我們利用墨跡App提供的天氣預(yù)報(bào)接口,在界面上顯示當(dāng)前位置和時(shí)間的天氣狀況、溫度、風(fēng)力、空氣質(zhì)量等信息。這一切的設(shè)計(jì)都是為了提高工作效率和安全性,為用戶提供更便捷、更智能的工作環(huán)境,如圖2 所示。
5 Mobile 頁(yè)面實(shí)現(xiàn)
通過(guò)將各個(gè)傳感器所檢測(cè)到的數(shù)據(jù)呈現(xiàn)于云端,并進(jìn)行展示與對(duì)比,可以實(shí)時(shí)監(jiān)控車(chē)間及倉(cāng)庫(kù)內(nèi)的環(huán)境參數(shù)。這些傳感器包括溫濕度傳感器、MQ7氣體傳感器以及光照度傳感器等,它們通過(guò)無(wú)線網(wǎng)絡(luò)將數(shù)據(jù)傳輸至云端服務(wù)器。
在云端服務(wù)器上,運(yùn)用Mobile可視化開(kāi)發(fā)工作臺(tái)構(gòu)建了一個(gè)數(shù)據(jù)展示界面,使得用戶可以輕松地查看并分析各個(gè)傳感器所檢測(cè)到的數(shù)據(jù)。還可以將不同時(shí)間段或不同位置的數(shù)據(jù)進(jìn)行對(duì)比與統(tǒng)計(jì),從而發(fā)現(xiàn)存在的問(wèn)題并優(yōu)化相應(yīng)的方案。
6 釘釘端模塊實(shí)現(xiàn)
釘釘端可以實(shí)時(shí)推送設(shè)備上下線、設(shè)備檢測(cè)數(shù)據(jù)、閾值報(bào)警等多種消息,這種實(shí)時(shí)推送方式可以讓群成員即時(shí)獲取到很多有用信息。這不僅提高了團(tuán)隊(duì)協(xié)作效率,也使得信息共享更加便捷和高效。同時(shí),釘釘群實(shí)時(shí)推送還能夠與其他釘釘功能結(jié)合使用,例如與日程安排相結(jié)合,自動(dòng)將重要日程和任務(wù)提醒推送至群內(nèi),提醒群成員關(guān)注和處理。此外,釘釘還支持在群聊中添加機(jī)器人,可以定制機(jī)器人的自動(dòng)回復(fù)規(guī)則,實(shí)現(xiàn)自動(dòng)化的即時(shí)通信,方便簡(jiǎn)潔,增加工作效率。總的來(lái)說(shuō),釘釘?shù)膶?shí)時(shí)推送功能為團(tuán)隊(duì)協(xié)作、項(xiàng)目管理和信息共享提供了全新的解決方案,讓工作更加高效便捷,更加智能化。
7 結(jié)論
本文介紹了一種基于阿里云的無(wú)線IOT在數(shù)字制藥車(chē)間應(yīng)用系統(tǒng),該系統(tǒng)針對(duì)我國(guó)制藥產(chǎn)業(yè)在生產(chǎn)環(huán)境控制方面存在的問(wèn)題,提出了一種新穎、高效、可靠、低成本的解決方案。該系統(tǒng)利用溫度、濕度、火焰、MQ-7氣體等多種傳感器,分別部署在車(chē)間和倉(cāng)庫(kù)內(nèi)部和外部,采集各項(xiàng)數(shù)據(jù)指標(biāo),并通過(guò)分布式網(wǎng)絡(luò)節(jié)點(diǎn)將數(shù)據(jù)實(shí)時(shí)上傳到網(wǎng)關(guān)設(shè)備。網(wǎng)關(guān)設(shè)備負(fù)責(zé)將數(shù)據(jù)轉(zhuǎn)發(fā)到云端服務(wù)器,并進(jìn)行數(shù)據(jù)處理和分析。該系統(tǒng)采用基于ZigBee協(xié)議的組網(wǎng)方式,在保證通信質(zhì)量和穩(wěn)定性的同時(shí),降低功耗和成本,并實(shí)現(xiàn)多個(gè)車(chē)間及倉(cāng)庫(kù)之間的數(shù)據(jù)聯(lián)網(wǎng)。通過(guò)云端平臺(tái),用戶可以實(shí)時(shí)動(dòng)態(tài)地監(jiān)測(cè)工廠運(yùn)行狀態(tài),并根據(jù)預(yù)警信息及時(shí)調(diào)整生產(chǎn)參數(shù)或采取應(yīng)急措施,從而提高制藥工廠的安全性和生產(chǎn)效率。
【通聯(lián)編輯:梁書(shū)】