基于APP远程控制的智能家居设计

2021-03-29 10:02
物联网技术 2021年3期
关键词:爬虫云端智能家居

(长春工程学院 机电工程学院,吉林 长春 130000)

0 引 言

科技使人们的生活更加的便捷和多样化。人们都希望更加舒适安全智能的居住环境,于是在这些需求的推动下,智能电子技术实现了快速发展,并且在家居生活中得到了广泛的应用[1-2]。

随着网络技术、物联网技术和人工智能技术的发展,智能化家具的发展已经起步,智能化技术与家具产品有了初步的结合[3]。智能家居与手机APP结合已经开始应用,因此家庭信息化管理可能是未来人们生活发展的重要方向之一。本文设计了基于家庭信息化管理体系的APP,其通过对手机操作来控制调节家居设备。

1 系统总体设计

1.1 实现原理

本设计通过爬虫技术爬取云端参数的方式完成单片机和APP的数据同步。APP通过访问特殊网址来改变参数,单片机的数据时时刻刻和云端同步,其原理如图1所示。

图1 系统原理

1.2 设计思路

本设计基于智能移动设备,被控制方是智能家居,本系统包括软件系统和硬件系统,结构框架如图2、图3所示。

图2 软件框架

图3 硬件框架

软件框架由APP本身和改变数据部分组成。组件控制和语音控制是E4A十分成熟的功能,而不跳转访问网页从而改变数据是E4A一个特殊的功能,这些功能的配合使软件端变得简而精。

硬件框架由云端、单片机和传感器组成,图3表达了它们的关系和相互之间的联系。

1.3 控制方法

本设计使用的云端为aREST框架,它可以为一些常见的嵌入式开发板提供 RESTful接口,支持通过串口、WiFi、以太网、蓝牙等硬件发送命令至开发板,激发特定的操作,并将数据以JSON的格式返回给控制端用户。

在cloud.arest.io上部署着云端版本的aREST框架,可以绑定用户联网设备,并通过MQTT协议以消息订阅和发布的模式在客户端设备和服务器之间传输数据,最终完成对远程设备的控制。

1.4 构思思路

在云服务的选择上本设计选用aREST框架,它有参数同步功能、可视化界面,于是开始构思是否可以通过爬虫技术来爬取网页的参数。在查阅资料后,成功寻找到了APP的爬虫模块,可有效缓解云端服务器计算速度缓慢的问题。

2 硬件设计和软件设计

2.1 硬件设计

为了对家居生活的温度、湿度、光等进行智能调节[4],保证系统在后期应用中比较容易升级、并具有低功耗、操作简便以及容易安装维护等优点,本设计使用Arduino2560和Arduino Wemos D1 mini。

本文系统使用无线布控技术,使用相对于有线布控技术而言,该技术类型满足智能家居远程控制的多数需求[5]。其中核心控制Arduino2560需要配合,而Arduino Wemos D1 mini最大的特点是自带ESP8266和尺寸模型小巧。ESP8266 Station有两种工作模式,分别是Station模式以及AP模式。其中:模式用来连接无线路由器进行工作;AP模式中ESP8266为热点由手机连接对应设备(或者无线路由器)进行工作。本设计的通信方式为局域网,主控为AP和Station双模式,而分控为Sta模式;总控需要WiFi来提供网络与云端所连接,还需要让分控加入自己的局域网。

2.2 软件设计

近几年我国智能手机市场发展迅速,为了能够简单方便地对家居信息和电器设备进行把握与控制,本设计使用手机APP客户端作为移动终端。

该系统上位机采用E4A开发环境,相对Java,E4A编程简易、语言简洁[6]。因此本软件的安卓APP代码编写非常符合国人的编程思维习惯,极易上手,且易安卓也支持发布与代码共享,可以进行程序模块重复利用[7]。

本设计中核心的两个功能是跳转功能和取网页源码功能。跳转功能使用户访问一个网页而不会出现这个网页。本模块中使用于APP改变参数。取网页源码功能就是爬虫功能,本设计中使用这个功能去爬取数,以便于APP和单片机的数据同步,其爬虫代码如图4所示。

图4 爬虫模块的应用

本设计还可以使用一个小技巧,将参数调为头为9尾为7的参数,方便于文本的分割,使用的前提是在账号中没有9和7。如图5所示为跳转部分的代码。

图5 跳转代码

3 远程控制和APP控制

3.1 远程控制

远程控制使用aREST 框架,部分代码如图6~图8所示。

图6 硬件第一部分

图7中void setup(void)是制执行一次的函数,本部分包括了WiFi的连接、变量的连接和名字的定义。

图7 硬件第二部分

图8所示部分包括一直循环的函数和一个自定义的数据处理函数,循环函数用于数据的同步。

图8 硬件第三部分

图6所示部分为初始化部分,前3行为库文件,第4,5行为定义用户,第7行创建实例,第8~11行为定义变量,最后一行是定义函数。

3.2 APP控制

用户通过APP登入控制界面,软件使用版本单独对应的密码来解锁,且一套系统只能被一个相对应的APP所驱动。

APP使用黑盒思想进行封装,使得用户在使用时简单明了,又因为使用易安卓进行开发,所以内部修改相对比较简单[8]。

4 结 语

本设计穿插使用云端的aREST框架和爬虫技术,实现了智能家居的基本控制,后续的研究中还会加入大量的机械结构与之配合,完成一套完整的智能家居[9]。

本设计中的智能家居远程控制系统在原有智能家居控制系统上增加了一种新思路,可以和其他控制方式配合使用,更加方便对智能家居进行实时了解和操作。对本文设计的APP稍加改装,便可应用于其他智能家居控制系统中[10]。

猜你喜欢
爬虫云端智能家居
利用网络爬虫技术验证房地产灰犀牛之说
基于Python的网络爬虫和反爬虫技术研究
云端之城
利用爬虫技术的Geo-Gnutel la VANET流量采集
基于Zigbee的无线通信技术在智能家居中的应用
美人如画隔云端
大数据环境下基于python的网络爬虫技术
行走在云端
云端创意
基于LD3320的智能家居控制