home assistant启用mqtt步骤

1、增加一个用户(需选中允许此人登录)并设置密码

2、在加载项中加载mqtt broker

3、在集成中添加mqtt并配置第1步设置的用户名和密码

树莓派共享目录

sudo apt-upgrade
sudo apt install samba samba-common-bin
mkdir /path/to/shared-directory
sudo chmod 777 /path/to/shared-directory

配置Samba共享设置。编辑配置文件/etc/samba/smb.conf,在文件末尾添加以下内容:

[SharedDirectory]
   path = /path/to/shared-directory
   read only = no
   browsable = yes

增加权限

sudo smbpasswd -a pi

重启Samba服务:

sudo systemctl restart smbd nmbd

树莓派安装tailscale

Tailscale 是一个 VPN 服务,可以让你的树莓派通过安全链接互联制连接到其他设备。以下是在树莓派上安装 Tailscale 的步骤:

  1. 更新树莓派的软件包列表:sudo apt update
  2. 安装 Tailscale:curl https://tailscale.com/install.sh | SH_INSTALL_DATA_DIR=/var/lib/tailscale sudo bash
  3. 启动 Tailscale 服务:
  4. sudo systemctl enable tailscaled
  5. sudo systemctl start tailscaled
  6. 如果你还没有 Tailscale 帐号,你需要在浏览器中访问 https://login.tailscale.com 来注册一个帐号。
  7. 在你的树莓派设备上,登录 Tailscale 控制台:sudo tailscale up
  8. 如果你的设备已经被 tailscale 控制台认证,它将会被自动添加到你的网络中。
  9. 完成安装后,你可以通过运行以下命令来检查 Tailscale 状态:tailscale status

以上步骤会引导你完成在树莓派上安装和设置 Tailscale 的过程。需要注意的是,在实际使用时,你可能需要根据你的网络环境和需求进行相应的配置调整。

关于docker及容器

docker开机自动启动容器,以homeassistant为例(设置为只要docker守护进程启动,容器就会自动重启):

docker update --restart=always homeassistant

解释:

Docker 容器在默认情况下不会在系统启动时自动启动。这是因为 Docker 容器有自己的生命周期,并且在创建容器时,你需要明确指定是否要在启动 Docker 守护进程时自动启动容器。

解决方法:

  1. 使用 docker run 命令时,加上 --restart 选项来指定重启策略。例如:docker run -d --restart=always 容器镜像这里的 -d 表示后台运行,--restart=always 表示无论退出代码是什么,只要 Docker 守护进程启动,容器就会自动重启。
  2. 如果容器已经运行,你可以使用 docker update 命令来更新容器的重启策略。例如:docker update --restart=always 容器名或ID
  3. 如果你使用的是 Docker Compose,可以在 docker-compose.yml 文件中为服务设置 restart: always。例如:services:your-service:image:容器镜像restart:always

确保你的 Docker 版本支持该功能,并且在启动容器之前或更新容器配置后,检查 Docker 守护进程是否配置为在启动时自动启动:

sudo systemctl enable docker

以上步骤可以确保在系统启动时自动启动 Docker 容器。

andoq 安装openwrt

玩客云刷Armbian->安装Docker->安装openwrt / 安装青龙面板 极简教程(成功率高 拿走不谢)_armbian安装openwrt-CSDN博客

#安装docker可视面板
docker run --restart always --name fast -p 8081:8081 -d -v /var/run/docker.sock:/var/run/docker.sock wangbinxingkong/fast
#打开网卡混杂模式 
ip link set eth0 promisc on
#创建网络:你的网络是多少段 X 就填多少,其他的数字不要乱改!
docker network create -d macvlan --subnet=192.168.X.0/24 --gateway=192.168.X.1 -o parent=eth0 macnet
#拉取镜像
docker pull jyhking/onecloud:1.1
#然后配置一下
docker run -itd --name=OneCloud --restart=always --network=macnet --privileged=true jyhking/onecloud:1.1 /sbin/init

#路由后台查看openwrt的ip地址->直接网页登陆IP 【账号:root 密码:password】 

树莓派中装docker,docker中装openwrt – 知乎 (zhihu.com)

自定义固件安装

scp openwrt-03.20.2024-rockchip-armv8-panther_x2-rootfs.tar.gz root@192.168.0.105:/root/

gunzip openwrt-03.20.2024-rockchip-armv8-panther_x2-rootfs.tar.gz
#使用docker import命令导入到docker,把镜像命名为openwrt
docker import openwrt-03.20.2024-rockchip-armv8-panther_x2-rootfs.tar openwrt
#检查镜像是否导入成功
docker image ls
#创建docker网络
#打开网卡混杂模式,使网卡可以接收任何流量
ip link set eth0 promisc on
#上面的命令是临时性的,重启失效。如果打算把openwrt设置成开机自动启动的话,需要改成永久有效。编辑/etc/rc.local文件,添加一行:

ip link set eth0 promisc on
#创建docker网络,网络驱动程序为macvlan,网络命名为openwrt,子网和网关根据实际情况修改
docker network create -d macvlan --subnet=192.168.0.0/24 --gateway=192.168.0.1 -o parent=eth0 openwrt
创建docker容器
使用docker run创建容器,命令格式:docker run [选项] 镜像名 命令。

docker run --restart always --name openwrt -d --network openwrt --privileged openwrt /sbin/init

openwrt基本配置
openwrt启动后,执行docker exec进入容器

docker exec -it openwrt /bin/sh
修改openwrt的root密码

passwd
编辑openwrt的/etc/config/network文件,在config interface 'lan' 一节,把设备改成eth0,把其中的ip并改成想要的ip,这里改成192.168.0.254。添加一行网关:option gateway '192.168.0.1'其他无用配置也可以删掉
重启openwrt网络,使修改生效。

service network restart

设置一下开机自动启动

docker update --restart=always openwrt
docker update --restart=always homeassistant

不加ha会导致ha启动失败