# ~/.config/systemd/user/tiny-beacon.service — TinyBeacon v2 + Tiny Catalog GATT on a Linux tiny node (ROLLOUT.md step 5, SPEC §3) # install: mkdir -p ~/.config/systemd/user ~/.tiny/bin && cp tiny_beacon.py ~/.tiny/bin/ && cp tiny-beacon.service ~/.config/systemd/user/ # systemctl --user daemon-reload && systemctl --user enable --now tiny-beacon && loginctl enable-linger $USER # needs: python3-dbus python3-gi (Ubuntu/Debian ship both) and the user in the `bluetooth` group for the D-Bus path. # interval: bluetoothd ≤ 5.7x only honours the 250–400 ms advertising interval with `Experimental = true` in # /etc/bluetooth/main.conf [General] (then `sudo systemctl restart bluetooth`); otherwise the kernel's 1280 ms applies. # kind: edit --kind (linux · reachy · q-brain …). The tool count/names come from the running tiny-tech daemon # (--tools-from daemon); a node without tiny-tech uses --tools N. Anonymous by default — --social puts the name on air. [Unit] Description=tiny BLE presence beacon + Tiny Catalog GATT (TinyBeacon v2, anonymous, account mine tag) After=bluetooth.target network-online.target Wants=bluetooth.target [Service] Type=simple Environment=PYTHONUNBUFFERED=1 ExecStart=/usr/bin/python3 %h/.tiny/bin/tiny_beacon.py --kind linux --tools-from daemon --via auto --fetch-secret Restart=on-failure RestartSec=10 [Install] WantedBy=default.target