ZigBee на Raspberry, часть 2, установка софта
Итак, в первой части мы прошили стикер CC2531, теперь наша малинка готова стать шлюзом. Обычно схема работы Raspberry следующая:

ZigBee2MQTT — нужен для того чтобы принять пакеты со стика CC2531 и отправить их в брокер сообщений. Которые в дальнейшем уже обработают скрипты для автоматизации чего-либо.
Сначала поставим брокер сообщений mosquitto (как самое легкое):
|
1 |
sudo apt-get install mosquitto |
И настроим файл конфигурации /etc/mosquitto/mosquitto.conf :
|
1 2 3 4 5 6 7 |
pid_file /run/mosquitto/mosquitto.pid persistence true persistence_location /var/lib/mosquitto/ log_dest file /var/log/mosquitto/mosquitto.log include_dir /etc/mosquitto/conf.d allow_anonymous true # доступ для всех listener 1883 0.0.0.0 # слушаем все сетевые адреса |
Можно задать логин пароль для доступа, и разрешить слушать только localhost, но я это считаю излишним, т.к. всё равно чаще всего raspberry pi лежит в локальной сети и в интернет не смотрит. Далее включаем службу и стартуем её:
|
1 2 |
sudo systemctl enable mosquitto sudo systemctl restart mosquitto |
Теперь ставим и настраиваем ZigBee2MQTT. Можно по туториалу на сайте разработчиков, а можно так, как описано ниже (без подробностей).
|
1 2 3 4 5 6 7 8 9 |
sudo apt-get install nodejs git corepack enable sudo mkdir /opt/zigbee2mqtt sudo chown -R ${USER}: /opt/zigbee2mqtt git clone --depth 1 https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt cd /opt/zigbee2mqtt pnpm install --frozen-lockfile cd /opt/zigbee2mqtt pnpm start |
После успешного старта будет доступен веб интерфейс для дальнейшей настройки в браузере http://ip:8080. Необходимо зайти, выбрать порт где расположен стик, и ввести данные для подключения к брокеру. После сохранить. Конфиг будет сохранен в /opt/zigbee2mqtt/data/configuration.yaml
Далее оформим запуск ZigBee2MQTT как службу, создав и сохранив файл:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
[Unit] Description=zigbee2mqtt After=network.target [Service] Environment=NODE_ENV=production Type=notify ExecStart=/usr/bin/node index.js WorkingDirectory=/opt/zigbee2mqtt StandardOutput=inherit # Or use StandardOutput=null if you don't want Zigbee2MQTT messages filling syslog, for more options see systemd.exec(5) StandardError=inherit WatchdogSec=10s Restart=always RestartSec=10s User=pi [Install] WantedBy=multi-user.target |
|
1 2 |
sudo systemctl enable zigbee2mqtt sudo systemctl start zigbee2mqtt |
Ну и теоретически всё. По идее можно подключать устройства zigbee. В следующей части собственно это и рассмотрю.





