跨品牌智能家居控制_从原理到实现_HomeAssistant

项目地址:https://github.com/home-assistant/core

Star:67 K

1 引言

最近去南方玩,住了一些智能酒店,自动开关电视、窗帘、灯、空调,还挺好用的,尤其喜欢关灯这功能。先不说它的理解能力(对同一命令的不同描述),单讲控制能力,还比较粗糙。比如:无法细化具体开关哪个灯;有的只能控制部分电器;有的只是把语音控制转换成遥控器按键,完成一个功能需要多个步骤…… 更喜欢住智能酒店的原因主要是:这些酒店多是这两年建的,比较新、比较干净。

对智能家居产生了一点兴趣。现在的智能家居用品真的不贵,比如小米的产品,就想要不也把自己家改造一下。刚好在 github 的趋势榜 top15 中看到了智能家居工具 Home Assistant,下面就一起来了解一下智能家居系统。

Home Assistant(后简称 HA)诞生于 2013 年,是一款基于 Python 的智能家居开源系统,它的主要功能是将不同品牌的智能家居设备连接起来互联互通,并将本地控制和隐私放在首位。

2 背景知识

2.1 使用方法

一般的操作流程是:用户通过语音与智能助理进行交互,或者用手机以及其它输入设备进行控制;通过主控设置或者直接与智能硬件连接;智能硬件可以作为输入产生数据如温度传感器,也可以作为输出设备接受控制如空调;用户还可以在主控中进行设置,比如在低温时打开空调,以实现智能家居的自动化。使用场景包括:智能音箱、手机、手表、PC、家电、汽车、交通等。

2.2 设备通讯

我们的计算机无法与智能设备直接通讯,常需要一些附加设备。智能家居有很多连接方式,目前主要使用的有:wifi 连接、蓝牙连接和 Zigbee 连接。

  • WiFi:许多智能设备(如智能灯泡、智能插座、智能热水器)都支持 WiFi,可以直接通过家庭的无线网络与 HA 进行通信。使用的协议通常包括 HTTP、MQTT 等。
  • ZigBee:许多低功耗的智能设备(如传感器、开关等)使用 ZigBee 协议。如需使 HA 与这些设备通信,需要外加一个 ZigBee 设备,如 ConBee 或 ZigBee2MQTT,设备可通过 USB 接口连接到运行 HA 的物理机上。
  • Z-Wave:Z-Wave 是另一种常用于智能家居设备的无线通信协议。也需要一个 Z-Wave 控制器(如 Aeotec Z-Stick)连接到物理机上。
  • 蓝牙:一些设备(如某些智能锁和温湿度传感器)使用蓝牙进行通信。如果物理机支持蓝牙,那么 HA 就可以直接与这些设备通信。
  • 红外/射频:一些设备(如空调、电视和其他遥控设备)使用红外或射频信号进行通信。可以使用如 BroadLink 等红外/射频桥接设备,让 HA 能够控制这些设备。

3 功能和用途

3.1 用途

Home assistant 是一种智能家居总控软件,它通过一个软件控制各种智能硬件。轻松实现设备的语音控制、自动化;集中管理各品牌的智能家居,避免了在多个应用程序之间来回切换。当前的版本已经支持了 1000 多个模块,如果需要添加较新的设备,可以通过插件商店 HACS 安装新插件。此外,添加设备和设置自动化只需要在图形界面上进行操作,无需修改配置文件。

3.2 功能

  • 集成设备和服务:HA 支持很多品牌和类型的智能设备,这些设备通常通过 API 接口与 HA 通信,而 HA 通过集成的通讯协议来实现对它们的控制和管理。
  • 跨平台:HA 可以运行在不同的操作系统上,如:Linux, macOS,Windows,树莓派等。
  • 自动化:允许用户设置设备之间的联动和自动化规则,通过多种触发器来实现复杂的功能,以提升智能化水平。
  • 打通语音助手与智能家居:HA 支持通过 Google Assistant, Amazon Alex 虚拟助手来进行语音命令操作,进一步增强用户体验的便利性。除了控制硬件设备,也可通过组件方式提供服务,比如 openai 对话功能。
  • 个性化扩展:HA 使用插件和组件的形式,允许用户安装第三方提供的功能和服务,以增加平台的可扩展性和个性化能力。

4 部署

我觉得,开始使用时,与其弄个树莓派从头开始学习刷系统,不如直接在计算机上安装 HA,外加一些 USB 设备来支持 ZigBee、Z-Wave 和红外设备,这样省时省力省钱。等到设备都能正常使用后,再考虑购买嵌入式硬件。

4.1 源码

git clone https://github.com/home-assistant/core

代码分析:

  • 代码 100% 由 Python 编写,代码量 155W 行,其中一半是核心代码一半是测试用例。
  • homeassistant/components 目录中包含组件,代码 68W 行,目前支持 1200 多种智能硬件和服务,前端、用户管理也分别作为组件实现。

4.2 部署

$ docker pull homeassistant/home-assistant:latest
$ docker run --rm -d --name homeassistant -v /exports/data/homeassistant/config:/config -e TZ=Asia/Shanghai -p 8123:8123 homeassistant/home-assistant:latest

docker 具体参数请参考:https://www.home-assistant.io/installation/linux

此时,可以在 8123 端口打开服务:

(设置时建议科学上网)

主站:https://www.home-assistant.io/

插件商店:https://hacs-repositories.web.app/

(建议科学上网,并使用英文搜索,如:xiaomi)

加入设备方法:设置 (左)->集成 (上)->添加集成 (右下)

5 一些想法

理想很丰满,现实却很骨感。目前来看,由于硬件的种种限制,能把灯和空调控制好就不错了。

随着自然语言大模型应用的进展,对语言理解的大幅提升,以及自动将复杂问题细化成简单问题。智能家居技术可能很快就能普及到普通家庭中。

统一管理不仅是智能家居领域的问题,几乎我们所有的数据都需要统一管理,也许能实现更广泛意义的互联互通和智能助手。而 HA 提供了很好的框架,让智能家居系统不再是一个黑盒,而是可以被我们所用。也许有一天,我们可以用某种方式把自己的”脑子“也作为模块接入。

6 参考

智能家居达人QA专栏篇十四:homeassistant最新教程,十几块钱DIY的空调伴侣升级版,增加更多选择和可玩性

好玩的开源项目 Docker下部署HomeAssistant智能家居系统

万物皆可HA?教你把各种智能设备接入Home Assistant 图文教程

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容