raspberry pi: pi-zwave01¶
pi-zwave01 is a Raspberry Pi 4 Model B. it holds the USB radios for home automation, keeps time from a GPS and serves it to the LAN, and shows its status on a small OLED. it is a standalone docker host outside the swarm, and its stacks deploy from git like everything else.
see backups for how the data side is covered.
OS¶
| hardware | Raspberry Pi 4 Model B Rev 1.5 |
| OS | Debian 13 (trixie), 64 bit, with the Raspberry Pi archive for the kernel and firmware |
| installed with | Raspberry Pi Imager, which sets up first boot through cloud-init |
before you edit these two files, know that cloud-init keeps owning them after first boot:
/etc/hostsis regenerated from/etc/cloud/templates/hosts.debian.tmpl(manage_etc_hostsis on)/etc/ssh/sshd_config.d/50-cloud-init.confsetsPasswordAuthentication yes
boot config¶
these are the lines in /boot/firmware/config.txt that matter for this pi:
dtparam=i2c_arm=on # i2c for the OLED
enable_uart=1 # serial port for the GPS
dtoverlay=disable-bt # gives the GPS the full UART instead of the mini UART
dtoverlay=pps-gpio,gpiopin=4 # the GPS PPS line on GPIO 4 becomes /dev/pps0
to keep the kernel's login console off the port the GPS uses,
/boot/firmware/cmdline.txt has no console=serial0.
with that, /dev/serial0 points at /dev/ttyAMA0 and /dev/pps0 exists.
network¶
NetworkManager has one ethernet profile with static addresses, in
/etc/NetworkManager/system-connections/LAN.nmconnection:
[connection]
id=LAN
type=ethernet
interface-name=eth0
[ipv4]
method=manual
address1=192.168.1.96/24
gateway=192.168.1.1
dns=192.168.1.35;192.168.1.36;
dns-search=mydomain.com;
[ipv6]
method=manual
address1=2001:db8:1000:1::96/64
gateway=2001:db8:1000:1::1
dns=2001:db8:1000:1::35;2001:db8:1000:1::36;
dns-search=mydomain.com;
the DNS servers are my two internal DNS servers, not the AdGuards.
on these pages¶
- docker and stacks - docker, the portainer agent, the radios, and each container
- thread radio - the SkyConnect shared over the network with ser2net
- gps time - gpsd and chrony, serving stratum 1 time to the lan
- poe hat oled - the status display
backups¶
the pi backs up hourly to PBS: /docker-data, plus reference copies of /etc,
/usr/local, /root and /home. see
raspberry pi to PBS.