Home Assistant 基于 Python 的智能家居开源系统
HomeAssistant 是构建智慧空间的神器。是一个成熟完整的基于 Python 的智能家居系统,设备支持度高,支持自动化(Automation)、群组化(Group)、UI 客制化(Theme) 等等高度定制化设置。同样实现设备的 Siri 控制。基于 Home Assistant,可以方便地连接各种外部设备(智能设备、摄像头、邮件、短消息、云服务等,成熟的可连接组件有近千种),手动或按照自己的需求自动化地联动这些外部设备,构建随心所欲的智慧空间。Home Assistant 是开源的,它不属于任何商业公司,用户可以无偿使用。
Home Assistant 系统
hass
HomeAssistant运行的程序实例,俗称进程。
hass 由两部分的逻辑组成,内核(core)和组件(component)。如果将 hass 比作人体的神经系统,那么内核就是中枢神经系统(大脑),组件就是周围神经系统。
- hass 内核的基础工作机制是简单的,理解了状态、事件、服务三个概念,就理解了内核;其简单性类似于大脑的基础工作机制,仅是神经元的相互作用而已。
- hass 内核并不与外部世界直接互动,而是通过组件连接外部世界;类似于大脑并不直接与感觉器官、运动器官连接,而是通过周围神经系统进行连接。
比如 light.hue 组件负责与飞利浦HUE智能灯的互动(感知与设置其当前状态)。
比如 camera.mjpeg 组件负责获得摄像头的标准MJPEG视频流。
比如 sensor.yr 组件负责与 yr.no 云服务通讯,获得天气信息。
比如 http 组件负责对外提供的 http 协议服务。
比如 frontend 组件,在 http 组件的基础上,负责与浏览器的交互。
比如 ifttt 组件,负责与 INTERNET 上另一个大脑(IFTTT)的通讯与互动。 - 组件与组件之间会有相互的交互,但一般会通过 hass 内核中的状态、事件、服务机制来进行;类似于眼睛与手不会直接相互作用,但都连接到大脑,由大脑协调它们的相互作用。
- Home Assistant 中有一些组件并不与外部世界连接,而仅是获取内部的信息状态,然后运行逻辑规则;有点类似于周围神经系统中的本体感觉神经,仅仅用于获得自身肌肉与关节的状态。
比如 automation 组件,在 hass 内核信息基础上,运行自动化规则逻辑。 - Home Assistant 中有近千种不同的组件——这是其能与丰富的物联世界协同交互的基础——并且数量在快速的增长。
hass 核心配置文件 configuration.yaml
配置文件决定 hass 加载哪些组件,以及这些组件该如何运行——与神经系统的构建受基因控制类似。
- 比如 camera.mjpeg 组件的配置信息包含应该连接哪个地址的摄像头抓取视频流。
- 比如 sensor.yr 组件的配置信息包含应该获取哪个地方的什么时间的天气预报。
- 比如 http 组件的配置信息包含对外开放的端口号、访问密码等信息。
- 比如 automation 组件的配置信息包含如何联动的逻辑规则。
hass 运行环境
hass 基于 Python 环境运行,作为一个 Home Assistant 的使用者,您并不需要掌握 Python 编程语言,只要安装它的环境就可以了。
Home Assistant 连接的硬件设备
Home Assistant 是一个运行智能规则的大脑,它可以与丰富的外部设备联动——获得信息、发送指令。
- 实时汇率行情——获得当前实时的汇率行情,类似的还有股票行情、电子货币行情、交通拥堵情况、天气预报、空气质量预报……
- Android 手机摄像头——获得摄像头的视频流,类似的所有支持标准协议的硬件摄像头都可以接入。
- 人脸识别——基于视频流,识别出其中的人脸是谁,类似的可以基于视频流进行车牌识别、文字识别、动作探测、噪音监控……
- 百度文字转语音服务——通过百度免费的 TTS 服务,将文字(比如天气预报、股票行情等文字信息)转换成语音(MP3),类似的也可以使用voiceRSS、Google等的服务。
- KODI 媒体播放器——将语音信号通过硬件播放出来,类似的可以用 VLC、Gstreamer 等软件,也可以直接连接外部的各种蓝牙音箱。
- 亚马逊 ECHO——与亚马逊 ECHO 进行联动,类似的可以与各种外部的智能引擎联动,可以与苹果手机(Siri)进行联动,可以与GoogleAssistant联动,可以与IFTTT联动。
- 小米温湿度传感器——获得环境的温湿度信息,类似的小米系列的各种传感器门窗开合、人体感应、小米魔方等都可以接入。
- Philips 智能灯——控制Philips智能灯的开关、颜色、亮度,类似的小米智能灯、智能开关、宜家智能灯也可以被控制,还可以通过红外转发控制传统家电。
- 发送邮件——可以发送邮件通知,类似的也可以发送手机短消息。
- Arduino——DIY 的乐园,类似的可以自己写一些脚本、做一些串口设备,都可以联动起来。
我们把可以连接到 Home Assistant 大脑上的外部设备、程序、云服务统称为积木元素——就像搭乐高积木一样,Home Assistant 像胶水一样把不同积木粘合在一起,构建起智慧空间。
特点
监控
Home Assistant 将跟踪您家中所有设备的状态,您不必再操心。
控制
通过单一的,适配移动设备的界面控制你的所有设备,Home Assistant 可以让你控制你的所有设备,而不用把任何数据存储在云端。我们希望保护您的隐私。
自动化
设置一些先进的自动化控制规则让你的家庭智能化,你是否想 …
- 在家时,太阳下山了,灯会自动打开
- 晚上到家时,灯会自动打开
- 准备看电影时,灯会自动熄灭
- 不在家时,灯被打开,你能收到通知
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论