基于物联网的智能晾衣架设计
2023-11-27杨显斌YANGXianbin
杨显斌 YANG Xian-bin
(广东开放大学(广东理工职业学院),广州 510091)
0 引言
目前市场上的智能晾衣架多为集成吊顶的升降式电动晾衣架,结构过大、且价格昂贵。本设计的智能晾衣架基于物联网技术,便于接入智能家居系统,智能、可靠、价格低、可以远程控制;设有自动模式和手动模式,在自动模式下可以根据实时天气情况自动晾、收衣物,在手动模式下可以通过按键手动晾、收衣物;手机远程监控功能可以方便外出人们,再也不用担心下雨天家里衣物还没收的情况。
1 总体方案设计
基于物联网的智能晾衣架系统组成如图1 所示。
图1 智能晾衣架结构示意图
雨滴传感器、光强传感器、温湿度传感器感知室外实时天气情况,并将数据输入STM32 处理后驱动直流电机正反转,控制晾衣架伸缩,实现根据天气情况自动晾晒和收取衣物的功能。按键模块接入STM32,可以实现自动模式和手动模式切换,以及手动晾、收衣物等功能。语音识别模块可以识别语音信息,控制直流转动,实现语音控制晾、收衣物功能,语音播报模块可根据需要播报实时天气提醒信息等。wifi 模块与STM32 通过串口连接,同时通过internet 接入物联网云平台;手机APP 接入物联网云平台,可远程监测(显示)雨量、光照、温湿度等天气信息,用户利用手机APP 可远程控制衣物的晾晒和收取。
2 系统硬件设计
系统硬件由单片机控制、天气感知、通信模块和机械控制等部分组成。
2.1 单片机控制
STM32 单片机处理接收到的环境天气感知信息,并输出到电机控制衣物的自动晾、收,按键和语音识别模块用于人工晾、收衣物。
①STM32 主控芯片。
本设计主控芯片采用STM32F103ZET6。该芯片基于Cortex-M3 内核,最高72MHz 工作频率、512KB FLASH、8个定时器、3 个ADC(多达21 个外部测量通道)、13 个通信接口和112 个通用I/O 口,具有运算速度快、功能强大、功耗低和性价比高等特点,可满足系统的设计需求。
②按键模块。
按键模块由模式切换、晾衣架伸出和晾衣架收缩3 个按键控制电路及相应LED 指示灯组成,通过I/O 口分别接入STM32 单片机。通过模式切换按键可切换手动模式和自动模式,在手动模式下通过晾衣架伸出或收缩按键可手动控制衣物的晾晒和收取。
③语音模块。
本设计的语音识别采用LD3320 模块。LD3320 芯片是一款语音识别专用芯片,通过MIC(麦克风)和相关电路采集语音信息[1],通过与LD3320 关键词语列表进行匹配比对,将相识度最高的识别码直接通过串口输出到STM32主控芯片进行处理,可控制晾衣架伸缩。
语音播报采用MY1690MP3 模块,支持MP3、WAV 格式双解码,能直接驱动3W 的扬声器。可根据需要播报实时天气、晾、收衣物等提醒信息。
2.2 天气感知
利用多种传感器感知实时环境天气情况:是否下雨、是否天黑、温度是否过低、是否潮气大等,并将采集的数据通过I/O 口输入STM32 主控芯片。
①雨滴传感器。
雨滴传感器模块采用高品质FR-04 双面材料传感器,传感器面积为4.0×5.0cm2,表面有镀镍的抗氧化膜,可输出数字和模拟信号。模拟信号接入STM32 主控芯片的ADC 采样通道,可取多次转换结果的平均值,获得实时雨量的检测数据。
②光强传感器。
光强模块采用BH1750FVI 光强传感器,具有广泛的输入光范围(1-65535lx),内置16bitADC,直接将数据输出到内部的寄存器中,通过I2C 与STM32 主控芯片连接[2]。利用公式:光照强度=(寄存器值[15:0]*分辨率)/1.2(单位:勒克斯lx),能实时获取环境的光照强度。
③温、湿度传感器。
采用DHT11 温湿度传感器模块。DHT11 是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,具有极高的可靠性与卓越的长期稳定性。模块通过单总线的方式传输数据到STM32 主控芯片,可实时感知环境温湿度。
2.3 通信模块
ESP8266wifi 模块利用USART 串口和STM32 主控芯片进行通信,ESP8266 是一款性价比高、功耗低的微控制器[3],通过配置AT 指令连接到OneNET 物联网云平台。ESP8266、OneNETT 和手机APP 之间采用MATT 协议进行通信。ESP8266 通过wifi 路由器连接OneNET,手机APP接入OneNET 可以显示晾衣架环境天气信息及远程控制晾衣架的伸缩。
2.4 机械控制
机械控制由电源模块、电机驱动和晾衣架推杆等组成,如图2 所示。
图2 机械控制示意图
①电源模块。
选用12V/3A 开关电源,将交流(AC)220V 转为直流(DC)12V,DC12V 分别接L298N电机驱动模块和LM2596S直流降压模块,而LM2596S 直流降压模块则输出3.3V 给单片机系统提供电源。
②电机驱动。
选用L298N 电机驱动模块,采用ST 公司的L298N 芯片可以直接驱动两路3-30V 直流电机,无须隔离电路,通过单片机的I/O 输入改变芯片控制端的电平,即可以驱动电机进行正反转、停止的操作。
③晾衣架推杆。
12V 直流电机驱动晾衣架推杆,晾衣架采用可伸缩折叠式结构[4],在内部的移动范围处装有限位开关,当机架移动触碰到限位开关后,电动推杆能迅速检测到限位开关的电平变化,立即停止电机动作,防止运动超程。
3 软件设计
3.1 基于FreeRTOS 软件设计
采用基于FreeRTOS 实时操作系统的多任务编程方式,整个系统由7 个应用任务组成:MQTT 任务、WIFI 任务、按键任务、语音识别任务、雨量采集任务、光强采集任务和温湿度采集任务。智能晾衣架系统的软件结构如图3所示。
图3 软件结构图
3.2 物联网云平台配置
采用OneNET 中国移动物联网开放平台。OneNET 云平台支持适配各种网络环境和协议类型,可实现各种传感器和智能硬件的快速接入,提供丰富的API 和应用模板以支撑各类行业应用和智能硬件的开发,有效降低物联网应用开发和部署成本。
选择MQTT 作为物联网通信协议。MQTT 协议提供发布和订阅两种消息模式,属于OSI 参考模型的传输层协议。MQTT 报文格式精简,可以高效地传输数据;三种级别的QoS(Quality of Service,服务质量)支持不同消息的传输要求,在保证可靠性的前提下减小开销;带Topic 的订阅模式,可以实现消息的一对多发布。MQTT 的设计规范使得它更适合物联网设备低功耗、网络带小、延时高、不稳定等局限的需求,目前广泛应用于各领域的物联网应用[5]。
配置流程:首先在OneNET 官网注册并登录,找到全部产品的多协议接入,创建MQTT 传输协议,在设备列表中添加新的产品(智能晾衣架),在该产品下添加新的设备,包括采集雨量、光强和温湿度数据的设备及手机APP设备(平台会自动生成设备号及设备API—key),在对应设备下创建数据流,添加API—key,然后创建应用。
3.3 手机APP 开发
我们使用WxBit 图形化编程软件来制作安卓手机APP,当手机端和OneNET 云服务握手后,显示界面如图4所示。
图4 手机APP 软件界面
其中温度、湿度、光照、雨量显示框分别显示的是当前晾衣架周边环境的温度、湿度、光照强度、雨量大小等信息,晾衣服和收衣服都各有一个控制开关,用户可以根据手机APP 显示的晾衣架周边的环境天气信息,远程进行晾晒、收取衣物。
4 结语
我们采用基于物联网技术设计一种可远程控制的智能电动晾衣架。根据环境天气的雨滴、光照强度、温湿度等感知信息,可自动、手动或语音控制晾衣架的伸缩;手机APP 通过物联网云平台可实现远程晾晒、收取衣物;采用电动折叠伸缩式晾衣架设计适合阳台或窗台晾晒衣物。本设计功能强、性价比高,产品化时,在成本、价格许可的情况下,可增加风速传感器模块,用于感知大风时自动收取衣物。