李楷文 周鑫俊 谭启日 潘启勇
摘要:为了促进养殖业信息化的发展,文章基于NB-IoT技术设计了一种智能鱼缸温度监控系统。该系统采用STM32F103C8T6单片机和传感器终端实时采集温度,通过NB-IoT技术传输到物联网云平台,访问云平台实现对鱼缸环境的远程监测和自动控制。经过测试,系统采集温度的误差不超过0.5 ℃,数据传输稳定性较高,温度低于阈值一定时间自动发送报警短信,为鱼类养殖提供了有力保障。
关键词:实时采集;远程监测;自动控制;NB-IoT
中图分类号:TP302文献标志码:A0引言随着人们生活水平的不断提高,精致生活成为一种时尚。为了增添生活情趣,装饰家居环境,养殖观赏鱼已成为一种潮流。伴随着这种潮流,鱼缸、净水器等配套用品热度不断上升。鱼类生长对不同的温度要求分为冷水、温水和热水三种,不同种类的鱼苗只能存活于适合自己水温的环境[1]。智能鱼缸是利用物联网技术,结合传感器和计算机开发的一种新型养殖模式[2]。智能鱼缸具有自动控温、远程监控等功能,给人们的日常生活带来了便利。
目前,有很多研究者开展了针对物联网技术与温度控制方面的研究。李多[3]利用ZigBee技术,实现了嵌入式终端对温度的无线监控。梁景普等[4]利用GPRS技术,实现对鱼缸温度的监控。上述系统各具特色,但ZigBee技术覆盖范围小,GPRS则功耗较高,而NB-IoT技术同时实现了低成本、低功耗、广覆盖和多连接[5]。本文基于NB-IoT技术,设计了一种智能鱼缸温度监控系统,实现了对鱼缸温度的自动控制和监测,提高观赏鱼的存活率。
1系统架构本文设计的鱼缸温度监测控制系统,整体架构参考物联网分层模型,如图1所示。从上往下分为感知层、网络层和应用层,其中,网络层又包含了传输层和平台层[6]。
感知层由温度探头和STM32F103单片机构成,负责鱼缸的数据采集和加热控制,探头放置在鱼缸内部。传输层包括核心网和通信基站,负责业务数据的传输。平台层保存业务数据,实时监控系统。应用层为客户端,可以通过手机App与PC端实现鱼缸温度的监测和控制。
2感知层硬件设计鱼缸温度监控系统的硬件电路按照功能可划分为MCU控制模块、电源模块、温度采集模块和通信模块。
2.1主控芯片本设计选择了意法半导体的32位增强型单片机STM32F103C8T6作为主控芯片,其内核为ARM公司的Cortex-M3架构,工作频率最高达72 MHz,64 k的程序存储器,自带12位高精度A/D转换器,3个UARST接口,4种超低功耗模式,工作温度-40~85℃,足以满足用户对低功耗高性能的需求。
2.2电源模块设计考虑到应用场景的多样性,环境的复杂性,供电电路采用交流火线零线供电,取电方便。STM32的工作电压为2~3.6 V,通信芯片BC26的工作电压为2.1~3.63 V,为了使模块正常工作,选用HLK10 M05作为AC/DC模块,将220 V交流电转为5 V的直流电。本系统设计了以RT9193芯片为核心的稳压电路,该芯片具有快速响应和超低噪声的优点。在满功率输出的情况下,电压可降低至220 mV,稳压电路输出电压3.3 V,保证了系统的稳定性。
2.3检测模块和温控模块设计检测模块使用NTC热敏电阻作为测温元件。该电阻以过渡金属氧化物为主要原材料,采用电子陶瓷工艺制成。由于其具有电阻随温度上升而降低的特性,被广泛应用于家用空调、汽车空调、冰箱、冷柜等场合的温度测量与控制。其感温范围从-50~105 ℃,测温精度为±0.5 ℃。
先将NTC热敏电阻串联一个电阻,接入3.3 V和GND之间,再用STM32F103单片机自带的12位A/D转换口采集其两端电压,并根据电压和温度转换关系表得到最终温度。
温控部分采用2路5 V继电器控制。当温度达到规定的阈值时,由主控芯片控制启闭,实现对鱼缸升温和降温控制。
2.4NB-IoT通信模块设计通信模块选用的是基于NB-IoT技术的无线通信模块BC26,采用LCC封装,具有3种工作模式,电流功耗在省电模式下低至3 μA,能最大限度地满足终端对小尺寸低功耗模塊的要求。BC26模块采用NB-IoT无线通信协议3GPP-rel.13与网络运营商的设备进行连接,能够提供最大62.5 kbit/s的上行速率和25.5 kbit/s的下行速率,电路如图2所示。STM32通过串口TXD,RXD与BC26进行交互。BC26通过外置天线以及专用的SIM卡引脚与物联网平台连接,实现信号的收发。
3传输层数据通信协议本系统的传输层数据协议为UDP协议,是OSI模型中的一种无连接的传输层协议。区别于TCP协议建立连接时的“三次握手”和断开连接时的“四次挥手”,UDP协议是一种面向无连接、无缓冲数据传输的通信协议,在应用层发送数据前无需建立连接,发送完成后也无需断开,只要接收方提前建立端口连接,即可通过端口号和IP地址向目标发送指定的数据,大大减少了因为连接和断开带来的时延,提高了系统的实时性。此外,与TCP点对点的连接不同,UDP传输协议还支持一对一、一对多、多对一和多对多的交互通信。
UDP协议也是一种面向报文的无线传输协议。其数据格式分为UDP报头和UDP数据区两部分。UDP报头部分由4个两字节字段组成,分别表示该报文的源端口、目的端口、报文长度和校验值。
4应用层软件设计应用层是物联网三层结构中的最顶层,可以对感知层采集的数据进行计算、处理和挖掘,从而实现对物理世界的实时控制、精确管理和科学决策。应用层的核心功能围绕“数据”和“应用”两个方面。在本设计中应用层采用MQTT协议连接到阿里云物联网平台,主要实现的是对感知层温度采集模块所采集到的温度数据进行处理以及对于升温、降温开关的控制。软件设计流程图如图3所示。
4.1温度采集模块程序设计将NTC热敏电阻与主控芯片的ADC引脚相连,在对温度数据进行AD采样时,NTC的电阻值会随着温度改变。为了提高精度,先根据电压温度特性表进行拟合;再用Matlab软件对曲线进行仿真,不断逼近;最终得到精度较高的温度电压特性曲线函数,检测温度与实际值相差±0.5 ℃。
4.2通信模块程序设计本设计中,BC26通信模块采用消息队列遥测传输协议(MQTT)与阿里云平台实现数据互联。MQTT是一种“轻量级”的基于发布/订阅模式的消息传输协议。其优点是能够以较少的代码、有限的带宽,为远程设备提供实时可靠的消息服务。
在系统上电后,MCU采用通过串口向模块发送AT指令的方式,实现NB模块初始化、连接、温度采集数据的收发、短信发送等等功能,相关AT指令如下:
AT+CIMI//查询SIM卡号
AT+CGSN=1//查询IMEI
AT+CSQ//查看信号质量
AT+CGPADDR=1//获取模块IP地址
AT+CGATT=1//模块网络已连接
AT+QIOPEN=1,0,“UDP”,“101,201,213,232”,1001,0,1//连接服务器
AT+QISEND=0,10//发送数据
在上电后,系统会检查BC26的工作状态(卡号、信号强度、是否入网等),状态不正常会经过串口返回对应错误代码,检查通过后BC26会采用设定的IP地址、端口号连接至服务器云平台,定时发送温度信息,用户就可以在PC端远程观察到鱼缸的实时温度。
5系統测试系统硬件设备、参数配置完成,NB模块连接成功后,登录阿里云物联网平台不仅可以查看设备状态,还可以查看设备ID、型号等。进入数据查看页面,观察NB模块上传的温度信息,并与实际温度值进行比对,误差不超过±0.5 ℃,满足预期。将测试温度降低至阈值,加热装置自动打开,待温度稳定后,自动关闭,若温度长时间维持在阈值之下时,服务器会向指定手机号发送预警短信。经测试,所设计的功能均能正常使用,系统运行稳定,测量精度较高。
6结语本文设计了一种基于NB-IoT技术的鱼缸温度监控系统,解决了目前智能鱼缸面临的通信距离短,功耗较高的问题。经过测试,温度控制稳定,误差不超过±0.5 ℃,提高了养殖鱼类的存活率。
参考文献
[1]冯茹.淡水鱼类养殖技术及水环境对养殖的影响[J].新农业,2021(5):53.
[2]李晔,曾昂.基于物联网的智能鱼缸系统设计与实现[J].中国新通信,2022(16):62-64.
[3]李多.基于ZigBee和ARM的电热膜供暖控制系统开发[D].南京:东南大学,2016.
[4]梁景普,傅卓军.基于物联网的观赏鱼智能喂养系统设计与实现[J].计算机应用与软件,2022(3):8-13,88.
[5]王官云,王浩宇,唐颖.基于NB-IoT技术的数据中心温度监测系统[J].工业控制计算机,2022(5):42-43.
[6]梁志勋,施运应,赵家祺,林芳.基于NB-IoT技术的高压开关温度监测系统[J].现代电子技术,2020(16):126-130,134.
(编辑 姚鑫)
Design of the fishtank temperature monitoring system based on NB-IoTLi Kaiwen Zhou Xinjun Tan Qiri Pan Qiyong
(1.School of Electronic and Information Engineering, Soochow University, SuZhou 215000, China;
2.School of Electronic and Information Engineering, Changshu Institute of Technology, SuZhou 215500, China)Abstract: In order to promote the development of aquaculture informatization, an intelligent fish tank temperature monitoring system based on NB-IoT technology was designed. The system uses STM32F103C8T6 microcontroller and sensor terminal to collect temperature in real time, and transmits it to the cloud platform of Internet of Things through NB-IoT technology, and accesses the cloud platform to realize remote monitoring and automatic control of the aquarium environment. Through testing, the error of the temperature collected by the system is less than 0.5℃, the stability of data transmission is high, and the temperature is lower than the threshold for a certain period of time, the automatic alarm message will be sent, which provides a strong guarantee for fish breeding.
Key words: collect in real time; remote monitoring; automatic control; NB-IoT