README.md

Mamibot MQTT v2

Описание

Этот скрипт предназначен для взаимодействия с устройством Mamibot через MQTT-брокер. Он отправляет статус и информацию об устройстве, а также принимает команды от брокера.

Зависимости

  • Mosquitto MQTT: для публикации и подписки на топики.
  • jq: для обработки JSON-ответов.
  • a.out: для получения данных от bvrobot
  • sendbvmsg: для передачи команд в bvrobot

Конфигурация

В начале скрипта установлены следующие параметры:

  • broker: адрес MQTT-брокера.
  • port: порт брокера.
  • topic_s, topic_i, topic_cmd, response_topic: топики для публикации и подписки.
  • client_id: идентификатор клиента.
  • username, password: учетные данные для подключения к брокеру.

Функции

send_message()

Отправляет сообщения на брокер. Принимает два параметра: тип топика (s для статуса, i для информации) и сообщение.

response_message()

Форматирует и отправляет ответ на брокер. Принимает массив строк и отправляет их как одно сообщение.

on_message()

Обрабатывает входящие сообщения. Выполняет команду из сообщения и отправляет результат обратно на брокер.

check_and_restart_mosquitto_sub()

Проверяет, запущен ли процесс mosquitto_sub, и если нет, перезапускает его.

Основной цикл

В основном цикле скрипт:

  • Отправляет статус и информацию об устройстве каждые send_interval секунд.
  • Обрабатывает входящие команды.
  • Проверяет состояние подписки на брокер и перезапускает её при необходимости.

Завершение

В конце скрипта удаляется временный файл с данными и завершается процесс mosquitto_sub.

Запуск

Скрипт должен быть запущен с правами суперпользователя, так как он взаимодействует с системными процессами.

sudo ./script.sh

Примечания

  • Убедитесь, что у вас есть необходимые права для выполнения команд и чтения файлов, указанных в скрипте.
  • Обновите параметры в начале скрипта для соответствия вашей конфигурации MQTT-брокера и устройства.
  • Этот скрипт предназначен для работы в среде Linux с установленными зависимостями.
Конвейеры
0 успешных
0 с ошибкой