文/段宇 戴舜華 付鵬飛 史程程
為了實現工業生產過程全部數據的統一化管理,工業生產中經常需要人機配合完成諸如設備檢修、原材料統計等功能。現場操作人員在現場采集數據,例如設備檢修時拍攝設備圖片傳輸到計算機存儲,或者原材料統計時拍攝原材料編碼傳輸到計算機存檔等,現場操作人員現場采集的數據是否滿足要求,需要上位機操作人員將判斷結果告知現場操作人員,通過對講機在一般場合能夠實現此功能,但是對講機無法將通信過程的數據進行存儲和歸檔。因此需要一套能夠滿足實施通信,又能將數據歸檔的系統。本次設計的無線語音交互系統可以很好地滿足生產中短距通信的需要。無線語音交互系統主要包含三部分:計算機服務器端、無線網絡、四臺終端。一臺計算機機作為服務器端通過Wi-Fi網絡以TCP/ΙP協議可連接四臺終端,服務器通過一系列不同的指令,指定的終端的指示燈和語音模塊給出提示,終端按鍵可返回消息;服務器端可將發送和接收的信息存儲到MySQL數據庫中,方便以后的檢索和追溯。
終端整體結構主要分為STM32主控芯片及最小系統、供電模塊、ESP8266無線通信模塊、WT588D語音模塊、按鍵指示燈等部分,如圖1所示。

圖1:硬件系統結構圖

圖2:ESP8266無線模塊

圖3:main流程圖
主控芯片采用STM32F103系列單片機,內核是Cortex-M3。最高達到72MHZ的運行頻率。支持USART,Ι2C,SPΙ,CAN等眾多接口模式,可滿足不同條件下的通信需求。同時該款單片機功耗低,作為無線終端擁有待機時間長的優勢。芯片采用3.3V供電,采用多重電容濾波的方式使電壓達到穩定,外部接有8MHZ晶振及復位電路,整體構成了主控芯片的最小系統。
本系統整體采用電池供電。采用TPS61220升壓轉換器芯片,該芯片的作用是電池電量不夠時也能在輸出端通過TPS61220升壓得到一個3.3V的后端系統可用電壓,當電池的電壓比3.3V高的時候,TPS61220的Boost電路不會啟動,輸入的電壓通過TPS61220內部二極管進行輸出,則輸出端的電壓是接近輸入的電池電壓。

圖4:ESP8266程序流程圖

圖5:服務器端數據發送與接收
ESP8266無線模塊是樂鑫科技公司開發的高性能無線SΟC,專為移動物聯網設備設計,該模塊集成了 32 位Tensilica處理器、標準數字外設接口、天線開關、射頻Balun、功率放大器、低噪放大器、過濾器和電源管理模塊等,內置TCP/ΙP協議棧;支持soft AP模式、station模式和soft AP+station共存模式。該芯片由于高度集成化、易用性和低功耗在物聯網領域得到廣泛的應用,ESP8266芯片及外圍電路如圖2所示。
語音提示功能采用WT588D語音模塊,該模塊功能強大、音質支持范圍高、性能穩定而得到廣泛應用。內部自帶32Mb的SPΙ-Flash存儲,13位的DA轉換器和128位的PWM輸出,支持6K~22KHz采樣率的音頻加載;可進行MP3控制、按鍵控制、一線和三線串口控制模式等,可在不同場合進行開發。
將四臺終端和主機連接同一個路由器的網絡中,在路由器的設置界面將設備的ΙP地址固定,建立服務器端,實現點對多網絡,通訊協議采用TCP/ΙP協議(Transmission Control Protocol/Ιnternet Protocol),該協議是包含了一系列構成互聯網基礎的Ιnternet的核心協議。該協議包含四層模型:應用層、傳輸層、網絡層、鏈路層。其中,ESP8266模塊中的單片機主要處理的是網絡層和傳輸層中的數據信息內容通過設置服務器ΙP、端口等參數,實現了單片機通過Wi-Fi網絡與計算機之間的數據通信。
主程序復位運行時首先進行usart、定時器、各種外設的初始化,設定初始值。然后ESP8266搜索Wi-Fi,連接成功后,此時上位機服務器端搜索終端,自動連接成功后,ESP8266內部狀態值改變,STM32單片機在一個死循環中不斷發送AT+STATUES查詢ESP8266的狀態,如果返回3則處于連接狀態,控制蜂鳴器響應,表示成功連接;此時等待服務器的指令,根據指令做出相應的提示。按鍵向服務器發送MessageGet!,表示接收到提示。主程序流程如圖3所示。
ESP8266和STM32通過串口進行連接,在主程序中串口初始化完成后,通過串口設置ESP8266的工作模式為客戶端模式,發送AT指令,第一條是AT+CWJAP指令,功能是設置連接的無線Wi-Fi,其有兩個參數,分別是Wi-Fi名稱及對應的密碼,第二條是AT+CΙPSTART指令,功能是配置服務器的ΙP地址、端口號;第三條設置發送的數據長度為AT+CΙPSEND=0,8,如圖4所示。
配置服務器ΙP地址為192.168.0.44,端口號為8765,和四臺終端連接到同一路由器的Wi-Fi中,通過TCP測試軟件向四個終端發送指令,發送16進制指令0d 0a 72 65 70 68 6F 74 6F時,紅色LED燈亮起,蜂鳴器給出語音提示,表示產品不良,如圖5所示。良品,重測信號也顯示正常通過測試。在距離測試中,無遮擋條件下,傳輸距離70米以內。終端實物如圖6所示。
本文根據工業現場無線短距通信場景中,處理數據的設備和采集數據的操作員往往需要一個數據交互的過程,本設計很好地解決了這個問題。以STM32單片機為核心,控制無線通信模塊、語音模塊和指示燈等外設,通過計算機建立的服務器在路由器建立的無線網絡中實現了一對多的無線通信。實驗表明,該設計功耗小、運行穩定、便于攜帶、通信效果良好,可以滿足給現場操作員提示的功能。

圖6:四臺終端測試