文/段宇 戴舜华 付鹏飞 史程程
为了实现工业生产过程全部数据的统一化管理,工业生产中经常需要人机配合完成诸如设备检修、原材料统计等功能。现场操作人员在现场采集数据,例如设备检修时拍摄设备图片传输到计算机存储,或者原材料统计时拍摄原材料编码传输到计算机存档等,现场操作人员现场采集的数据是否满足要求,需要上位机操作人员将判断结果告知现场操作人员,通过对讲机在一般场合能够实现此功能,但是对讲机无法将通信过程的数据进行存储和归档。因此需要一套能够满足实施通信,又能将数据归档的系统。本次设计的无线语音交互系统可以很好地满足生产中短距通信的需要。无线语音交互系统主要包含三部分:计算机服务器端、无线网络、四台终端。一台计算机机作为服务器端通过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:四台终端测试