基于NB-IoT的纺织车间环境监测系统
2022-08-20侯秀月于会山
侯秀月,于会山
(聊城大学物理科学与信息工程学院,聊城 252059)
0 引言
中国纺织业历史悠久,是我国一大传统行业,随着经济发展,许多智能纺织车间应运而生,促进了纺织业的快速发展。而在纺织品生产过程中,存在很多外在因素影响生产效率,进而影响纺织企业的发展。例如,温湿度会对纺织车间中所使用纱线的强力、断头率、回潮率等因素造成影响,因此需控制纺织车间内的温湿度在合适范围内,以保证产品质量和环境安全;随着机械化、大批量生产需求的增大,电气设备使用需求也随之增大,就会存在线路老化、分布不合理等问题,容易引发火灾,故采用烟雾传感器检测车间气体浓度以便及时排查火情,从而保证纺织车间的生产安全。受我国劳动力成本低的影响,许多纺织车间还无法摆脱对人力的依赖。依旧采用人工检测方法对纺织车间环境的温湿度及烟雾浓度进行监测,既费时又费力,进而阻碍了纺织车间智能化发展。
窄带物联网(NB-IoT)技术是一种基于蜂窝的窄带物联网新兴技术,具有覆盖范围广、功耗低、海量连接等特点,广泛应用于智能农业、智能表计、智能停车等领域。基于上述背景,本文设计了一种基于NB-IoT的纺织车间环境监测系统。系统集合无线通信技术、嵌入式技术、互联网技术、传感器技术,实时采集温湿度及烟雾浓度,利用NB-IoT无线传输技术远程传输至云平台,使工作人员及时查看纺织车间环境情况,保证生产效率。
1 系统整体框架设计
如图1所示,系统整体框架主要由环境监测采集终端、NB-IoT无线通信模组、OneNET云平台、监测显示终端组成。
图1 整体框架图
环境监测采集终端可以通过温湿度、烟雾浓度传感器检测车间环境变化,传至主控芯片进行解析并做出响应;NB-IoT无线通信模组将采集的环境信息通过MQTT协议经由NB-IoT移动基站发送至OneNET云平台进行数据解析,云平台可以对数据进行分析、存储、保存、汇总等;在监测显示终端实现数据显示。
2 系统硬件设计
系统硬件结构由主控模块、数据采集模块、语音报警模块、无线通信模块、显示模块、电源模块构成。其中数据采集模块为温湿度传感器及烟雾传感器,对纺织车间进行环境检测;语音报警模块通过接收主控模块发送的报警信号进行喇叭报警;主控模块选择STM32F103C8T 6作为主控芯片,并通过无线通信模块将数据发送至OneNET云平台;显示模块为7英寸串口屏,进行数据实时显示;电源模块采用12V电源为系统供电。系统硬件结构图如图2所示。
图2 系统硬件结构图
2.1 主控模块
本系统选用STM32F103C8T6作为MCU主控核心。该芯片基于ARM Cortex M3内核,是32位微控制器,具有广泛的增强型外设和I/O口,提供标准且先进的通信接口,如IC、SPI、USART等;此外,它还包含一个12位ADC、七个通用16位定时器和一个高级控制PWM定时器,可在-40~85℃的温度范围内工作,电源电压为2~3.6 V。其原理图如图3所示。
图3 主控芯片
2.2 电源模块
系统采用锂电池进行供电,供电电压为12 V。为保证语音芯片及传感器正常工作,采用AMS1117降压芯片降压至5 V为其供电,由于单片机工作电压为3.3 V,NB模块工作电压为2.1~3.63 V,所以需再次降压至3.3 V为单片机及NB模块供电,这样既保证了单片机及其他外设正常工作,又保证了电路稳定性。降压电路如图4所示。
图4 降压电路
2.3 数据采集模块
温湿度传感器采用SHT31高精度数字型传感器,湿度范围为0~100%RH,温度范围为-40~125℃,供电电压为2.4~5.5 V,其测量精度及灵敏度满足此系统要求。STM32F103C8T 6单片机与SHT31传感器使用IC协议通信,SHT31的SDA数据端和SCL时钟端分别与单片机的PB9和PB8连接,进行信息交互。SHT31温湿度传感器接口电路如图5所示。
图5 温湿度传感器接口电路
对于纺织车间环境中的烟雾检测,采用MQ2型烟雾传感器,其具有较高的灵敏度和抗干扰性。其检测可燃气体与烟雾浓度范围在100~10000 ppm之间,输出模拟量为0~5 V电压,输出电压随纺织车间烟雾的升高而增大。MQ2的AO引脚与MCU的PA4相连,将采集到的数据直接发送至MCU,利用公式换算成烟雾浓度值发送至显示屏进行显示。MQ2型烟雾传感器接口电路如图6所示。
图6 烟雾传感器接口电路
2.4 语音报警模块
系统选用JQ8400语音芯片作为语音报警模块主控芯片,支持MP3 WAV硬件解码及FAT文件系统,最大优势在于能够灵活地更换SPIflash内的语音内容,满足系统需求。系统设置阈值,当环境监测采集终端采集的数据超过阈值时,单片机会通过USART将报警信息传至语音芯片进行报警提示。JQ8400语音芯片电路如图7所示。
图7 语音芯片电路
2.5 NB-Io T无线通信模块
NB-IoT对于远距离、低功耗、低频率的数据通信是非常有优势的,因此,此设计中的NB-IoT无线通信模块选用移远BC26型号。图8所示为BC26模块实物图。BC26有丰富的外部接口,如UART、SPI、ADC等;此外,它还拥有众多网络协议栈,如TCP、CoAP、MQTT等,支持OneNET云平台。在系统主控电路设计中只需对相关I/O口和串口进行配置即可实现相关功能,其主要作用是MCU通过串口发送相关AT指令,把采集到的数据实时上传至OneNET云平台,实现模块间无线通信。
图8 NB-IoT模块
3 系统软件设计
3.1 系统主程序设计
系统初始化设定阈值并开启定时器,每隔十秒钟MCU控制处理MQ2与SHT31所采集到的数据,通过USART通讯协议与显示屏及NB模块进行通讯,将显示屏相应控件属性值及云端数据实时更新为当前采集到的环境数据。若超过阈值,MCU通过USART协议与语音模块进行通信发送报警相关报文,此时语音模块将提取报警音频进行播放,提示相关工作人员注意防范。主程序流程如图9所示。
图9 主程序流程图
3.2 数据采集部分软件设计
MCU微控制器与SHT31之间通过I²C协议对数据进行实时采集。系统首先对SHT31初始化,然后开启定时器,每隔十秒MCU通过IC协议发送写信号(Wr=0)及工作模式指令;等待一段时间再次通过IC协议发送读信号(Rd=1),此时读取命令的高八位,再读取余下的低八位,最终读取环境温湿度数据;如果使时钟延长功能,只需要通过while(SCL==0)阻塞程序,等待其释放总线然后MCU读取数据即可。温湿度采集流程如图10所示。
图10 温湿度采集流程图
要实现对MQ2烟雾浓度的采集,首先将烟雾传感器通电,给传感器一个初始化信号;然后进行AD信号采集,MCU微控制器配置ADC引脚,读取AO引脚传输的模拟量,根据MQ2的计算公式将所测电压值转换为浓度值,公式为log=log+(,均为常数),其中为电阻值,为浓度值,最终将得到实际的烟雾浓度值进行输出。烟雾浓度采集流程如图11所示。
图11 烟雾浓度采集流程图
3.3 显示报警部分软件设计
系统使用显示屏配备的上位机软件完成界面UI的设计。系统初始化后,当MCU微控制器接收到采集模块的数据时,通过USART通讯协议发送相关数据显示控件文本属性值至显示屏,显示屏接收并进行显示。当采集数据超过所设阈值时,微控制器向显示屏发送报警控件文本属性值,同时通过JQ8400语音报警模块播放报警信息。待环境恢复正常后,清空显示屏报警文本。显示报警流程如图12所示。
图12 显示报警流程图
3.4 NB-Io T模块软件设计
MCU微控制器与NB模块使用USART通讯协议进行数据通信,通过MCU的TX端和RX端分别与NB-IoT模块的RX端和TX端连接,进行数据发送与接收。系统使用NB模块与OneNET平台进行数据交互,通过MQTT协议将数据传输至OneNET平台,NB-IoT模块的工作和运营主要是通过发送AT指令进行的,模块通过AT指令实现入网、驻网、配置工作模式和发送数据等操作。用户使用相关AT指令执行采集端与平台之间的数据交互。部分AT指令集如表1所示。
表1 AT指令集
4 系统测试
系统测试包含环境数据采集、显示终端、报警响应、数据上传等功能测试。此次测试时间为夏季,测试界面如图13所示。
图13 测试界面
系统每隔十秒采集一次数据,实现显示终端及云端数据实时更新、报警及时响应等功能。故系统可分为两种工作状态,一是正常环境状态下,采集环境数据实时显示并上传至云端远程监控、记录;二是环境数据超出安全状态时,进行报警显示及语音提醒,当前数据及报警信息传至云端记录,以达到快速排查的目的。
5 结语
本文设计了一种基于NB-IoT的纺织车间环境监测系统,选择STM32F103C8T6作为主控芯片,利用各种传感器并通过USART或I²C协议对数据进行实时采集,搭载移远BC26无线通信模块及OneNET平台进行数据交互,实现对数据的远程传输。该系统采用NB-IoT技术,具有低功耗、广覆盖、海量连接等特点,更符合节能降耗的要求,在后期生产中可降低成本。此系统相比于传统监测系统安全性更高、成本更低,可同时在纺织车间放置多个终端节点,对车间全方位、多节点进行实时监控。