首页 > 编程知识 正文

python硬件编程智能家居_Home Assistant 基于 Python 的智能家居开源系统 - 文章

时间:2023-05-06 14:19:41 阅读:265203 作者:352

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 可以让你控制你的所有设备,而不用把任何数据存储在云端。我们希望保护您的隐私。

自动化

设置一些先进的自动化控制规则让你的家庭智能化,你是否想 …

在家时,太阳下山了,灯会自动打开

晚上到家时,灯会自动打开

准备看电影时,灯会自动熄灭

不在家时,灯被打开,你能收到通知

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。