论文部分内容阅读
摘要:利用ESP8266 NodeMCU和Android开发技术,结合各类传感器和继电器,设计开发了一个智慧家居系统。通过该系统,用户可以实时读取温度、湿度等家庭环境数据,同时系统利用语音识别技术实现语音控制家庭各种电器的开关。系统一共分为三层,分别是数据采集层、数据传输层和应用层。本系统的开发实现整合了嵌入式技术、程序编程等,为广大用户提供舒适智能生活的同时还为广大物联网开发者提供一定的参考价值。
关键词:物联网;智慧家居;ESP8266 NodeMCU;传感器
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2021)27-0136-03
Abstract: Using ESP8266 Nodemcu and Android development technology, combined with various sensors and relays, this paper designed and developed a smart home system. Through this system, the user can read the temperature, humidity and other family environment data in real time, at the same time, the system uses the voice recognition technology to realize the voice control of the switch of various household appliances. The system is divided into three layers, which are data acquisition layer, data transmission layer and application layer. The development and realization of this system integrates embedded technology, programming, etc., to provide comfortable and intelligent life for the majority of users, but also for the majority of Internet of Things developers to provide a certain reference value.
Key words: Internet of things; smart home; ESP8266 NodeMCU; sensor
1 概述
智慧家居雖然最先在国外兴起,但近些年来,国内的智慧家居正在快速发展,迎头追赶。政府在政策和标准方面的支持不断增加,这很好地引导了该行业的发展。我国各类品牌经过不断学习和借鉴,并发挥自己的特色,如今已经逐步形成了一些具有代表性的智能家居技术方案。
目前,我国智能家居产业中较为突出的是华为和小米。小米推行“1+4+X”战略,全力打造AIoT。小米智能家居以小米多功能网关为中心,与门窗传感器、人体传感器和无线开关结合使用,其智能家居设备是基于ARM微处理器来设计的嵌入式处理器。在通信方面,小米智能家居使用了以NXP为基础的一颗工业级ZigBee射频芯片—JN5168进行组网通信[1]。华为智能家居推行“1+8+N”战略,它的核心技术是依靠HiLink协议+华为IoT操作系统LiteOS+IoT芯片三合一运作[2]。HUAWEI HiLink是华为面向消费领域的智能硬件开放生态,开发者可以通过硬件和云等接入方式加入生态中来,成为华为1+8+N全场景生态的关键部分,被华为各种终端通过界面/语音方式查看和控制[3]。
这些智能家居解决方案可以满足不同类型的居民用户的需求,也意味着在智能家居技术领域,我国水平的持续提升与进步。虽然目前国内外关于智能家居的研究和技术日出不穷,但是综合各种技术的优缺点,我们选择了WIFI传输技术为系统开发的中心技术。
2 需求分析
物联网的发展使智能家居系统功能愈加完善,它实现了远程控制家电、远程监控等功能,为人们的日常生活提供便利、保驾护航提。所以,基于目前市场上存在的人们对智能家居的需求,为了让人们的生活变得更加智能,为了给广大物联网开发者提供更多的思路,本文设计开发了一个基于ESP8266 NodeMCU的智慧家居系统。系统的主要功能有:使用硬件采集并反馈室内环境数据;通过手动点击和人体语音开关家居电器;智慧保家功能[4]。智慧家居系统的功能如图1所示。
3 总体设计
3.1 系统总体架构
本系统分为硬件、软件、智云物联网平台和百度语音识别云平台四个部分。硬件主要包括负责提供数据源的传感器和汇集传感器、继电器的ESP8266 NodeMCU;软件则是由AndroidStudio和Web语言开发的客户端界面;智云物联网平台则是负责客户端和硬件之间互相沟通信息的工作;百度语音识别云平台则是为了实现系统语音控制的功能。
(1) 使用ESP8266 NodeMCU连接不同作用的传感器和继电器等硬件,硬件数据和客户端给硬件下达的指令都通过无线网传输。
(2) ESP8266 NodeMCU通过无线网将硬件数据传送给智云平台提供的服务器,当客户端想要获取环境数据,智云平台就会将数据传送给客户端。
(3) 当客户端下达控制指令时会通过智云平台将指令经由WIFI传达给由ESP8266 NodeMCU连接的对应硬件。 (4) 语音下达控制指令的功能则是通过利用百度提供的语音识别API实现的。
3.2 ESP8266 NodeMCU
本系统使用的WiFi模块采用的是ESP8266 NodeMCU。ESP8266芯片是一款串口转无线模芯片,体积小、功耗低、支持透传,丢包现象不严重,而且价格低廉。它支持串口透明的数据传输,它内置TCP / IP协议栈和IEEE802.11协议栈。这个芯片内部自带固件,用户操作简单,例如连接单片机或传感器等硬件较为简易,并且容易控制,不需要编写时序信号等[5]。
ESP8266支持三种组网模式,分别是SoftAP模式、Station 模式和SoftAP+Station模式。ESP8266官方提供的rom主要有两个,一个是支持at命令来修改参数的at系列rom,使用此rom时可以使用at命令来设置芯片的大部分参数,同时也可将芯片设置为透传模式,这样ESP8266就相当于在互联网和UART(异步串行通信接口)之间搭建起了一座桥梁[6]。另一个就是物联网的rom,此rom可以通过命令来控制ESP的部分GPIO,而且ESP8266也可以采集一些温湿度传感器的数据,然后发送到互联网上。除此之外,ESP8266还可控制建立wifi热点和编程控制所有的Gpio以此来实现整个控制系统和网络的连接,完成无线信号与串口信号之间的转换。
4 详细设计与实现
4.1硬件设计
本系统硬件设计的思路是通过将ESP8266 NodeMCU和采集类、感应类等传感器连接起来实现数据的采集。将硬件设备嵌入ESP8266模块可以直接利用WiFi联入互联网,这里的硬件设计實现如图2所示的思路图中的ESP8266模块和各传感器模块的部分。
ESP8266 NodeMCU和温湿度传感器连接的实物如图3所示。
NodeMCU上的3V3是用于3.3V的模块供电引脚,连接传感器的VCC引脚;GND接地引脚和传感器的GND引脚相连;GPIO14引脚连接传感器的DATA引脚用于读取对应温湿度数值。
4.2 网关程序实现
本系统使用ESP8266 NodeMCU作为网关,该开发板自带WiFi模块,可连接上已知的WiFi无线网络并取得该开发板的ip地址与mac地址。开发板上烧录了MicroPython固件,使用MicroPython进行编程,获取开发板上连接的各类采集节点的实时数据,并将数据通过TCP方式转发给智云平台的实时数据接口。用户登录客户端APP程序后,客户端APP通过websocket方式向智云服务器发送认证指令,完成认证后即可从智云服务器获取网关的各项数据。当用户在客户端APP程序上点击“关闭/开启家电”等按钮后,APP程序将此类控制指令通过websocket方式发送给智云服务器,智云服务器将控制指令通过tcp方式转发给网关程序,并将网关程序返回的数据转发给客户端APP,以此完成客户端对网关节点的控制。网关程序实现流程图如图4所示。
4.3 客户端程序实现
在本系统的客户端程序实现过程中,使用AndroidStudio软件作为主要开发平台。客户端包括多个界面,分别包括登录界面、注册界面、找回密码界面和APP主界面。用户使用客户端时,若没有账户,可以通过点击注册界面注册账号,然后客户端程序自动跳转到登录界面,用户输入账号信息后可以进入APP主界面进行家居设备的控制和家庭环境数据的获取;若用户忘记密码可以点击忘记密码,客户端程序会跳转到找回密码界面,用户可以通过手机验证码重设密码。系统的客户端实现界面如图5、图6所示。
5 结语
本文介绍了基于ESP8266设计的智慧家居系统的设计过程,其中包括了系统的设计思路、系统的基础硬件设备和系统开发使用到的技术。该系统主要有三大功能:实时采集家居环境的各项数据并及时反馈,使用语音命令控制家用电器以及自动检测不良环境状况并报警。就开发技术而言,它主要分为两个部分,人工智能技术部分,系统运用了深度学习算法,并与百度云平台提供的语音识别技术相结合,从而实现了家用电器的语音控制功能;物联网技术部分,系统的硬件基础主要是作为WIFI模板的ESP8266和传感器。该智能系统的使用能够迎合人们的智能化生活的需求,提高人们的生活质量。
参考文献:
[1] https://blog.csdn.net/wickywhen/article/details/51760089?utm _source=copy.2016-06-25.
[2] 黄海峰.邵洋:华为智能家居聚焦连接 提供“三件套”[J].通信世界,2016(1):64.\
[3] https://developer.huawei.com/consumer/cn/smarthome
[4] 严涵婷,杜选,孙添程,等.基于语音控制的智慧家居系统[J].电脑知识与技术,2020,16(7):213-215.
[5] https://blog.csdn.net/sxyandapp/article/details/54923735.2017-02-08.
[6] 吴允强,吴由松.基于ESP8266的智能家居控制系统设计[J].电子测试,2017(21):9,24.
【通联编辑:梁书】
关键词:物联网;智慧家居;ESP8266 NodeMCU;传感器
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2021)27-0136-03
Abstract: Using ESP8266 Nodemcu and Android development technology, combined with various sensors and relays, this paper designed and developed a smart home system. Through this system, the user can read the temperature, humidity and other family environment data in real time, at the same time, the system uses the voice recognition technology to realize the voice control of the switch of various household appliances. The system is divided into three layers, which are data acquisition layer, data transmission layer and application layer. The development and realization of this system integrates embedded technology, programming, etc., to provide comfortable and intelligent life for the majority of users, but also for the majority of Internet of Things developers to provide a certain reference value.
Key words: Internet of things; smart home; ESP8266 NodeMCU; sensor
1 概述
智慧家居雖然最先在国外兴起,但近些年来,国内的智慧家居正在快速发展,迎头追赶。政府在政策和标准方面的支持不断增加,这很好地引导了该行业的发展。我国各类品牌经过不断学习和借鉴,并发挥自己的特色,如今已经逐步形成了一些具有代表性的智能家居技术方案。
目前,我国智能家居产业中较为突出的是华为和小米。小米推行“1+4+X”战略,全力打造AIoT。小米智能家居以小米多功能网关为中心,与门窗传感器、人体传感器和无线开关结合使用,其智能家居设备是基于ARM微处理器来设计的嵌入式处理器。在通信方面,小米智能家居使用了以NXP为基础的一颗工业级ZigBee射频芯片—JN5168进行组网通信[1]。华为智能家居推行“1+8+N”战略,它的核心技术是依靠HiLink协议+华为IoT操作系统LiteOS+IoT芯片三合一运作[2]。HUAWEI HiLink是华为面向消费领域的智能硬件开放生态,开发者可以通过硬件和云等接入方式加入生态中来,成为华为1+8+N全场景生态的关键部分,被华为各种终端通过界面/语音方式查看和控制[3]。
这些智能家居解决方案可以满足不同类型的居民用户的需求,也意味着在智能家居技术领域,我国水平的持续提升与进步。虽然目前国内外关于智能家居的研究和技术日出不穷,但是综合各种技术的优缺点,我们选择了WIFI传输技术为系统开发的中心技术。
2 需求分析
物联网的发展使智能家居系统功能愈加完善,它实现了远程控制家电、远程监控等功能,为人们的日常生活提供便利、保驾护航提。所以,基于目前市场上存在的人们对智能家居的需求,为了让人们的生活变得更加智能,为了给广大物联网开发者提供更多的思路,本文设计开发了一个基于ESP8266 NodeMCU的智慧家居系统。系统的主要功能有:使用硬件采集并反馈室内环境数据;通过手动点击和人体语音开关家居电器;智慧保家功能[4]。智慧家居系统的功能如图1所示。
3 总体设计
3.1 系统总体架构
本系统分为硬件、软件、智云物联网平台和百度语音识别云平台四个部分。硬件主要包括负责提供数据源的传感器和汇集传感器、继电器的ESP8266 NodeMCU;软件则是由AndroidStudio和Web语言开发的客户端界面;智云物联网平台则是负责客户端和硬件之间互相沟通信息的工作;百度语音识别云平台则是为了实现系统语音控制的功能。
(1) 使用ESP8266 NodeMCU连接不同作用的传感器和继电器等硬件,硬件数据和客户端给硬件下达的指令都通过无线网传输。
(2) ESP8266 NodeMCU通过无线网将硬件数据传送给智云平台提供的服务器,当客户端想要获取环境数据,智云平台就会将数据传送给客户端。
(3) 当客户端下达控制指令时会通过智云平台将指令经由WIFI传达给由ESP8266 NodeMCU连接的对应硬件。 (4) 语音下达控制指令的功能则是通过利用百度提供的语音识别API实现的。
3.2 ESP8266 NodeMCU
本系统使用的WiFi模块采用的是ESP8266 NodeMCU。ESP8266芯片是一款串口转无线模芯片,体积小、功耗低、支持透传,丢包现象不严重,而且价格低廉。它支持串口透明的数据传输,它内置TCP / IP协议栈和IEEE802.11协议栈。这个芯片内部自带固件,用户操作简单,例如连接单片机或传感器等硬件较为简易,并且容易控制,不需要编写时序信号等[5]。
ESP8266支持三种组网模式,分别是SoftAP模式、Station 模式和SoftAP+Station模式。ESP8266官方提供的rom主要有两个,一个是支持at命令来修改参数的at系列rom,使用此rom时可以使用at命令来设置芯片的大部分参数,同时也可将芯片设置为透传模式,这样ESP8266就相当于在互联网和UART(异步串行通信接口)之间搭建起了一座桥梁[6]。另一个就是物联网的rom,此rom可以通过命令来控制ESP的部分GPIO,而且ESP8266也可以采集一些温湿度传感器的数据,然后发送到互联网上。除此之外,ESP8266还可控制建立wifi热点和编程控制所有的Gpio以此来实现整个控制系统和网络的连接,完成无线信号与串口信号之间的转换。
4 详细设计与实现
4.1硬件设计
本系统硬件设计的思路是通过将ESP8266 NodeMCU和采集类、感应类等传感器连接起来实现数据的采集。将硬件设备嵌入ESP8266模块可以直接利用WiFi联入互联网,这里的硬件设计實现如图2所示的思路图中的ESP8266模块和各传感器模块的部分。
ESP8266 NodeMCU和温湿度传感器连接的实物如图3所示。
NodeMCU上的3V3是用于3.3V的模块供电引脚,连接传感器的VCC引脚;GND接地引脚和传感器的GND引脚相连;GPIO14引脚连接传感器的DATA引脚用于读取对应温湿度数值。
4.2 网关程序实现
本系统使用ESP8266 NodeMCU作为网关,该开发板自带WiFi模块,可连接上已知的WiFi无线网络并取得该开发板的ip地址与mac地址。开发板上烧录了MicroPython固件,使用MicroPython进行编程,获取开发板上连接的各类采集节点的实时数据,并将数据通过TCP方式转发给智云平台的实时数据接口。用户登录客户端APP程序后,客户端APP通过websocket方式向智云服务器发送认证指令,完成认证后即可从智云服务器获取网关的各项数据。当用户在客户端APP程序上点击“关闭/开启家电”等按钮后,APP程序将此类控制指令通过websocket方式发送给智云服务器,智云服务器将控制指令通过tcp方式转发给网关程序,并将网关程序返回的数据转发给客户端APP,以此完成客户端对网关节点的控制。网关程序实现流程图如图4所示。
4.3 客户端程序实现
在本系统的客户端程序实现过程中,使用AndroidStudio软件作为主要开发平台。客户端包括多个界面,分别包括登录界面、注册界面、找回密码界面和APP主界面。用户使用客户端时,若没有账户,可以通过点击注册界面注册账号,然后客户端程序自动跳转到登录界面,用户输入账号信息后可以进入APP主界面进行家居设备的控制和家庭环境数据的获取;若用户忘记密码可以点击忘记密码,客户端程序会跳转到找回密码界面,用户可以通过手机验证码重设密码。系统的客户端实现界面如图5、图6所示。
5 结语
本文介绍了基于ESP8266设计的智慧家居系统的设计过程,其中包括了系统的设计思路、系统的基础硬件设备和系统开发使用到的技术。该系统主要有三大功能:实时采集家居环境的各项数据并及时反馈,使用语音命令控制家用电器以及自动检测不良环境状况并报警。就开发技术而言,它主要分为两个部分,人工智能技术部分,系统运用了深度学习算法,并与百度云平台提供的语音识别技术相结合,从而实现了家用电器的语音控制功能;物联网技术部分,系统的硬件基础主要是作为WIFI模板的ESP8266和传感器。该智能系统的使用能够迎合人们的智能化生活的需求,提高人们的生活质量。
参考文献:
[1] https://blog.csdn.net/wickywhen/article/details/51760089?utm _source=copy.2016-06-25.
[2] 黄海峰.邵洋:华为智能家居聚焦连接 提供“三件套”[J].通信世界,2016(1):64.\
[3] https://developer.huawei.com/consumer/cn/smarthome
[4] 严涵婷,杜选,孙添程,等.基于语音控制的智慧家居系统[J].电脑知识与技术,2020,16(7):213-215.
[5] https://blog.csdn.net/sxyandapp/article/details/54923735.2017-02-08.
[6] 吴允强,吴由松.基于ESP8266的智能家居控制系统设计[J].电子测试,2017(21):9,24.
【通联编辑:梁书】