基于树莓派和Python的智能家居控制系统的设计

2022-09-13 版权声明 我要投稿

目前,环境问题已经成为人们关注的重点问题,采用信息技术手段监测室内环境,如温湿度,烟雾等参数,加以控制并提高室内家居环境质量已经成为一种趋势。树莓派是一款基于Debim Linux系统的嵌入式计算机,因其具有体积小、集成化程度高、扩展性强的优势被广泛使用在不同领域的物联网应用系统中,将树莓派用于智能家居环境下的室内环境监测设计有利于提高系统稳定性和可扩展性。

一、系统总体方案设计

第一步,通过Python语言爬取所在城市及地区网站上的天气信息,并且存放入树莓派的数据库中。第二步,在所获取的天气信息中,利用Python语言编写温度、湿度、空气指数的最大最小门限值。第三步,树莓派通过GPIO口对各类电器设备的进行驱动,从而达到对家居电器设备进行控制,当温度等指数超过或低于门限值时,树莓派执行指令控制空调、空气净化器打开或关闭。第四步,将天气指数信息以及家用电器的运行状况发送至手机。

系统硬件结构:采用树莓派作为控制模块,本项目选择了树莓派3B平台作为主控制器,其搭载了64位4核的ARM Cortex—A53 CPU,自带板载网口、WiFI和蓝牙,内存硬盘为SD卡。它与常见的51单片机和STM32等这类的嵌入式微控制器相比,不仅可以完成相同的IO引脚控制之外,还能运行有相应的操作系统,可以完成更复杂的任务管理与调度,可以实现物联网的云控制和云管理,也可使用树莓派搭建小型的网络服务器,做一些小型的测试开发和服务。支持linux系统和Windows系统下的开发,具备了PC的基本功能,其价格低廉,给我们提供了一个理想的开发平台,其中树莓派3B芯片具有40个GPIO驱动接口。与一般的PC计算机平台相比,树莓派可以提供的IO引脚,能够直接控制其他底层硬件的功能,这是一般PC计算机做不到的。树莓派的系统为嵌入式Linux系统,安装该系统需要下载镜像并使用软件进行烧录,同时还需要使用安全外壳协议(SSH)、MQTT及SMB协议完成整个设计的配置,此外,其体积小,便于部署和安装。

二、系统程序的设计

本系统采用Python进行编程,整体由三个部分组成,即爬取目标网站资源,然后设定门限值以及自动控制家用电器的执行程序。总体思路是利用Python的标准库和以及第三方库例如Request库,Scrapy库NumPy库等,爬取所在城市的实时动态天气指数,用Time库实现每1个小时检查一次是否有更新,并利用if语句编写温湿度、空气指数的最大最小值,若爬取的动态指数超过了设定指数,则自动控制空调等家用电器打开,反之则控制其关闭。最后再将天气信息和家用电器的状态信息发送至手机。

爬取过程中,首先打开终端输入“python3 weather.py(你所在城市的代码)",使程序正常运行需要在同文件夹下加入一个“data.csv”文件,然后利用requests+bs4先找到实时气温或空气指数的标签,之后使用bs4,创建一个BeautifulSoup对象,再使用find_all方法去搜索标签及内容,这样找到标签内容后,我们再使用使用selenium爬取shtml内容,就可以得到实时的天气指数了。最后再利用Time库实现一定时间间隔执行一次程序,达到一个动态监测的目的。

(一)树莓派控制家用电器

实时获取温度等信息后,根据设定的门限值判别是否需要打开相应的家电。目前的大多家电并不是具备App控制功能的智能家电,本设计采用树莓派通过模拟发射这些控制信号来控制GPIO的电平,进而控制家用电器的开关。首先配置安装IR红外控制扩展板,然后输入命令sudo apt-get install lirc安装Lirc,然后修改CONFIG.TXT和驱动配置,录制空调红外信号时可参考红外NEC协议,使用raw的原始码,通过mode2命令码接受遥控器发出的信号,最后,输入发射命令:irsend SEND_ONCE aircon on就可以控制空调的自动运行了。

(二)手机App的应用

借助树莓派3B的优势,我们可以利用集成的WiFi芯片很方便地将它与智能手机连接起来,实现网络运程监控,进而实时的获取室内家居的工作状态,这样就形成多样化的控制系统模型。以Apple手机为例,可在App Store里下载一个名为iTerminal的SSH工具,输入树莓派的IP地址以及账户密码等相关信息,点击登录后即可控制树莓派了。

三、结语

该设计的亮点在于充分利用了树莓派以及Python语言的功能和优势,根据室外的实时天气情况,来提前控制室内家居的运行,这样可以使得室内的空气质量和温湿度一直保持在理想的状态下,避免了当室内环境变差后再去调节的结果。另外,也方便了用户远程了解室内家居的工作状况,为其提供了高效的智能化家居管理模式。

摘要:为了提高室内家居的便利性和智能化,本设计基于树莓派3B与Python语言编程,自动获取天气信息从而智能控制室内家居系统,来更好地实现家居环境控制。该系统利用Python语言爬取天气预报中的信息,实时将该地区的温度和空气质量信息传入树莓派,并设置温度和空气指数的门限值,进而利用树莓派对比实时的参数与门限值,发射红外信号自动控制室内的空调、加湿器、空气净化器等家电,为广大用户提供了家居自动控制的智能化服务。

关键词:树莓派,Python,智能家居

上一篇:浅谈新时期气象科普工作下一篇:企业业财一体化建设研究