APP下载

基于远程监控的智能晾衣架实验系统研制

2021-08-23任森伟朱丽军李晨浩薛梦娇杨立娜

科学技术创新 2021年23期
关键词:晾衣架树莓客户端

任森伟 朱丽军* 李晨浩 薛梦娇 杨立娜

(嘉兴学院,浙江 嘉兴 314001)

1 概述

目前的远程设备中,应用于教学的数量非常少,并且由于网络受限等原因,实验大多是用于珍贵的实验器材,并没有大规模进行研发推广,并且范围十分受限。基于远程监控的晾衣架实验系统的研制,则是在网络开始不断发展,5g 的出现,4g 与宽带网络的不断提升,使远程监控的实验系统的实验的研制推广成为了可能。在经历着疫情的当今,学校能够进行远程实验[1]培训能够在为学生的实验课程提供更好的环境。我们的选题是对远程监控的实验教学系统进行尝试,对于远程监控实验教学系统的研制推广和教学模式的变化具有重要意义。

我们在PC、树莓派微型电脑的基础上,采用TCP/IP 协议,设立PC 为客户端,树莓派为服务器。通过内网穿透,使服务器能够接收到来自不同局域网下的客户端数据包。PC 与树莓派两者间建立TCP 连接,通过socket(套接字),PC 传输BIN 文件的数据到树莓派,进而树莓派通过串口将文件传输到智能晾衣架单片机模块。再通过网络摄像头,对实验现象进行拍摄,通过RTMP 地址将视频数据流传输给PC。

2 系统实现

2.1 硬件系统

2.1.1 硬件系统总体设计

基于远程监控的智能晾衣架实验系统由PC、树莓派微型电脑、网络摄像头、智能晾衣架单片机模块组成。整体系统框图如图1 所示。

2.1.2 智能晾衣架单片机模块具体设计

STM32F103C8T6 是一款基于ARM Cortex-M3 内核的32 位的微控制器,采用LQFP48 封装其程序存储器FLASH 容量是64KB(64K x 8bit),RAM 容量是20KB(20K x 8bit)。具有优越的FLASH 容量以及处理性能,适合于用于IAP 在应用简称,因此将其作为系统的主控芯片。我们采用两个按键、DHT11 温湿度模块、光敏传感器作为系统获取反馈信息途径。通过按键实现手动控制晾衣架收放的功能,并采用温湿度模块与光敏传感器对湿度和光强度进行反馈从而能够实现晾衣架受环境变量控制的功能。采用电机来展现实现的具体效果,将木棍与电机结合,使实验现象更明显,能够通过观察最终木棍指向的角度来展现具体的实验效果。

2.2 软件系统(图2)

PC 为客户端,设计为各用户进行交互的界面,实现输入服务器的IP 地址、端口,TCP 连接,选取文件路径,传输文件,打开网络摄像头画面观察等功能。满足用户能够进行远程更新,远程实时观察实验现象效果的需求。

树莓派为服务器,设计为接收文件和烧录作用。功能为建设TCP 服务器,Oray 花生壳内网穿透,TCP 连接,接收文件,串口通信传输数据进而用于STM32f103 的IAP 在应用编程。

2.2.1 TCP 通讯

传输控制协议(TCP,Transmission Control Protocol)是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。与UDP 不同,TCP 允许发送和接收字节流的数据,进而在发送端和接收端各提供两个缓冲区,实现全双工的通信[2]。

设立树莓派为TCP/IP 服务器,PC 端为TCP/IP 客户端。两者通过TCP 协议的socket 进行通信。两端都建立了一个socket 对象,通过Socket 对象对数据进行传输。服务器处于一个无限循环,等待客户端的连接,两端进行三次握手来建立连接,之后对数据进行传输,再通过四次握手关闭连接。

我们采用Python[3]语言对程序进行设计,采用了Python 的socket 库来建立socket 对象,客户端通过connect 函数连接服务器,通过send 函数传输文件。服务端采用socket 库中bind 函数绑定IP 地址与端口,listen 函数设置监听数,通过accept 函数来接收数据,使用write 函数将文件数据写入相对应的文件中。之后我们采用商用的Oray 花生壳[4]内网穿透服务将服务端内网穿透,使其客户端可在不同的局域网中完成向服务器的访问和文件传输,达成可远程传输的效果。

2.2.2 IAP(图3)

图3 IAP 更新应用程序过程

IAP 是用户自己的程序在运行过程中对User Flash 的部分区域进行烧写。我们通过串口接收树莓派传输过来的bin 文件并对STM32f103 固件程序进行更新。

2.2.3 智能晾衣架模块

我们采用光敏传感器、温湿度传感器、按键、电机来模拟智能晾衣架。在进行了IAP 的程序更新后,我们通过按键进行模拟对晾衣架的主动升降控制,通过温湿度传感器、光电传感器,来进行环境参数对晾衣架的自动收回的效果比较。

2.2.4 网络摄像头(图4)

我们采用Python 的Pyqt5 库和Opencv2 库对网络摄像头的画面进行显示。Opencv2 具有可简易提取视频图像帧的框架,可建立一个VideoCapture 对象来提取视频中图像帧,采用Pyqt5中的QLabel 将视频画面进行播放。

3 实验结果

开启视频监控,客户端连接服务器,并传输文件。(此时电机在收起区)服务器接收到BIN 文件,将文件通过串口传输到单片机中。

烧录成功后,电机运作,通过光敏传感器、温湿度传感器,改变电机旋转位置(电机从收起区到晾晒区)。

结束语

本实验系统以TCP 协议和内网穿透实现BIN 文件的传输,通过STM32F103 单片机的IAP 功能,让树莓派和单片机间传输BIN 文件数据,从而完成单片机的再更新,实现远程烧录的过程。通过网络摄像头,对实验现象进行远程观察并显示于PC端。本实验系统对远程监控的实验教学系统进行了尝试,对于远程监控的单片机实验教学系统的研制推广和教学模式的变化具有重要意义。

猜你喜欢

晾衣架树莓客户端
你的手机安装了多少个客户端
“人民网+客户端”推出数据新闻
——稳就业、惠民生,“数”读十年成绩单
判断:一边高,一边低
基于树莓派的骑行智能头盔设计
妈妈的晾衣架
装睡的秘诀
黄金水果红树莓
媒体客户端的发展策略与推广模式
e络盟率先推出第三代树莓派
年度睡姿大盘点(下)