謝軍喜,高 怡
(西安石油大學(xué) 電子工程學(xué)院,陜西 西安 710065)
隨著信息技術(shù)的發(fā)展與物聯(lián)網(wǎng)技術(shù)的興起,人們對于監(jiān)測系統(tǒng)的需求不僅體現(xiàn)在實(shí)驗(yàn)室,也體現(xiàn)在工廠里。伴隨全自動生產(chǎn)線和無人工廠的出現(xiàn),開發(fā)一個實(shí)時(shí)遠(yuǎn)程數(shù)據(jù)采集和過程監(jiān)控系統(tǒng)更能回應(yīng)當(dāng)下對監(jiān)測系統(tǒng)的需求,更好地提供溫度、壓力、輸出和故障狀態(tài)等多種信息。
沈巍等人[1]針對傳統(tǒng)物聯(lián)網(wǎng)控制系統(tǒng)中指令執(zhí)行時(shí)滯較長的問題,設(shè)計(jì)了基于ZigBee 的生產(chǎn)線監(jiān)測節(jié)點(diǎn),按照ZigBee 原理建立傳感器路由,利用CC2591 功率放大芯片來提高監(jiān)測節(jié)點(diǎn)的射頻功率;所設(shè)計(jì)的監(jiān)測節(jié)點(diǎn)不僅擴(kuò)大了ZigBee 的覆蓋范圍,也改善了實(shí)時(shí)性差、布線困難的問題。楊江等人[2]以STC89C52 單片機(jī)為微控制器,采用短距離無線收發(fā)nRF24L01 芯片、溫濕度傳感器DHT11,設(shè)計(jì)出一套針對室內(nèi)環(huán)境的網(wǎng)絡(luò)監(jiān)測系統(tǒng),該系統(tǒng)只需對終端節(jié)點(diǎn)進(jìn)行擴(kuò)展就可應(yīng)用于不同場合。邱鵬[3]設(shè)計(jì)了一種基于物聯(lián)網(wǎng)(IoT)技術(shù)的智能生產(chǎn)線系統(tǒng),在此生產(chǎn)線系統(tǒng)上引入了實(shí)時(shí)遠(yuǎn)程監(jiān)控;通過三層遠(yuǎn)程監(jiān)控系統(tǒng)結(jié)構(gòu)在線實(shí)時(shí)監(jiān)測和遠(yuǎn)程操作,實(shí)現(xiàn)了生產(chǎn)線的遠(yuǎn)程監(jiān)測與實(shí)時(shí)控制。駱東松等人[4]針對旋轉(zhuǎn)機(jī)械設(shè)備中的振動問題,利用嵌入式STM32 芯片、振動傳感器以及溫度傳感器作為采集工具,通過對上位子系統(tǒng)進(jìn)行開發(fā),實(shí)現(xiàn)PC 與云數(shù)據(jù)庫的交互過程以及對機(jī)械設(shè)備的遠(yuǎn)程監(jiān)控。鄧靜等人[5]以沖壓自動化生產(chǎn)線為智能監(jiān)控系統(tǒng)的研究背景,采用Linux 操作系統(tǒng),監(jiān)控終端作為服務(wù)器、中央監(jiān)控系統(tǒng)作為客戶端,采用套接字編程的方法,實(shí)現(xiàn)監(jiān)控終端與中央監(jiān)控系統(tǒng)之間的網(wǎng)絡(luò)通信。
基于上述監(jiān)控系統(tǒng)中的問題與改進(jìn)方案,設(shè)計(jì)一套基于ARM 的上下料監(jiān)測系統(tǒng),該系統(tǒng)利用物聯(lián)網(wǎng)技術(shù),使用基于CortexA9 的Tiny4412 開發(fā)板,結(jié)合TCP/IP 網(wǎng)絡(luò)通信協(xié)議和HTTP 超文本傳輸協(xié)議,通過HC-SR04 超聲波傳感器和E18-D80NK 紅外計(jì)數(shù)器采集數(shù)據(jù),能夠?qū)崿F(xiàn)較小設(shè)備體積對智能上下料的控制監(jiān)測。該系統(tǒng)運(yùn)用攝像頭采集物料運(yùn)輸實(shí)時(shí)畫面,提高實(shí)時(shí)性和安全性。經(jīng)測試,運(yùn)行穩(wěn)定,滿足對上下料系統(tǒng)監(jiān)測的需求。
上下料控制系統(tǒng)總體設(shè)計(jì)方案如圖1所示??傮w分為3 個模塊:數(shù)據(jù)采集模塊、服務(wù)器模塊和客戶端模塊。數(shù)據(jù)采集模塊分為Tiny4412 數(shù)據(jù)采集模塊和單片機(jī)數(shù)據(jù)采集模塊,Tiny4412 數(shù)據(jù)采集模塊通過HC-SR04 超聲波測距模塊監(jiān)測物料運(yùn)輸位置情況;單片機(jī)數(shù)據(jù)采集模塊通過紅外計(jì)數(shù)傳感器采集數(shù)據(jù),得到計(jì)數(shù)值數(shù)據(jù)后,單片機(jī)進(jìn)行初次判定,如果超過計(jì)數(shù)閾值范圍則進(jìn)行聲光報(bào)警,同時(shí)給Tiny4412 數(shù)據(jù)采集模塊發(fā)送報(bào)警信息[6]。服務(wù)器模塊實(shí)時(shí)接收數(shù)據(jù)采集模塊與客戶端模塊發(fā)送的數(shù)據(jù),當(dāng)服務(wù)器模塊接收到客戶端的請求后,會做出相應(yīng)響應(yīng)。服務(wù)器模塊使用SQLite3 數(shù)據(jù)庫存儲物料傳送信息。圖1所示為系統(tǒng)總體設(shè)計(jì)方案。
圖1 系統(tǒng)總體設(shè)計(jì)方案
同步問題是嵌入式系統(tǒng)在通信時(shí)所需注意的。由于接收和發(fā)送方異地,要使兩者能同頻率地協(xié)調(diào)工作,前提是有同步系統(tǒng)提供支持。嵌入式系統(tǒng)平臺采用Tiny4412 開發(fā)板,板上的UART 提供四個獨(dú)立的異步I/O 口,每一個I/O 口均可運(yùn)行于DMA 模式或中斷模式;可支持5、6、7、8 位的串行數(shù)據(jù)收發(fā)、1 位或2 位停止位、奇/偶校驗(yàn)位、可修改的波特率。
通過產(chǎn)生外部中斷或DMA 請求兩種方式,UART 可以將數(shù)據(jù)在CPU 和外設(shè)之間傳輸。每個UART 通道含有兩個64 字節(jié)的FIF0。通過數(shù)據(jù)總線將內(nèi)部數(shù)據(jù)發(fā)送到FIFO 隊(duì)列,然后再通過移相器的TXDn 引腳發(fā)送出去。數(shù)據(jù)接收過程是將外部信號通過RXDn 移入接收移相器,然后進(jìn)入接收FIFO 隊(duì)列,最后到達(dá)數(shù)據(jù)總線,利用CPU 對其處理,或在DMA 方式下直接存入存儲器中。
本文采用的是RS 232 連接方式。RS 232 標(biāo)準(zhǔn)采用的接口是9 芯的D 型插頭,只需要RXD、TXD 和GND 三個引腳就可進(jìn)行串行通信,但由于RS 232 標(biāo)準(zhǔn)定義的高、低電平信號與Tiny4412 系統(tǒng)中的TTL 電路所定義的不同,TTL的標(biāo)準(zhǔn)邏輯“l(fā)”對應(yīng)2~3.3 V 電平,標(biāo)準(zhǔn)邏輯“0”對應(yīng)0~0.4 V 電平;而RS 232 的標(biāo)準(zhǔn)邏輯“1”對應(yīng)-3~-15 V 電平,標(biāo)準(zhǔn)邏輯“0”對應(yīng)3~15 V 電平,兩者間要進(jìn)行通信必須經(jīng)過電平信號的轉(zhuǎn)換,在此選用MAX232 電平轉(zhuǎn)換芯片實(shí)現(xiàn)這種變換[7]。
MAX232 是由德州儀器公司推出的一款兼容RS 232 標(biāo)準(zhǔn)的芯片。MAX232 內(nèi)部具有驅(qū)動器、接收器、電壓發(fā)生器電路和轉(zhuǎn)換電路。Tiny4412 UART 與MAX232 的連接方式如圖2所示。
圖2 Tiny4412 與MAX232 的連接電路
單片機(jī)AT89C52 的RXD 和TXD 端與嵌入式系統(tǒng)通信接口電路相連,它們之間采用的是全雙工串行通信。接口電路主要由MAX232 及其外圍電路來完成。AT89C52 的串行輸入口引腳TXD 與MAX232 的T1 IN 引腳相連,串行輸入口引腳RXD 與MAX232 的R1 OUT 引腳相連,MAX232的T1 OUT、R1 IN 分別與RS 232 的2、3 引腳相連,如圖3所示。
圖3 AT89C52 與MAX232 的連接
硬件平臺結(jié)構(gòu)如圖4所示。采用ARM 平臺Tiny4412 開發(fā)板和STC89C52 單片機(jī)作為系統(tǒng)的數(shù)據(jù)采集模塊。其中嵌入式Tiny4412 平臺負(fù)責(zé)分析處理、采集和傳輸數(shù)據(jù),搭建網(wǎng)絡(luò)通道,其主處理器為Exynos4412,運(yùn)行主頻最高速率可以達(dá)到1.5 GHz,可以及時(shí)對采集和傳輸接收到的數(shù)據(jù)進(jìn)行分析處理。STC89C52 單片機(jī)與Tiny4412 之間通過UART 進(jìn)行串口通信,滿足系統(tǒng)的數(shù)據(jù)傳輸要求[8-10]。
圖4 硬件平臺結(jié)構(gòu)
2.2.1 液晶顯示模塊
液晶顯示子模塊在本次設(shè)計(jì)中需要顯示管理人員預(yù)設(shè)的計(jì)數(shù)閾值,同時(shí)也要實(shí)時(shí)顯示當(dāng)前計(jì)數(shù)個數(shù)。LCD1602 可以顯示物料計(jì)數(shù)值,且操作簡單,能夠完整顯示物料運(yùn)輸信息。在單片機(jī)數(shù)據(jù)采集模塊上電后,液晶顯示子模塊顯示初始值,實(shí)時(shí)顯示當(dāng)前已經(jīng)傳送的物料數(shù)目,按下按鍵K3 顯示管理員預(yù)設(shè)的物料運(yùn)輸上限閾值[11-12]。
2.2.2 聲光報(bào)警模塊
燈光報(bào)警采用普中A2 開發(fā)板自帶的LED 燈,聲音報(bào)警采用有源蜂鳴器。如果當(dāng)前物料運(yùn)輸計(jì)數(shù)信息超出設(shè)定的計(jì)數(shù)閾值,則LED 燈紅燈閃爍,蜂鳴器報(bào)警[13]。
2.2.3 按鍵管理模塊
按鍵管理模塊共有3 個按鍵,分別為K1、K2、K3;K1為減鍵,K2 為加鍵,K3 為設(shè)置鍵。
使用HR-SC04 超聲波傳感器對物料運(yùn)輸位置數(shù)據(jù)進(jìn)行采集。Tiny4412 開發(fā)板通過字符設(shè)備驅(qū)動對超聲波傳感器進(jìn)行數(shù)據(jù)采集,通過GPIO 串口接收距離數(shù)據(jù),再通過三點(diǎn)定位法實(shí)現(xiàn)具體位置定位。內(nèi)核加載超聲波驅(qū)動如圖5所示,得到的距離結(jié)果如圖6所示。使用E18-D80NK 紅外計(jì)數(shù)器采集計(jì)數(shù)值,若紅外探頭檢測到物體,則計(jì)數(shù)值加1,并實(shí)時(shí)顯示在LCD1602 液晶屏上。
圖5 內(nèi)核加載超聲波驅(qū)動
圖6 兩組超聲波測距傳感器測量的距離
Tiny4412 開發(fā)板可支持多種操作系統(tǒng),本文采用Linux嵌入式操作系統(tǒng),使用SQlite3 數(shù)據(jù)庫來存儲采集的數(shù)據(jù),采用SMTP 機(jī)制實(shí)現(xiàn)郵件子模塊報(bào)警,使用TCP/IP 網(wǎng)絡(luò)協(xié)議模型和B/S 架構(gòu)實(shí)現(xiàn)服務(wù)器端和客戶端之間的通信[14-15]。
服務(wù)器模塊使用TCP/IP 網(wǎng)絡(luò)協(xié)議模型,使用HTTP 網(wǎng)絡(luò)傳輸協(xié)議與客戶端進(jìn)行通信[16]。整個服務(wù)器的搭建致力于對數(shù)據(jù)采集模塊的數(shù)據(jù)進(jìn)行分析,同時(shí)對客戶端發(fā)送的HTTP請求報(bào)文進(jìn)行解析,并通過發(fā)送HTML 網(wǎng)頁響應(yīng)其請求。
客戶端模塊使用B/S 模型,當(dāng)服務(wù)器端建立連接后,通過Web 網(wǎng)頁訪問的方式對服務(wù)器進(jìn)行訪問,登錄服務(wù)器只需要利用PC 機(jī)的網(wǎng)絡(luò)IP 地址即可訪問服務(wù)器,登錄成功后對服務(wù)器發(fā)送不同的請求,獲取到上下料出庫信息[17-18]。
超聲波測距的流程如圖7所示,首先需要一個10 μs 的脈沖觸發(fā)信號,該模塊內(nèi)部將發(fā)出8 個40 kHz 的周期電平,并由超聲波傳感器自動檢測回波。一旦檢測到有回波信號則輸出回響信號?;仨懶盘柕拿}沖寬度與所測的距離成正比。
圖7 超聲波數(shù)據(jù)采集流程
采用Linux 系統(tǒng)中常用的V4L2 視頻采集框架,使用帶有USB 驅(qū)動的ZC301 攝像頭來進(jìn)行視頻數(shù)據(jù)采集[19],如圖8所示。
圖8 視頻采集流程
SQLite3 數(shù)據(jù)庫是一種比較常見的文件型數(shù)據(jù)庫,占用資源非常小,在Linux 系統(tǒng)上僅需1.56 MB。與其他數(shù)據(jù)庫比較,SQLite3 具有數(shù)據(jù)分享方便、數(shù)據(jù)類型沒有限制、操作簡單等優(yōu)點(diǎn)[20]。設(shè)置SQlite3 數(shù)據(jù)庫的存儲格式包括序號、傳送個數(shù)、總計(jì)、操作時(shí)間等參數(shù)。
在數(shù)據(jù)處理子模塊解析Tiny4412 數(shù)據(jù)采集模塊采集的數(shù)據(jù)后,如果發(fā)現(xiàn)物料運(yùn)輸個數(shù)超過預(yù)先設(shè)置的閾值,就會激活SMTP 報(bào)警子模塊發(fā)送郵件通知管理員。系統(tǒng)采用的是SMTP 郵件方式,使用EHLO 命令向服務(wù)器表明用戶身份,使用AUTH LOGIN 命令用于郵箱認(rèn)證,發(fā)送該命令后依次向服務(wù)器發(fā)送郵箱賬號和登錄密碼。使用MAIL FROM 命令寫入發(fā)件人地址,使用RCPT TO 命令寫入收件人地址,在DATA 里寫入所發(fā)送的郵件主題和內(nèi)容[21]。SMTP 報(bào)警子模塊主要是通過TCP/IP 協(xié)議連接郵箱服務(wù)器,該模塊操作比較簡單,通過TCP/IP 協(xié)議向郵箱服務(wù)器發(fā)送指令操作[22]。
系統(tǒng)上電后,啟動視頻采集子模塊,通過ZC301 攝像頭采集視頻數(shù)據(jù),此后將得到的視頻數(shù)據(jù)通過V4L2 架構(gòu)傳輸顯示在Tiny4412 平臺的OLED 屏幕上。同時(shí)當(dāng)單片機(jī)數(shù)據(jù)采集模塊采集得到的計(jì)數(shù)值超出閾值時(shí),會通過UART 串口通信給Tiny4412 數(shù)據(jù)采集模塊發(fā)送報(bào)警信息,并通過SMTP郵件報(bào)警子模塊給管理人員發(fā)送郵件進(jìn)行報(bào)警。在獲得報(bào)警信息后,Tiny412 數(shù)據(jù)采集模塊給服務(wù)器發(fā)送警示,并判斷單片機(jī)數(shù)據(jù)采集模塊中的聲光報(bào)警子模塊是否處于工作狀態(tài)。拍攝到的正在移動的人手圖像如圖9所示。紅外計(jì)數(shù)器模塊和聲光報(bào)警模塊分別如圖10 和圖11所示。
圖9 拍攝到的正在移動的人手圖像
圖10 紅外計(jì)數(shù)器模塊
圖11 聲光報(bào)警模塊
傳感器節(jié)點(diǎn)采集到計(jì)數(shù)值之后,將數(shù)據(jù)發(fā)送給單片機(jī)數(shù)據(jù)采集模塊,單片機(jī)對采集得到的環(huán)境溫度數(shù)據(jù)進(jìn)行初次判斷。若采集得到的當(dāng)前計(jì)數(shù)值超出上限閾值,則LED 燈亮,并且伴有蜂鳴器報(bào)警[23]。
傳感器節(jié)點(diǎn)得到物料掃描信息,將數(shù)據(jù)發(fā)送給單片機(jī)數(shù)據(jù)采集模塊,單片機(jī)數(shù)據(jù)采集模塊將得到的數(shù)據(jù)顯示在LCD上。紅外計(jì)數(shù)器未被遮擋時(shí),LCD 顯示屏上不加1;當(dāng)有物體通過紅外計(jì)數(shù)器前方時(shí),紅外計(jì)數(shù)器加1。對采集的計(jì)數(shù)信息進(jìn)行初次判斷時(shí),若采集得到的計(jì)數(shù)值超過上限閾值,則啟動GSM 短信報(bào)警。
Tiny4412 開發(fā)板數(shù)據(jù)采集模塊接收到報(bào)警信息后,觸發(fā)郵件報(bào)警子模塊開始工作,此時(shí)服務(wù)器調(diào)用郵件子模塊線程,通過郵件給管理人員發(fā)送報(bào)警信息,如圖12所示;如果管理人員距離較遠(yuǎn),可進(jìn)行GSM 短信報(bào)警,如圖13所示。
圖13 GSM 短信報(bào)警
管理人員可通過Web 網(wǎng)頁對服務(wù)器進(jìn)行訪問。管理人員需要通過姓名、工號以及密碼登錄客戶端。管理人員在登錄成功之后,可進(jìn)行上下料操作查詢。每次掃描到物料發(fā)生變化后,系統(tǒng)會自動記錄上次操作的時(shí)間供物料管理人員查看。如圖14所示,當(dāng)服務(wù)器模塊接收到客戶端模塊通過TCP/IP網(wǎng)絡(luò)協(xié)議發(fā)送的HTTP 請求報(bào)文時(shí),會對接收到的請求報(bào)文進(jìn)行解析,并將結(jié)果以HTML 文件格式返回給客戶端模塊。管理人員在登錄時(shí)會向服務(wù)器發(fā)送請求報(bào)文,服務(wù)器解析請求報(bào)文判斷客戶端管理人員的具體請求,解析后編寫HTML網(wǎng)頁來對管理人員的請求進(jìn)行訪問。管理人員登錄查詢界面如圖15所示。當(dāng)管理人員查看物料運(yùn)輸情況時(shí),需要填寫本次掃描的物料數(shù)目以及操作人員的工號。流水線掃描操作界面以及庫存詳情信息分別如圖16 和圖17所示。
圖14 客戶端登錄請求報(bào)文
圖15 登錄界面
圖16 流水線掃描操作界面
圖17 庫存詳情信息
本文采用Tiny4412 開發(fā)板和STC89C52 單片機(jī)作為主控平臺,選擇LCD1602 液晶屏作為顯示單元;使用HCSR04 超聲波傳感器和E18-D80NK 紅外線傳感器作為數(shù)據(jù)采集模塊,對采集的數(shù)據(jù)進(jìn)行判斷分析,能夠及時(shí)進(jìn)行聲光、郵件和短信報(bào)警。系統(tǒng)成功完成了對多種傳感器技術(shù)的融合,滿足上下料系統(tǒng)監(jiān)測的需求,論證了此系統(tǒng)體系架構(gòu)的可行性。