农民 发表于 2024-6-7 22:56:05

使用群晖Docker搭建HomeAssistant并实现异地公网访问家中智能设备

最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念,而且内容风趣幽默。我觉得它对大家可能会有所帮助,所以我在此分享。点击这里跳转到网站。
使用群晖Docker搭建HomeAssistant并实现异地公网访问



HomeAssistant是一个可以控制 苹果、 小米、MQTT等设备的智能家居平台。本文首先介绍如何使用 群晖NAS的 Docker套件来安装 HomeAssistant平台,安装成功后,如何结合cpolar内网穿透工具实现 公网访问。
https://img-blog.csdnimg.cn/img_convert/410d6f8b8b31f0a639ab21e9830a8067.png
基本条件:


[*]有正版群晖或黑群辉,可以装docker。
一、下载HomeAssistant镜像

打开群晖 容器 管理 套件(较旧系统版本对应的套件为群辉Docker)
https://img-blog.csdnimg.cn/img_convert/b6a6b36e979625008a0097c45c33286b.png
注册表 中搜 home-assistant ,右击下图中的 homeassistant/home-assistant 项目下载镜像。
https://img-blog.csdnimg.cn/img_convert/f3d8b6e3d960f76b713fce13b6611b53.png
FileStation进入 /docker文件夹 新建Homeassistant文件夹
https://img-blog.csdnimg.cn/img_convert/6421c3c18efb9ef9b56124482254322e.png
等待下载完毕:
https://img-blog.csdnimg.cn/img_convert/ab03ed3cdf3f4816df34902e2e934921.png
双击此映像并打开
https://img-blog.csdnimg.cn/img_convert/938b24accd16a3fb86c1507c7577093d.png
输入随便什么名称,勾选自启动功能,下一步
https://img-blog.csdnimg.cn/img_convert/4c4dda124136bd08e078d02becf72f89.png
存储空间设置: 选择**/dokcer/homeassistant** 这个刚才新建的路径
https://img-blog.csdnimg.cn/img_convert/deb303c73e1d74e3c7d2e0ec53be2951.png
在 路径 中填入 /home,给读写权限
https://img-blog.csdnimg.cn/img_convert/597abd6b656de2cf0d6e2575d2e8a955.png
环境中添加 variable = TZ 和 value = Asia/Shanghai
https://img-blog.csdnimg.cn/img_convert/7adda5932275d0c3a760dcb1beffd6e9.png
网络 选择 host
https://img-blog.csdnimg.cn/img_convert/3f18a170d977dbdb78e0f19bb8326b2f.png
检查上述修改事项,完成
https://img-blog.csdnimg.cn/img_convert/569a413b533fcef70bbcfeb3a58146cf.png
可见 容器启动成功
https://img-blog.csdnimg.cn/img_convert/322bc960c4564bbba241a38c607b797e.png
此时,自行查找群晖局域网地址,后边加上:8123 就是homeassistant局域网地址
http://X.X.X.X:8123
此处我建议使用群晖助手 查找群晖ip:
https://img-blog.csdnimg.cn/img_convert/0e30bf2656980c7423c4fa63f2dd4bbc.png
本地浏览器 输入 http://192.168.50.31:8123/,进入homeassistant初始化流程:
https://img-blog.csdnimg.cn/img_convert/055389ab6e8a5b3ce37785fb5b0e6535.png
注册账户——选择家庭地区
https://img-blog.csdnimg.cn/img_convert/00abbe6c0f1725ef4355171f2f0aa8da.png
成功进入,现在我们就能尽情安装插件,绑定智能家居设备啦!
https://img-blog.csdnimg.cn/img_convert/ab76c6cdcea01ffcb9b7fde8ea60a3a2.png
二、内网穿透HomeAssistant,实现异地控制智能家居

想要在户外访问本地Docker容器部署的项目,就需要内网穿透软件,这里我们使用的是免费不限流量的cpolar,如何在群晖NAS安装cpolar请参考:
如何在群晖系统中安装cpolar(群晖7.X版) - cpolar 极点云
安装完毕后,打开cpolar套件,点击右下角 :9200的局域网地址:
https://img-blog.csdnimg.cn/img_convert/d59e90b0d035bab06d7329d28bde04cd.png
https://img-blog.csdnimg.cn/img_convert/3a1aee5a7c38977bb274a8a3a565ac78.png
​ 登录进去后,点击左侧仪表盘的隧道管理——创建隧道,我们来创建一条用于映射HomeAssistant的局域网地址到公网的隧道。


[*]隧道名称:可自定义
[*]协议:http
[*]本地地址:X.X.X.X:8123
[*]域名类型:随机域名(cpolar免费版)
[*]地区:选择China(cpolar免费版选择China,付费版可选择china vip)
点击创建
填写如下:
https://img-blog.csdnimg.cn/img_convert/1f80d07af95c0631b47d4030d97f319c.png
下一步我们 点击 在线隧道列表,复制这个公网链接到浏览器:
https://img-blog.csdnimg.cn/img_convert/5c0880a5d4d89de76fa282c64c809273.png
出现400报错,bad request 意思是 “错误的请求”;
此时不要慌,这是因为homeassistant中未针对反向代理进行设置,所以我们需要在配置文件中简单修改一下。
https://img-blog.csdnimg.cn/img_convert/26339080a9e833e401cb1081fe066363.png
点 配置
https://img-blog.csdnimg.cn/img_convert/361f5e57151fabbb2665ecd5b659cef6.png
系统
https://img-blog.csdnimg.cn/img_convert/fbaa02758df63f617d87020aee0c9b68.png
日志
https://img-blog.csdnimg.cn/img_convert/8606405370efc3e65cc5a22829c5fc5d.png
此处可以查看外部访问的错误日志
https://img-blog.csdnimg.cn/img_convert/15a86679d6f544b80d482fdfe37cc478.png
在NAS中编辑文件,需要安装 文本编辑器 套件
https://img-blog.csdnimg.cn/img_convert/dfd7ec033e168052cce37baa3a4fe589.png
在/docker/中找到 configuration.yaml 配置文件,右键使用编辑器打开
https://img-blog.csdnimg.cn/img_convert/0573dcb40957b0af391b4874e20c004b.png
在最后 粘贴如下一段代码:
https://img-blog.csdnimg.cn/img_convert/4b67beb264ec8387a002c5447f21c638.png
下面ip地址就是我们上面查看日志提示的那个ip地址,此处需要自行修改
http:
use_x_forwarded_for: true
trusted_proxies:
    - 192.168.50.31
https://img-blog.csdnimg.cn/img_convert/47b85cd4f38c1aed77353c7bfb2843fe.png
保存修改
https://img-blog.csdnimg.cn/img_convert/93de8fa7fef2413a797529d42efaea56.png
重启容器
https://img-blog.csdnimg.cn/img_convert/01860c3b005df237b19cc4eb0f173cec.png
刷新 公网访问的网页,输入用户名密码进入:
https://img-blog.csdnimg.cn/img_convert/a99c426a3b44239c63bed8b043702573.png
https://img-blog.csdnimg.cn/img_convert/a0b583d63de8e247f26c2f8e32f8d86e.png
要注意的是,以上步骤使用的是随机临时端口地址,所生成的公网地址为随机临时地址,该公网地址24小时内会随机变化。我们接下来为其配置固定的端口地址,该地址不会变化,设置后将无需每天重复修改地址。
三、使用固定域名访问HomeAssistant

登录cpolar官网,点击左侧的预留,找到保留的tcp地址,我们来为HomeAssistant保留一个固定二级子域名。
https://img-blog.csdnimg.cn/img_convert/1abd871cd3f68926a141873d7b8d6ae0.png
保留成功后复制保留的二级子域名地址
https://img-blog.csdnimg.cn/img_convert/3ddc55a2702c258d6ab865b87cf8cfb3.png
修改隧道信息,将保留成功的二级子域名配置到隧道中


[*]域名类型:选择二级子域名
[*]Sub Domain:填写保留成功的二级子域名
[*]地区选择 官网后台保留的地区(保持一致)
点击更新
​ 更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了保留过的二级子域名名称,将其复制下来
https://img-blog.csdnimg.cn/img_convert/cdcb2d04b42b4363a62ced6dda7b6a6a.png
复制粘贴,即可使用固定的公网ip登录。
https://img-blog.csdnimg.cn/img_convert/b713897207ffa1a4b12680020b243cf2.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 使用群晖Docker搭建HomeAssistant并实现异地公网访问家中智能设备