APP下载

基于云服务计算的远程家居监控系统

2022-04-25陈南忠曾凯健欧阳钜添刘境佳黄灿恒毋茂盛

物联网技术 2022年4期
关键词:电路板温湿度单片机

陈南忠,曾凯健,欧阳钜添,刘境佳,黄灿恒,毋茂盛

(肇庆学院 计算机学院,广东 肇庆 526061)

0 引 言

随着计算机技术和通信技术的快速发展,手机更新换代速度日益加快,因此废旧手机的数量不断增长,造成了资源浪费。随着手机功能的不断扩展,从最初的通话功能,逐渐扩展了照相、音乐播放、上网以及支付等功能,为人们的生活带来了极大便利。基于手机的各种应用系统开发成为研究的热点。本文设计了基于云服务计算的远程家居监控系统,利用废旧手机采集图像,节省购置摄像头的成本,并借助手机测量房间温度和人体温度,实现开关灯、门锁控制等功能,同时还可以用手机进行实时远程监控和报警。

1 系统结构与功能

1.1 系统结构

系统主要由手机控制端APP、腾讯云服务器、图像采集端APP以及基于STM32的控制电路板组成。手机控制端APP和图像采集端APP均基于安卓系统开发;服务器包括流媒体服务器和MQTT服务器;STM32控制电路板包括单片机 STM32F103C8T6、温湿度采集模块、灯泡、电子锁以及控制驱动电路等。系统结构如图1所示。

图1 系统结构

1.2 系统功能

1.2.1 控制与报警

控制端手机APP通过MQTT协议向云服务器发送指令(如控制打开电子锁),云服务器接收指令后转发至STM32控制电路板,控制电路板接收到指令后执行对应的操作,从而实现对家居的智能化控制。控制端手机APP接收来自STM32控制板采集的温、湿度数据,并在手机屏幕上实时显示。如果监测到异常温度,控制端手机报警。

1.2.2 远程监视功能

为降低成本,系统利用废旧手机进行图像采集与传送。安装在废旧手机上的APP开启推流功能,出现摄像头预览页面,APP将拍摄的画面实时传输到云服务器。控制端手机APP开启拉流功能后,接收来自废旧手机APP传输的实时图像,并实时显示。

2 系统硬件设计

本系统的硬件包括废旧手机与STM32控制电路板。前者主要用于采集图像信息,后者主要用于控制灯、门锁的开闭,以及采集温度等信息。STM32控制电路板上电后会通过WiFi自动连接路由器,并不断进行室温采集。它通过MQTT协议和云服务器通信,接收来自云服务器的指令,并根据接收的指令控制其所连接的模块。同时,也可通过MQTT将模块集采的温度、湿度等数据发送到云服务器,再经由服务器发送到控制端APP。STM32控制电路板主要由ARM单片机STM32F103C8T6、测温模块、门锁、灯光控制模块以及WiFi通信模块等组成,硬件结构如图2所示。

图2 系统硬件结构

2.1 测温模块设计

测温模块的功能:完成人体温度和环境温湿度的测量,上传至服务器,并在OLED屏上显示。该模块硬件主要由STM32F103C8T6、人体红外传感器、温湿度传感器、报警电路、ESP8266 WiFi模块、OLED显示器等组成。测温模块硬件电路板如图3所示。

图3 温度测量模块电路板

2.1.1 人体温度采集电路

人体温度采集电路选用红外测温传感器GY906,其具有非接触、体积小、精度高、成本低等优点。该传感器通过IC接口和单片机进行数据传输,简化了硬件接口电路设计。当单片机STM32收到人体温度检测指令时,该电路将进行一次人体温度检测,并将检测结果送到OLED显示,同时上传至服务器。

2.1.2 环境温湿度采集电路

环境温湿度采集电路使用DHT11温湿度传感器,通过单总线接口与单片机相连。系统上电后,单片机每秒对周围环境的温、湿度进行一次测量,并将结果显示到OLED。同时,通过WiFi和MQTT协议将数据上传至服务器。

2.1.3 报警电路

当周围环境温湿度以及人体温度超过设定范围时,会向单片机申请中断,在单片机执行中断服务程序时通过蜂鸣器报警,同时通过WiFi向控制端手机发送报警信号。可通过手机和电路板按键手动关闭报警器,或者当数值恢复到设定范围内时自动关闭。

2.2 灯、锁模块开发设计

灯、锁控制模块主要由驱动电路、继电器以及灯泡和电插锁组成。控制电路板STM32通过其GPIO口发送信号给驱动电路,驱动电路将3.3 V信号分别转变成5 V和12 V,进行功率放大后驱动继电器。其中,灯泡由5 V继电器控制,电插锁由12 V继电器控制。电插锁选用YGS-600-S5,其由专用电源供电。通过读其GPIO口线,STM32可以掌握电插锁的状态,利用WiFi模块与服务器通信,STM32控制电路板收到开、关锁或灯的指令时,就执行对应操作,在控制端APP显示操作结果。

3 系统软件实现

3.1 图像采集APP

图像采集APP安装在废旧手机上,首先设置使用的摄像头,点击摄像头图标即可进行视频推流,视频数据会通过WiFi发送到Nginx+RTMP服务器,拉流程序再实时接收视频数据。程序在安卓平台上使用JNI方式开发,通过调用手机摄像头的API设置分辨率、帧率等参数,然后进行视频预览,使用FFmpeg对获取的视频数据进行h264格式编码后,再利用RTMP协议将编码的视频数据发送至服务器。推流部分核心代码如下:

采集图像画面如图4所示。

图4 废旧手机采集图像

3.2 控制端APP

控制端APP具有如下功能:

(1)在控制端手机显示图像信息;

(2)接收来自STM32开发板上的人体温度和环境温湿度数据,同时能够向云服务器发送开、关门锁的指令。

3.2.1 视频拉流功能实现

视频拉流通过RTMP协议实时获取服务器的视频码流,获取流数据后,通过FFmpeg对视频数据进行解码,最后在APP界面播放视频。显示图像界面如图5所示。

图5 控制手机显示图像

获取视频流部分代码如下:

3.2.2 灯锁控制以及信息显示程序设计

通过MQTT协议连接云服务器,获取人体温度和环境温湿度数据并显示在APP主界面,如果温度超过设定阈值,将触发蜂鸣器提醒。

点击控制灯和门锁按钮时,通过MQTT代理发送一条JSON格式的消息到服务器,然后服务器将收到的消息转发给STM32控制电路板,对灯和门锁进行控制,并更新APP上灯和门锁的状态显示。运行界面如图6所示。

图6 控制端APP运行界面

4 结 语

本文设计了用废旧手机远程控制家居的监控系统,利用废旧手机采集图像,降低了系统成本;通过温湿度传感器测量环境和人体温度与湿度,并在手机上显示,方便用户实时了解房间温度与湿度;通过红外测温模块测量体温,为日常生活提供便利,特别在疫情期间,该功能意义重大;利用手机开、关灯和门锁,实现了远程接收快递或外卖功能。该项研究扩展了手机的功能,具有很好的应用价值。

猜你喜欢

电路板温湿度单片机
温湿度控制器在回收砂冷却系统中的应用
基于单片机的SPWM控制逆变器的设计与实现
基于DSP的多路温湿度监测系统
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
基于温湿度控制的天气预测装置
蒸发冷却温湿度独立控制空调系统的应用
废弃电路板拆解技术研究现状及展望
单片机实验电路板的安装与调试
微波辅助浸取废弃电路板中铅锡锑