Категории
Настройка Raspberry Pi 5 для умного дома: MQTT, Zigbee и PHP-интерфейс
19.07.2025 | из категории: IOT умный дом
Необходимое оборудование
Для создания собственного хаб-центра умного дома на Raspberry Pi 5 вам потребуется:
- Raspberry Pi 5 (рекомендуется 4ГБ+ RAM)
- Карта microSD (32ГБ Class 10 или выше)
- Zigbee-адаптер (CC2531, CC2652 или аналогичный)
- Блок питания USB-C (минимум 3А)
- Корпус с охлаждением (опционально)
- Ethernet-кабель или Wi-Fi-адаптер
Совет: Для стабильной работы Zigbee используйте USB-удлинитель, чтобы отнести адаптер от Raspberry Pi.
Введение
Создание собственного центра управления умным домом на Raspberry Pi 5 - это отличный способ получить полный контроль над своей домашней автоматизацией. В отличие от готовых решений, самописная система на PHP позволяет реализовать любые сценарии и интеграции, которые вам нужны.
В этой статье я подробно расскажу, как:
- Выбрать и установить оптимальную ОС
- Настроить MQTT-брокер для обмена сообщениями между устройствами
- Интегрировать Zigbee-устройства через Zigbee2MQTT
- Развернуть легковесный веб-интерфейс на PHP
Требования и подготовка
Перед началом работы убедитесь, что:
- У вас есть доступ к Raspberry Pi (прямо или через SSH)
- Установлена свежая версия Raspberry Pi OS (64-bit)
- Выполнены базовые обновления системы (
sudo apt update && sudo apt upgrade -y) - Есть статический IP-адрес или настроен DHCP-резервация
Важно: Для работы Zigbee2MQTT потребуется Node.js версии 16.x или выше. Проверить текущую версию можно командой node -v.
Пошаговая настройка системы
1. Установка MQTT-брокера (Mosquitto)
sudo apt install -y mosquitto mosquitto-clients sudo systemctl enable mosquitto sudo systemctl start mosquitto Проверьте работу брокера, подписавшись на тест-топик в одном терминале:
mosquitto_sub -h localhost -t "test"
И отправив сообщение в другом:
mosquitto_pub -h localhost -t "test" -m "Hello MQTT"
2. Настройка Zigbee2MQTT
Установите необходимые зависимости:
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install -y nodejs git make g++ gcc
Клонируйте и настройте Zigbee2MQTT:
sudo mkdir /opt/zigbee2mqtt
sudo chown $USER /opt/zigbee2mqtt
git clone --depth 1 https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt
cd /opt/zigbee2mqtt
npm install
Настройка веб-интерфейса на PHP
Установите nginx и PHP:
sudo apt install -y nginx php-fpm php-curl php-mbstring php-xml
Создайте базовую структуру проекта:
sudo mkdir -p /var/www/homeassistant sudo chown -R $USER:$USER /var/www/homeassistant cd /var/www/homeassistant
Пример простого index.php для отображения устройств:
<?php $mqtt = new \PhpMqtt\Client\MqttClient('localhost', 1883); $mqtt-> connect(); $devices = json_decode(file_get_contents('http://localhost:8080/api/devices'), true);
foreach ($devices as $device) {
echo "<div class='device'> ";
echo "<h3> " . htmlspecialchars($device['name']) . "</h3> ";
echo "<p> Состояние: " . $device['state'] . "</p> ";
echo "</div> ";
}
?>
Заключение
Теперь у вас есть полностью функциональный хаб для умного дома на Raspberry Pi 5. Дальнейшие шаги по развитию системы:
- Реализовать авторизацию в веб-интерфейсе
- Добавить поддержку сценариев автоматизации
- Настроить резервное копирование конфигурации
- Интегрировать дополнительные протоколы (Z-Wave, Bluetooth LE)
Самописное решение дает неограниченные возможности для кастомизации и идеально подходит для тех, кто хочет иметь полный контроль над своей системой умного дома.
Но это только для синхронизации зигби устройств. Чтобы управлять с помощью сценариев нужно делать свою систему типо хомасистента ну или установить хомасистент. Я делал самописную систему для умного дома на пхп хомасистент для iot устройств. Но это начальная версия уже все переделано сто раз. Но как обзорная статья про умный дом сойдет