基于树莓派和Home Assistant语音控制的智能家居系统设计

    王振铎 边倩 申海杰 陈晓范 田新志

    

    摘要:由于智能家居行业缺乏统一的规范和标准,造成智能家居系统不兼容、功能有限,从而制约了智能家居产品的应用。设计了一款基于树莓派和HomeAssistant、天猫精灵为主的智能家居系统,实现了对家居产品的语言控制,降低了成本、方便了应用。测试表明系统性能稳定、兼容性好。

    关键词:智能家居;树莓派;HomeAssistant;天猫精灵

    中图分类号:TP391? ? ? ?文献标识码:A

    文章编号:1009-3044(2021)18-0020-02

    开放科学(资源服务)标识码(OSID):

    智能家居又称“智能住宅”,是利用计算机、网络通讯、自动控制、物联网等先进技术,通过网络化综合智能控制和管理,构建高效的住宅设施与家庭日程事务的管理系统,实现家居安全性、便利性、舒适性、艺术性,并实现环保节能的居住环境[1]。

    智能家居发展到现在可以分为四大阶段:第一代手机操控、第二代场景联动、第三代语音交互、第四代人工智能[2]。

    文献3提出了一种基于手机的语音识别的智能家居控制系统,主要利用科大讯飞的语音识别模块和开发的手机端控制程序实现家居的控制。文献4调用百度语音识别、图灵机器人、Snowboy唤醒词检测、itchat库,以及亚马逊云端,通过 ZigBee 的单播通讯方式,设计了一款基于语音交互的智能家居系统。

    本设计提出一种树莓派和Home Assistant语音控制的智能家居系统实现方案,用户通过语音,利用Wi-Fi技术实现对家居设施的控制和监测,包括灯光、门禁、环境(温湿度)的、窗帘控制等功能,构建一个高效、方便的家居设施管理系统,提升人们家居的安全性、便利性、舒适性。

    1 系统架构

    本作品是基于AI语音控制的智能家居系统,通过语音识别来发送操作指令给控制模块,再由控制模块来控制智能开关、智能灯以及屋内温度,空气质量检测播报。语音控制作为一种新的控制方式,是智能家居系统中人机交互的一种重要手段。无须任何肢体动作,便可极大地简化操作流程,同时对于行动不便的老人、残疾人等群体,语音指令控制更是能够提供相当大的便利,大大提高人们的生活质量。

    本项目中核心内容为基于AI的智能家居语音控制系统,其中首先要实现的是用户和语音识别设备(如:天猫精灵)的交互。比如“打开卧室灯”指令,首先语音识别设备将用户语音返回服务器进行解析,同时云服务器根据解析结果调用智能家居服务HASS。由HASS 管理的灯设备接收到“开灯”命令后,需要去控制世界中实际的灯设备。HASS 总管一切设备(灯、摄像头、开关、温度计……)。在具体的实现过程中,使用 MQTT 协议进行 HASS 和世界中的真实卧室灯设备通信。ESP8266 WiFi模块通过 MQTT 协议接收到开灯命令,控制电磁继电器来开关真实世界里的卧室灯。其他的控制过程类似。

    Home Assistant是一款基于Python的智能家居开源系统,采用Home Assistant (简称HA)独立平台,可集成大量量产或 DIY 的智能家居设备,且拥有独立的控制前端。利用Home Assistant,结合 Home bridge,最终实现不同设备对智能家居的控制问题。

    系统可以通过手机进行云端操作,让用户在室外也可以对智能家居进行操作。因此系统很适应普通的工薪阶层并有智能控制家居设备意愿的家庭。

    2 系统功能

    (1)入户门锁开锁可通过:指纹识别、人脸识别和远程控制等方式实现。

    (2)打开门时系统通过门窗感应器和光线感应器综合判断决定是否自动开灯。

    (3)人体感应器检测到室内有人后自动打开饮水机电源,夜间或者所有人员离开后自动关闭饮水机等电器设备电源。

    (4)人体感应器检测到人员在房间后结合室内温度传感器值决定是否自动打开空调。

    (5)可以语音或者App等方式控制各房间所有灯光及窗帘开关。

    (6)夜间自动关闭窗帘白天自动开窗帘、午间阳光强烈时自动拉上窗帘。

    (7)摄像头设置离开模式时可自动推送闯入者画面至微信。

    (8)门窗感应器检查到闯入者可自动发出语音警报并推送微信。

    (9)烟雾、水浸、天然气泄漏等相关传感器检测到异常情况均可实时语音播报警报并推送微信。

    (10)空气检测仪检测到室内湿度过低自动打开相应房间的加湿器。

    (11)空气检测仪检测到室内PM2.5超標自动打开空气净化器。

    (12)空气检测仪检测到室内甲醛含量超标且根据系统中户外空气质量决定是否自动打开换气扇。

    (13)可通过高识别的语音入口(天猫精灵或者iOS设备的SIRI功能)来控制室内的智能设备。

    (14)可通过互联网远程利用手机、PC等终端控制所有设备。

    3系统设计

    3.1 智能家居系统的硬件部分

    智能家居硬件控制系统常用的控制器有单片机、STM32、FPGS等。本系统采用树莓派作为核心控制器。相对于上述其他控制器,树莓派具有扩展性好、体积小、功能多等优点,并且树莓派上可以运行Linux系统。另外,树莓派上利用开源的Python语言,可以根据自己的需求定制开发自己的应用。

    3.2通讯设计

    树莓派和家居设备的通讯,采用WIFI方式,因为WIFI成为日常生活必须和常用的通讯方式。利用树莓派上的ESP8266 WiFi shied模块,选用USB无线网卡、TL-WN823N构建无线局域网;人机交互采用天猫精灵或手机。其中实现语音控制,关键的技术是HomeAssistant控制天猫精灵。

    HomeAssistant支持众多品牌的智能家居设备,可以轻松实现设备的语音控制、自动化等。天猫精灵本身也能够支持许多品牌的智能电器,实现语音控制。将天猫精灵的语音识别能力和Home Assistant的家电控制能力结合,让天猫精灵能够控制小米系列甚至更多其他品牌的智能家电成为目前主要的控制方式。

    但是如果需要外网访问,就必须实现内网穿透。可以使用向日葵远程控制和花生棒内网穿透。其中,花生棒实现内网穿透真的十分简单。首先,把花生棒通过网线,连接到需要进行内网穿透的那个设备所处的路由器上。然后,登录注册并绑定好花生棒硬件的Oray账号,进入花生壳的内网穿透管理页面。在映射列表里,增加一条映射。

    3.3系统原理

    系统的核心内容为基于AI的智能家居语音控制系統,其中首先要实现的是用户和语音识别设备(如:天猫精灵)的交互。比如“打开卧室灯”指令,首先语音识别设备将用户语音返回服务器进行解析,同时云服务器根据解析结果调用智能家居服务HASS。由HASS 管理的卧室灯设备接收到“开卧室灯”命令后,需要去控制世界中实际的卧室灯设备。HASS 总管一切设备(灯、摄像头、开关、温度计……)。在具体的实现过程中,使用 MQTT 协议进行 HASS 和世界中的真实卧室灯设备通信。ESP8266 WiFi模块通过 MQTT 协议接收到开灯命令,控制电磁继电器来开关真实世界里的卧室灯,其他的控制过程类似。其系统原理如图 1 所示。

    3.4系统实现

    3.4.1系统开发准备

    (1)工作电脑一台(安装好Windows或Linux操作系统)

    (2)树莓派4,8G

    (3)tf卡及tf卡读写器

    (4)烧录软件etcher—U盘镜像制作软件

    1)树莓派上部署HA

    首先在自己的工作电脑上安装好烧录软件etcher,然后上网下载HA软件镜像文件,地址为https://pan.baidu.com/s/1INCX_0wkHnGdzJIBJyRuHQ,根据开发者的树莓派版本选择日期最新的镜像,下载到电脑上,利用烧录软件将镜像文件烧录到tf卡上。如果用WIFI连接还需要配置WIFI连接,在烧录的镜像文件夹中增加CONFIG\network目录,并添加一个my-network文件,在其文件中修改自己的ssid信息及psk(WIFI密码),以便能够树莓派使用WIFI通讯。将烧好的tf卡插入树莓派的tf卡槽上,给树莓派通电,访问http://homeassistant.local:8123或利用无线路由器查看树莓派的IP地址,利用http://ip地址:8123的方式进入HA系统,配置用户名和密码,并确定自己的位置,HA可以自动识别到网络中的一些其它硬件设备,可以在后面再设置。

    2)HomeAssistant软件配置管理智能设备

    Home Assistant 是一个成熟完整的基于 Python 的智能家居系统,设备支持度高,支持自动化(Automation)、群组化(Group)、UI 客制化(Theme) 等等高度定制化设置。背后又有庞大的社群基础,且不断在更新。最重要的是我们可以通过Homeassistant-homebridge插件打通两个平台,同样实现设备的 Siri 控制。

    4 系统特点

    本项目较市场中各厂商智能家居产品方案具有以下特点:

    (1)系统使用开源硬件平台“树莓派”+开源智能家居软件平台“Home Assistant”构建,硬件部分大部分通过自制实现,软件功能自主开发,整体价格相对市面上现有产品更加低廉。

    (2)所有功能通过统一入口集中管理,避免安装各种厂家智能家居产品APP造成的管理混乱问题。

    (3)相对于市场上各厂商智能硬件产品间无法互联互通、?同一厂商产品间场景联动模式单一的现状,本系统采用统一整合,自动化场景功能更加强大,可以实现更加灵活的场景联动功能。

    (4)依托于AI人工智能技术的突破性发展,本项目使用语音入口作为高交互的入口中心,用户体验效果更佳。

    5 结束语

    本文介绍了利用树莓派和HomeAssistant及天猫精灵设计的智能家居系统,系统的灵活性、兼容性良好,本系统中还涉及较多的技术细节,这里不在赘述。利用HomeAssistant实现家居设备的控制和自动化已成为目前较为常用的技术,希望对其它智能家居的设计提供借鉴。

    参考文献

    [1]张予衎,牛犇,杨晨宇,温如春等.基于Android操作系统的智能家居系统设计[J].物联网技术,2020,10(03):49-51.

    [2] 王俊之,王彦,孙毅.基于语音交互的智能家居系统[J].南华大学学报(自然科学版),2020,34(1):60-67.

    [3] 薛辉.基于语音识别的智能家居控制系统的研究与设计[J].微型电脑应用,2020,36(2):149-151.

    [4]林玩杰,李水峰,毛立夫,等.基于STM32智能家居控制系统的设计[J].电子设计工程,2019,27(24):176-180.

    [5] 李泽山,郭改枝.基于树莓派和Ardunio的WiFi远程控制智能家居系统设计[J].现代电子技术,2019,42(24):167-171,175.

    【通联编辑:朱宝贵】