带你了解热门智能家居开源项目:智汀家庭云与Home Assistant之插件初步配置
Posted 智汀科技
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了带你了解热门智能家居开源项目:智汀家庭云与Home Assistant之插件初步配置相关的知识,希望对你有一定的参考价值。
简介
我们在日常使用中,部分智能设备本身支持接入HomeKit,也就是说用户可以通过苹果手机的“家庭”将该设备进行接入、控制。但这种操作存在明显的局限性,安卓手机无法使用,而且无法与不支持接入HomeKit的设备进行联动。比如用iPhone远程开关家里的灯;
就拿Home Assistant来说,是一款基于Python的智能家居开源系统,能够支持接入众多品牌智能设备,然而在一定程度上也存在优劣势:第一方面优势是具有集中化的管理;另一方面劣势是它只能够在局域网内访问,无法通过外网远程控制;
在此很多人还不知道,国内首个采用智能家居各厂商软件特点的全面开源协议,它凭借着可以离线运行在局域网内,并且通过绑定到智汀云来获取更强大的功能的新秀。运行在局域网环境时,用户可以通过智汀APP发现与管理智汀家庭云,安装插件来对设备进行管理与控制。
其次,通过智汀云帐号,将智汀家庭云设备关联到云端,然后通过云端中转的方式支持在外网对设备进行控制。
同时提供设备直接接入云端虚拟家庭的功能,方便无智汀家庭云设备的用户使用;智汀云也提供虚拟家庭数据迁移到实体家庭的接口。
对于关联到云端的家庭,智汀云提供云对云接入功能,用户可授权小度,天猫精灵,Google Nest 等智能音箱直接对设备进行控制。
二、安装第三方插件
智汀家庭云运行在 Linux 主机下,通过 Docker 来对其中的服务进行部署与资源隔离。其中部分核心服务容器需要预先配置,并且随系统启动自动运行;而插件(plugin)类服务则是由 SA 调用 docker API 的方式进行管理。
插件启动后会运行一个 gRPC 服务以及一个可选的 HTTP 服务,SA 通过 docker API 监听插件运行状态,通过 gRPC 接口获取插件信息,关于插件实现教程实现的示例插件;参考该文献:golang | 智汀科技开发文档
开发范例
1. 镜像编译和部署
暂时仅支持以镜像方式安装插件,调试正常后,编译成镜像提供给SA
- Dockerfile示例参考
FROM golang:1.16-alpine as builder
RUN apk add build-base
COPY . /app
WORKDIR /app
RUN go env -w GOPROXY="goproxy.cn,direct"
RUN go build -ldflags="-w -s" -o demo-plugin
FROM alpine
WORKDIR /app
COPY --from=builder /app/demo-plugin /app/demo-plugin
# static file
COPY ./html ./html
ENTRYPOINT ["/app/demo-plugin"]
- 编译镜像
docker build -f your_plugin_Dockerfile -t your_plugin_name
- 运行插件
docker run -net=host your_plugin_name
//注意:-net=host 参数只有linux环境才有用。
而对比HomeBridge:是一个动态插件,主要作用是可以让homekit识别到Home Assistant接入的设备相当于一个桥的作用。
Homebridge的安装需要npm,树莓派下安装npm有点麻烦,这里就不详细描述。安装好npm后只需按顺序输入下面语句即可安装homebridge及其相关依赖包。
sudo npm install -g --unsafe-perm homebridge hap-nodejs node-gyp
cd /usr/local/lib/node_modules/homebridge/
sudo npm install --unsafe-perm bignum
cd /usr/local/lib/node_modules/hap-nodejs/node_modules/mdns
sudo node-gyp BUILDTYPE=Release rebuild
接下来可以安装homebridge-mqtt了。
npm install -g homebridge-mqtt
在树莓派上,Homebridge 的配置主要是编辑「/home/pi/.homebridge」下的「config.json」文件。下面是homebridge-mqtt 配置示例。
"bridge":
"name": "Homebridge",
"username": "12:34:56:78:90:AB",
"port": 38960,
"pin": "123-45-678"
,
"platforms": [
"platform": "mqtt",
"name": "mqtt",
"url": "mqtt://127.0.0.1",
"port": 61613,
"topic_type": "multiple",
"topic_prefix": "homebridge",
"username": "admin",
"password": "password",
"cert": "/path/to/certificate.pem",
"key": "path/to/key.pem",
"ca": "/path/to/ca_certificate.pem"
]
总结
如果你对本文有任何疑问或者高见,关注智汀公众号共同交流探讨(欢迎加入微信号:13326423643可以免费赠送“智能开关或其他智能硬件”哦)。
智汀科技
微信扫码二维码,关注我的公众号
以上是关于带你了解热门智能家居开源项目:智汀家庭云与Home Assistant之插件初步配置的主要内容,如果未能解决你的问题,请参考以下文章