统设计,无限趋近于100%。
3.系统实验与效果分析
为了更加清楚、具体的看出本文设计的基于Pytorch的人脸识别系统的实际应用效果,特与传统的人脸识别系统进行对比,对其人脸识别的精确率进行比较。3.1 实验准备
为保证实验的准确性,将两种人脸识别系统设计置于相同的开发环境之中,进行人脸识别的精确率实验。开发环境见下表1。
表1 开发环境设置
ROS 版KineticKame
Tensorflow 0.8.0rc0
OpenCV 3.3.1-dev
编程语言Python2.7.12
图1 实验结果对比图
4.结束语
本文对基于Pytorch的人脸识别系统进行分析,依托Pytorch语言库的优势,根据传统人脸识别系统的缺陷,实现本文设计。实验论证表明,本文设计的方法具备极高的有效性。希望本文的研究能够为基于Pytorch的人脸识别系统的构建和应用提供理论依据。
作者简介:孔爽(1998—),男,山东曲阜人,大学本科,研究方向:计算机人工智能。
3.2 实验结果分析
实验过程中,通过两种不同的人脸识别系统设计同时在相同环境中进行工作,分析其人脸识别的精确率变化。系统实验效果对比图见图1所示。
实验证明,本文设计的基于Pytorch的人脸识别系统相比于传统系统,在人脸识别的精确率上,随着试验次数的增加,始终高于传
随着万物互联时代的到来,人们对生活家居也有了新的需求。本文以实现灯光、窗帘、温湿度控制为例,提出一种智能家居远程控制系统的设计和实现。本系统以STM32为主控制器,设备传感器、控制模块通过ZigBee进行通信,ESP8266模块采用MQTT通信协议与服务器通信。用户可以使用手机APP或远程控制系统对空调进行数据采集和控制。通过本系统的多次实测,验证了该系统的可行性、可靠性,从而可推广至家中所有的家居控制。
引言:智能家居通过物联网技术将家中的各种用电设备连接到一起,提供家电控制、照明控制、窗帘控制、防盗报警、环境监测、暖通控制及数据分析等功能。智能家居系统可现实数据的远程管理与分析,提供全方位的信息交互,优化人们的生活方式,有效规划人们的生活规律,增强家居生活的舒适性安全性,节约能源和生活成本。
STM32是意法半导体推出一系列高性能、低功耗的嵌入式MCU。STM32具有丰富的外设资源,并提供了外设开发库,简单易用。本文选取STM32F4ZET6作为主控制芯片。ESP8266是由乐鑫公司出品的一款物联网芯片。该芯片可工作于三种种模式下,分别是:AP模式,station模式以及混合模式。可通过常用的AT指令进行控制。本系统通过ESP8266模块实现远程控制功能。
MQTT(Message Queuing Telemetry Transport,消息队列
遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的\"轻量级\"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。
ZigBee技术是一种应用于短距离范围内,低传输数据速率下的各种电子设备之间的无线通信技术。本系统使用ZigBee组网,省去了各种设备设备之间的物理连线。
基于STM32MQTT和的智能家居远程控制系统许继电源有限公司 杨振国乔海强
1 设计原理
1.1 系统架构
本系统所设计的智能家居控制系统有处理器模块和各种外部设备组成。包括STM32主控制板、ESP8266WIFI模块、光线传感器、温湿度传感器、灯光
• 186 •
ELECTRONICS WORLD・技术交流控制模块、窗帘控制模块、空调控制模块及ZigBee无线网络模块组成。其架构如图1所示:
图1 系统架构图1.2 总体设计
温度传感器、光线传感器、空调控制模块、灯光控制模块、窗帘控制模块与ZigBee协调器组成ZigBee网络。STM32主控制板与ZigBee协调器通过串口进行通信,采集传感器信息,并对控制模块进行指令下发。STM32主控制板通过ESP8266模块将采集的数据通过MQTT协议方式发布到MQTT服务器。手机APP订阅传感器数据的消息,当接收到消息后将传感器数据显示在界面上,手机APP也可以发送对控制模块的控制指令如打开或关闭灯光、打开或关闭窗帘、打开或关闭控制、空调温湿度调节等到MQTT服务器,MQTT服务器将指令转发给STM32主控制板,然后STM32控制板解析指令对向ZigBee控制模块下发指令,控制模块接收并执行指令。
2 具体实现
2.1 ZigBee组网
STM32主控制板与ZigBee协调器通过串口进行通信。ZigBee协调器的组网操作流程为:
a.开启组网,按下组网按键,协调器发送网络广播,准许设备加入网络;
b.接收节点心跳并回复心跳,保存网络状态,进入工作状态;
c.采集节点状态,传输数据给STM32主控制板。2.2 移植MQTT到STM32
下载Eclipse Paho MQTT C/C++ client for Embedded platforms,将MQTTPacket的代码添加到工程中。MQTTPacket/samples/目录下transport.c和transport.h文件也要添加到工程中去,这是我们要改写的接口。我们只要封装下面的4个函数:
transport_sendPacketBuffer():通过网络以TCP的方式发送数据;transport_getdata():TCP方式从服务器端读取数据,该函数目前属于阻塞函数;transport_open():打开一个网络接口,其实就是和服务器建立一个TCP连接;transport_close():关闭网络接口。2.3 在Windows环境下安装MQTT服务器
(1)下载Apollo服务器,下载后解压,然后运行apache-
apollo-1.6\\bin\\apollo.cmd,输入create mybroker创建服务器实例,服务器实例包含了所有的配置,运行时数据等,并且和一个服务器进程关联。
(2)create mybroker之后会在bin目录下生成mybroker文件夹,里面包含有很多信息,其中etc\\apollo.xml文件下是配置服务器信息的文件,etc\.properties文件包含连接MQTT服务器时用到的用户名和密码,后面会介绍,可以修改原始的admin=password,可以接着换行添加新的用户名密码。
(3)打开cmd,运行apache-apollo-1.6\\bin\\mybroker\\bin\\apollo-broker.cmd run 开启服务器,可以在浏览器中输入http://127.0.0.1:61680/查看是否安装成功,该界面展示了topic,连接数等很多信息。
经过上面的简单步骤,MQTT服务器就安装完成了。
2.4 手机APP实现
下载org.eclipse.paho.client.mqttv3-1.0.2.jar和org.eclipse.paho.Android.service-1.0.2.jar。将jar文件添加到Android工程中即可,程序界面如图2所示:图2 手机APP截图
手机APP上面三行用于显示传感器采集的温湿度和光照值,中间三行用于控制空调、窗帘和灯光的开发,最下面一行用于设定空调的温度值。3 结论
通过实验验证:当传感器采集数据发生变化时,手机APP数据更新;通过手机控制灯光打开或关闭、窗帘打开或关闭、空调打开或关闭、空调温度调节,灯光、窗帘、空调都会响应相应动作。实验效果与预期相符。本系统也可以加入一些控制策略,实现自动控制,当传感器采集的数据达到一定范围,可通过策略直接给控制模块下发指令,实现无人值守的智能家居控制系统。
作者简介:
杨振国(1986—),男,大学本科,电气工程中级职称,系统工程师,主要研究方向为嵌入式应用开发。
乔海强(1983—),男,大学本科,电气工程中级职称,系统架构师,主要研究方向为嵌入式、充电设施开发。
• 187 •
因篇幅问题不能全部显示,请点此查看更多更全内容