Итак, у нас с Вами есть чистая установка и сервер умного дома и мы хотим расширять его. Можно подключить много устройств на базе микроконтроллеров. Общаются они обычно простым способом, т.к. железо МК не слишком быстрое. Одним из таких протоколов является MQTT. Поэтому установим себе сервер MQTT.
В интернете много разных инструкций и многие из них чрезмерно сложны для новичка. Также все они отличаются по содержанию иногда значительно. Возникает еще больше вопросов. У меня получилось установить довольно просто. Скорее всего я допустил 100500 ошибок при этом, но факт в том, что у меня все работает и мне этого достаточно.
Устанавливать будем в Docker. Почему? Ответ простой - с контейнерами проще работать и сложнее что-то сломать. И всегда легко все переустановить парой щелчков мыши. Итак, я делаю следующее:
1. Логинюсь в ssh и захожу под su
2. Обновляю индексы репозиториев и устанавливаю все доступные обновления
apt-get update
apt-get upgrade -y
3. водим команду
docker run --name mosquitto --restart=always --net=host -itd -v /PATH_TO_YOUR_CONFIG eclipse-mosquitto
Вместо /PATH_TO_YOUR_CONFIG пишем адрес установки, у меня это home/@user/smarthome/mqtt
4. Вводим команду
docker exec -it mosquitto moscuitto_passwd -c /mosquitto/config/passwd @user
где вместо @user мы подставляем своего пользователя, затем дважды вводим пароль. На этом все. Указываем данную пару логин/пароль во всех устройствах, которые подключаем к mqtt
В Portainer можем увидеть контейнер, а в логах будут все наши сообщения от устройств
На этом все, можно работать с mqtt.
Также instagram канала и telegram канала