2020 7th国际能源效率与农业工程会议(EE&AE)

基于树莓派的家居自动化系统

一、引言

近年来,家庭自动化变得越来越流行。其目的是帮助人们自由管理家中的电器,并打造一个自主的家庭环境。家庭自动化使得用户能够远程访问和控制主要家用电器——如灯具、加热/制冷、门锁和访问控制等,只要用户能够接入互联网,便可随时随地进行操作。这需要通过在家中安装合适的设备以及具备互联网访问功能的软件来实现。可以认为,家庭或办公自动化分别标志着向所谓的智能家居和智慧城市迈进了一步。

本文旨在描述一个具有完全安全性并通过Wi‐Fi等无线通信技术控制家用电器的家庭自动化项目。我们通过相关软件和硬件的实现,设计并开发了该智能家居系统。

II. 现有技术 / 动机

自动化是指对家用设备进行编程、调度和配置,使其根据预定义时间表或当家中发生特定事件(或事件序列)时自动开启或关闭。家庭自动化的另一个重要元素是能够远程访问、监控和控制家中的各个设备和电器。智能手机和平板电脑在日常生活中的普及以及永久互联网连接的可用性,使我们能够在任何地点连接到家庭网络。一些现代家用电器具有直接的Wi‐Fi连接功能,制造商自身也提供了对设备的远程监控与控制。这种类型的家庭自动化的缺点是:

  • 设备生成的数据由制造商自行收集和存储,您无法使用或删除这些数据。因此,无论您是否愿意,制造商会掌握有关您生活方式的信息。
  • 如果您拥有多个智能设备,则必须使用它们各自的应用软件,而设备越多,您需要安装和维护的应用也越多。

除了时间表设置、配置和远程设备监控外,智能家居系统的一个非常重要的元素是基于累积数据和管理过程历史的自学习能力。正是这一元素使得智能设备具备了“智能”特性。自学习是从计划性操作迈出的重要一步,使设备从依赖人为设定时间表,逐步转变为设备自身能够设定时间表,因为它们已学习到家中何时有人或无人,以及用户的使用习惯 [1,5]。

为了能够将现有的旧设备与新型智能设备结合使用,可以自行开发家庭自动化环境。在[2, 3, 5]中描述了多种此类解决方案。通常,此类系统可被视为一组硬件和软件应用,一方面为硬件提供服务,另一方面为用户提供服务。

主要硬件元件是微控制器。在所描述的系统中使用了三种主要变体,分别是ESP8266芯片、Arduino微控制器以及不同版本的树莓派开发板。本文对这三种解决方案进行了讨论和比较。指出ESP‐8266作为一种低成本设备,是在物联网场景中实现传感器网络的首选。分析表明,与Arduino系列或ESP8266等其他开发板相比,树莓派系列的开发板性能更高。它们在存储和计算速度方面基本相当。树莓派价格略高,但差距不大。

III. 硬件组件描述

为了本项目,选用了树莓派3 B+ (图1)[12] ,因为它具备丰富的功能。当连接键盘、鼠标、显示器和 SD卡后,它可以像普通计算机一样工作。该设备兼容多种操作系统(超过10种),其首选操作系统可轻松安装,并支持添加和配置各种工具、环境和框架。它具有内置互联网连接(Wi‐Fi和以太网),并通过输出端口实现与多种传感器的便捷连接以及对各类设备的控制。这大大方便了开发者的工作。最后但同样重要的是,在网站上可以找到大量关于该设备的资源和讨论,提供免费且有用的信息[11, 13]。

示意图0

所选设备版本具有以下规格 [12]:
- 系统级芯片:博通 BCM2837B0 四核A53(ARMv8)64位@1.4GHz
- 图形处理器:博通 Videocore‐IV
- 内存:1GB LPDDR2 SDRAM
- 网络:千兆以太网(通过USB通道)、2.4GHz和5GHz 802.11b/g/n/ac Wi‐Fi
- 蓝牙:蓝牙4.2、蓝牙低功耗 (BLE)
- 存储:Micro‐SD
- 通用输入输出:40针 GPIO接口,已安装
- 端口:HDMI、3.5毫米模拟音视频接口、4个USB 2.0、以太网、摄像头串行接口(CSI)、显示串行接口(DSI)
- 尺寸:82毫米 x 56毫米 x 19.5毫米,50克

引脚排列说明如图2所示。

示意图1

Following 传感器用于 project:

BH1750 – 带I2C接口的数字光照传感器(图3a)。环境光强度可读取为数字值。仅用于室内灯的数据采集。

BME280 ——带I2C接口的数字气压传感器(图3b),可提供温度、压力和湿度读数。使用两个此类传感器——一个用于采集室内数据,另一个用于室外。

示意图2

要使用(全部)/ 这两个传感器,必须启用板上的I2C接口 (默认情况下未启用)。

为了实现项目的原型,需要电缆和LED灯来测试软件的输出控制。

图4展示了项目架构。软件部分实现为三层基于 Web的信息系统。MariaDB用作数据库管理系统。

示意图3

IV. 软件描述

• 数据采集模块

它从所有传感器读取数据并将其存储到项目的数据库中。使用 Python [10] 实现,完全自动。在树莓派操作系统启动后自动运行,并长期在后台模式下工作。可以设置每次传感器读取之间的间隔大小。在原型系统中该间隔设置为六分钟(每小时10次测量)。

• 管理模块

使用 PHP 实现新用户、用户组和角色的注册,以及登录和登出操作。根据家庭自动化系统的理念,系统用户为家庭成员。他们可以通过手机、平板电脑或计算机上的 Web 应用来管理系统设置并更改工作模式。只有使用有效且正确用户名和密码的注册用户才能访问系统。用户数据存储在数据库中。

• 可视化模块

其中两个模块可在用户的浏览器中以文本/表格格式和图形格式进行数据可视化,这两个模块使用 PHP 开发。所收集的数据从数据库中读取,并以用户选择的格式呈现(图5)。用户可以选择并应用其他过滤器(除数据展示形式外),包括时间段、温度、湿度、家庭所在位置的天气预报以及系统记录的事件历史。该模块检索到的数据将传输到用户界面模块,以便在用户的浏览器中以适当的格式呈现。

示意图4

• 手动控制模块

该系统具有两种操作模式——手动模式和自动模式。基于网页的模块实现手动模式,使用户能够不受系统预定操作模式的限制,根据需要手动开启或关闭电器、打开或关闭灯、以及关闭或打开窗户(见图6)。每次此类事件的相关信息都会由事件管理与控制模块记录到数据库中,并包含触发该事件的用户信息。通知模块会向所有选择接收通知的用户发送通知/消息。

示意图5

• 自动控制模块

根据保加利亚的气候条件,系统可设置为两种运行模式:冬季和夏季。这两种模式主要用于控制家庭中加热或制冷设备的管理。每种模式在温度和湿度阈值,以及用户在模式设置期间可定义的每十分钟变化值方面有所不同。

当加热或制冷设备开启时,窗户会关闭;但当设备关闭时,需要设置湿度阈值。这是窗户自动关闭的最高湿度值。此设置适用于夏季和冬季模式。

夏季的目标是保持室内温度低于最高允许室内温度。因此,用户在夏季模式下设置最高允许室内温度。夏季模式下的家居管理按照图7所示的算法进行。

在冬季模式下,家庭控制有两种选择。一种是始终维持预设最低温度。另一种是由用户为每周的每一天预先定义程序,规定在哪些时间间隔内维持怎样的最低温度。在这两种模式中,如有需要,均可设置一个时间段用于开启窗户。

假设大部分时间照明由用户手动控制,但当家中无人时,可以设置一个初步计划,为每周的每一天开启和关闭灯,或者生成一个随机计划。用户可以选择照明程序(随机或预设),如果选择预设程序,则可以设置从周一至周日每天的开灯和关灯时间。

示意图6

如果选择了自动照明模式,系统将按照此计划执行。

• 用户界面组织模块

该模块由不同的 HTML 模板组成。所有 PHP 模块将其生成的数据发送到该模块。该模块选择相应的 HTML 模板,填充接收到的数据,然后提交给用户的浏览器,或生成 JavaScript 表示。

• 通知模块

对于所有发生的事件(空调开关、窗户开闭、灯的开关、控制模式更改等),系统应记录相关信息——发生了什么、何时发生、由谁引起(如有)。所有注册用户在注册期间可以选择是否接收通知,以及希望为哪些事件接收通知。当发生任何选定的事件时,系统会向用户指定的电子邮件地址发送电子邮件。

• 天气预报模块

该 PHP 模块使用 API 获取天气预报信息,通过 OpenWeatherMap 服务实现。使用 PHP CURL 发送 API 请求,CURL 响应为 JSON 格式。通过解码 JSON 响应,可以提取天气数据并将其存储在数据库中。这样,系统在数据库中既有来自传感器的温度和湿度信息,也有来自天气预报的数据,可以进行比较,并利用结果进行自我学习、决策,并尝试预测接下来的几个步骤。

• 事件管理与配置模块

在智能家居系统的背景下,事件是指各个元素状态的任何变化:
- 开启或关闭灯,
- 开启或关闭加热或空调,
- 打开或关闭窗户,
- 新用户注册,
- 更改整个系统的运行模式。

为了提高系统性能,所有这些事件的历史记录都存储在数据库中。该模块检索最新的活动系统参数并保存更改,同时还提供过去事件的概览。

五、结论与未来工作

树莓派是实施物联网项目、收集传感器信息以及管理不同设备的流行且便捷的解决方案之一。该设备本身能够安装和运行 Web 应用及数据库管理系统,这有助于此类项目的实现。为了在实际生活中使用,本文所描述的原型必须经过测试,以观察其在控制真实设备时的表现。在这种情况下,仅使用了不同颜色的 LED 灯进行测试,以指示不同的输出事件。在实际条件下,将需要操作步进电机等设备。所提出的 Web 应用的安全性也应进行测试和完善。还可以开发具有自己用户界面和通知系统的移动应用。

当积累超过一年的数据后,进一步开发系统的自我改进功能将非常有用。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐