代码疯子 - IT技术交流论坛-无限Perfect,追求梦想

 找回密码
 立即注册

用百度帐号登录

只需两步,快速登录

QQ登录

只需一步,快速开始

搜索
热搜: 教程 软件 源码
查看: 187|回复: 17

[N1盒子] 基于openwrt固件下docker搭建mqtt、hass接入homekit实现Siri...

[复制链接]

1

主题

3

帖子

141

积分

菜鸡疯子

Rank: 2

积分
141
发表于 2020-6-13 21:25:18 | 显示全部楼层 |阅读模式
笔者的N1固件版本是gd772大的36+版本,所有操作理论上是没有版本区别的。
N1是主路由模式,取消桥接,已添加防火墙规则
环境:
  • 主路由 K2P  IP地址192.168.0.2  DHCP关闭,网关以及dns指向192.168.0.8
  • 旁路由 N1 IP地址192.168.0.8  DHCP开启   
  • Home-Assistant  IP地址192.168.0.3   
  • RabbitMQTT  IP地址192.168.0.4
刷的固件:
DC1刷机教程:https://a2633063.github.io/zDC1/
TC1刷机教程:https://a2633063.github.io/zTC1/
M1刷机教程:https://a2633063.github.io/zM1/

效果图:

                               
登录/注册后可看大图
以下所有操作在ssh(终端)完成,拉取镜像需要自备梯(全局,我是电信的,好像不要梯也行)
这用的是RabbitMQTT部署的,实际上来说和其他mqtt相比稍微有点大
2020-3-1更新:hass是自带有MQTT的,具体使用请看链接:https://www.home-assistant.io/integrations/mqtt

第一部分:环境程序搭建
RabbitMQTT部署
// 新建配置目录
  1. mkdir -p /mnt/mmcblk1p3/rabbitmqtt/confdir /mnt/mmcblk1p3/rabbitmqtt/workdir
复制代码

// 设置rabbitmqtt目录 777权限,否则会提示权限不足,启动容器失败
  1. chmod -R 777 /mnt/mmcblk1p3/rabbitmqtt/
复制代码

// 开启网卡混杂模式
  1. ip link set eth0 promisc on
复制代码

// 新建macvlan模式 子网掩码192.168.0.0/24  网关192.168.0.8  网卡名称eth0  macvlan名称macne
  1. docker network create -d macvlan --subnet=192.168.0.0/24 --gateway=192.168.0.8 -o parent=eth0 macne
复制代码

// 容器名称some-rabbit  macvlan名称macne IP地址192.168.123.4 后面就是配置目录以及镜像了
  1. docker run -d --restart=always --name some-rabbit --network macne --ip=192.168.0.4 -v /etc/localtime:/etc/localtime:ro -v /mnt/mmcblk1p3/rabbitmqtt/workdir:/var/lib/rabbitmq -v /mnt/mmcblk1p3/rabbitmqtt/confdir:/etc/rabbitmq arm64v8/rabbitmq
复制代码

/ /查看容器的ID
  1. docker ps
复制代码



// 举例容器ID66b76e8bd266 手动开启rabbitmq_management插件,rabbitmq_mqtt插件和rabbitmq_web_mqtt插件
  1. docker exec 66b76e8bd266 rabbitmq-plugins enable rabbitmq_management
  2. docker exec 66b76e8bd266 rabbitmq-plugins enable rabbitmq_mqtt
  3. docker exec 66b76e8bd266 rabbitmq-plugins enable rabbitmq_web_mqtt
复制代码

// 默认有guest账户,密码guest  但仅限本地测试
// 新增daimafengzi用户,密码demodemo   设置虚拟机以及管理员权限
  1. docker exec 66b76e8bd266 rabbitmqctl add_user daimafengzi demodemo
  2. docker exec 66b76e8bd266 rabbitmqctl set_permissions -p / daimafengzi ".*" ".*" ".*"
  3. docker exec 66b76e8bd266 rabbitmqctl set_user_tags daimafengzi administrator
复制代码

// 查看容器是否启动
  1. docker ps
复制代码

                               
登录/注册后可看大图


确认启动成功过了,浏览器打开 ip:15672  进行访问mqtt,举例192.168.123.4:15672

15672 是rabbitmq management管理界面默认访问端口
5672 是amqp默认端口
1883 是mqtt tcp协议默认端口
15675 是web_mqtt ws协议默认端口

Home-assistant部署
// 新建配置目录
  1. mkdir -p /mnt/mmcblk1p3/home-assistant/confdir
复制代码


// 网络模式 macne  固定ip192.168.0.3  容器名字home-assistants 配置目录/mnt/mmcblk1p3/home-assistant/confdir  镜像地址homeassistant/aarch64-homeassistant:latest
  1. docker run -d --restart=always --name home-assistants --network macne --ip=192.168.0.3 --privileged -e TZ=Asia/Shanghai -v /etc/localtime:/etc/localtime:ro -v /mnt/mmcblk1p3/home-assistant/confdir:/config homeassistant/aarch64-homeassistant:latest
复制代码
// 查看是否正常启动
  1. docker ps
复制代码
确认启动成功过了,浏览器打开 ip:8123  进行访问hass,举例192.168.0.3:8123

第二步:环境配置


一:Home-assistant链接MQTT
登录Home-assistant。依次点击 配置--->右下角的+号--->搜索MQTT--->填写服务器地址192.168.0.4,端口不变。账号是刚刚设置的:daimafengzi 密码是:demodemo

                               
登录/注册后可看大图


二:修改Home-assistant使M1和DC1能接入文件路径:
  1. /mnt/mmcblk1p3/home-assistant/confdir
复制代码
添加固件所提供的配置文件内容。这边我贴出我自己的内容给大家参考!(在文章末尾)
请点击此处下载

查看状态:已购买或有权限

您的用户组是:游客

文件名称:蓝奏网盘 
下载次数:6  文件大小:网盘资源 
下载权限: 不限  以上或 VIP会员   [购买VIP]   [充值铜板]  [免费赚铜板]


请点击此处下载

查看状态:已购买或有权限

您的用户组是:游客

文件名称:百度网盘 提取码: 294m 
下载次数:1  文件大小:网盘资源 
下载权限: 不限  以上或 VIP会员   [购买VIP]   [充值铜板]  [免费赚铜板]



三:启用homekit,使苹果手机的家庭,能接入HA
启用homekit仅需一个单词,在configuration.yaml随意一行填写“homekit:” (带冒号的,路径是:
  1. /mnt/mmcblk1p3/home-assistant/confdir/configuration.yaml
复制代码


记得保存homekit code码,否则你就得重新添加!

// 如忘记homekit code码,需要删除配置目录下的文件,操作完记得重启容器:
  1. rm /mnt/mmcblk1p3/home-assistant/confdir/.homekit.state
复制代码


// 如忘记hass管理账号密码,也可以通过删除文件夹重置,操作完记得重启容器:

  1. rm -rf /mnt/mmcblk1p3/home-assistant/confdir/.storage
复制代码


温馨提示:删除文件夹后,重启容器后配置好账号再设置下mqtt,再次重启容器即可识别设备(别问我怎么知道的,我已经误操作一次了233)

题外docker 命令备忘,查看docker容器挂载目录。container_id为容器名称或者容器ID
  1. docker inspect container_id | grep Mounts -A 20
复制代码


MQTT的容器一定得要在HASS前面启动完成


第三步:接入设备

                               
登录/注册后可看大图



                               
登录/注册后可看大图



                               
登录/注册后可看大图



第四步:接入苹果家庭


打开苹果自带家庭app,点击添加配件,手动输入配置码,会自动接入所有开关到家庭app

                               
登录/注册后可看大图

欢迎光临IT技术交流论坛:https://www.daimafengzi.com
省钱君,您的省钱专家:https://www.sqjun.com

0

主题

10

帖子

3

积分

菜鸡代码

Rank: 1

积分
3
发表于 2020-6-21 23:11:24 | 显示全部楼层
谢谢,紫薯布丁
欢迎光临IT技术交流论坛:https://www.daimafengzi.com
省钱君,您的省钱专家:https://www.sqjun.com
回复

使用道具 举报

0

主题

1

帖子

0

积分

菜鸡代码

Rank: 1

积分
0
发表于 2020-6-21 23:11:30 | 显示全部楼层
谢谢,紫薯布丁
欢迎光临IT技术交流论坛:https://www.daimafengzi.com
省钱君,您的省钱专家:https://www.sqjun.com
回复

使用道具 举报

0

主题

2

帖子

1

积分

菜鸡代码

Rank: 1

积分
1
发表于 2020-6-21 23:11:36 | 显示全部楼层
谢谢,紫薯布丁
欢迎光临IT技术交流论坛:https://www.daimafengzi.com
省钱君,您的省钱专家:https://www.sqjun.com
回复

使用道具 举报

0

主题

5

帖子

2

积分

菜鸡代码

Rank: 1

积分
2
发表于 2020-7-9 23:20:14 | 显示全部楼层
楼上的心情不错啊!
欢迎光临IT技术交流论坛:https://www.daimafengzi.com
省钱君,您的省钱专家:https://www.sqjun.com
回复

使用道具 举报

0

主题

3

帖子

1

积分

菜鸡代码

Rank: 1

积分
1
发表于 2020-7-12 14:52:40 | 显示全部楼层
青春不在了,青春痘还在!
欢迎光临IT技术交流论坛:https://www.daimafengzi.com
省钱君,您的省钱专家:https://www.sqjun.com
回复

使用道具 举报

0

主题

2

帖子

1

积分

菜鸡代码

Rank: 1

积分
1
发表于 2020-7-13 02:10:04 | 显示全部楼层
楼主的文笔不错!
欢迎光临IT技术交流论坛:https://www.daimafengzi.com
省钱君,您的省钱专家:https://www.sqjun.com
回复

使用道具 举报

1

主题

6

帖子

2

积分

菜鸡代码

Rank: 1

积分
2
发表于 2020-7-15 14:51:24 | 显示全部楼层
读了楼主的帖子,顿时马桶就通了。。。
欢迎光临IT技术交流论坛:https://www.daimafengzi.com
省钱君,您的省钱专家:https://www.sqjun.com
回复

使用道具 举报

0

主题

3

帖子

1

积分

菜鸡代码

Rank: 1

积分
1
发表于 2020-7-19 21:28:45 | 显示全部楼层
楼主的病已经好了百分之六十二了!
欢迎光临IT技术交流论坛:https://www.daimafengzi.com
省钱君,您的省钱专家:https://www.sqjun.com
回复

使用道具 举报

0

主题

2

帖子

1

积分

菜鸡代码

Rank: 1

积分
1
发表于 2020-7-20 18:39:49 | 显示全部楼层
小弟默默的路过贵宝地~~~
欢迎光临IT技术交流论坛:https://www.daimafengzi.com
省钱君,您的省钱专家:https://www.sqjun.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 用百度帐号登录

本版积分规则

QQ|Archiver|手机版|小黑屋|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2020-8-5 15:17 , Processed in 0.276190 second(s), 40 queries , Gzip On, MemCache On.

Powered by DaiMaFengZi.CoM

Copyright © 2001-2020, Sqjun.CoM.

快速回复 返回顶部 返回列表