Скрыть объявление
Управляйте вашими ESP8266 и другими устройствами прямо с телефона из любой точки мира, где есть интернет!
Подробности и обсуждение IoT Manager в этой теме. Официальный сайт приложения и документация IoTmanager.ru
Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

Конфигурация IoT Manager для умного дома на MQTT

Тема в разделе "IoT Manager – мобильное приложение", создана пользователем lingvo, 28 апр 2017.

  1. lingvo

    lingvo Новичок

    Сообщения:
    7
    Симпатии:
    0
    Здравствуйте.
    В поисках подходящего MQTT клиента для iOS для удаленного управления умным домом наткнулся на данное приложение. Установил, подключился к брокеру, но споткнулся на настройке виджетов:
    Нигде не нахожу документации о пошаговой настройке и загрузке виджетов для IoT Manager, когда у тебя НЕ ESP8266 и НЕ Arduino.
    Т.е. в моем случае у меня есть контроллер УД, который подключен к CloudMQTT и шлет туда текущие состояние в виде топиков(например) "/myhome/in/Temperature_Hall" со значением "20.6".
    Как мне отобразить эти значения виджетами в IoT Manager?
    И наоборот - УД реагирует на сообщения "ON" "OFF", посланные с топик(например) "/myhome/command/Light_Hall/state". Как мне сделать управление с виджета?

    Может я не там ищу, но нигде не могу найти документацию. Пробовал в топик /IoTmanager/exchange/input/ посылать что-то вроде:
    {
    "id" : "0",
    "status" : "My Home",
    "widget" : "anydata",
    "page" : "Kitchen",
    "pageId" : 10,
    "topic" : "/myhome/in/Temperature_Hall",
    "class1" : "item no-border",
    "style2" : "font-size:40px;line-height:3em;",
    "class3" : "calm text-center",
    "style3" : "font-size:40px;font-weight:bold;"
    }
    ругается: {"result":500,"obj":"cmd","msg":"No cmd field"}

    Помогите пожалуйста. Если будет документация по универсальной настройке для любых MQTT систем - придет огромная популярность.
     
  2. Victor

    Victor Administrator Команда форума

    Сообщения:
    2.182
    Симпатии:
    368
    IoT Manager предполагает, что данные будут отправлены в соответствии с его внутренним протоколом. Есть протокол v1 и v2, описание - в официальной документации Протокол обмена · IoT Manager
    для IoT Manager не важно кто посылает данные - главное, чтобы в правильном формате и в соответствии с протоколом. Есть примеры на NodeJS, bash, python GitHub - 4refr0nt/iot-manager-demo: Demo sketches for IoT Manager https://play.google.com/store/apps/details?id=ru.esp8266.iotmanager
    это возможно, но будет трудновато, т.к. в IoT Manager только зачатки протокола Domoticz (поддержка Domoticz оказалась не востребована пользователями, поэтому не получила развития).
    Инструкция (на английском) на примере ESPeasy здесь ESPEasy sensors data on your mobile devices without coding - Let's Control It

    Ну и в общих чертах описание в этом посте IoT Manager - предложения по расширению функционала
     
  3. lingvo

    lingvo Новичок

    Сообщения:
    7
    Симпатии:
    0
    Вот блин. Думал, нашел подходящее приложение, а тут такой облом с какими-то своими протоколами. Неужели нельзя просто сделать виджет, который отображает все, что приходит в нужный топик? И наборот - виджет кнопка, которая при нажатии публикует нужный текст в нужный топик?
    И все, мне больше ничего не нужно. MQTT тут самодостаточен. Неужели это невозможно?

    Ладно. Попробую по вашему:
    Пример конфигурационной строки можно? В какой топик ее слать? Почему надо ждать "HELLO", а не сделать так, чтобы конфиг хранился на брокере, как retain message и IoT Manager получал его автоматически при подключении к брокеру и подписке?
     
  4. Victor

    Victor Administrator Команда форума

    Сообщения:
    2.182
    Симпатии:
    368
    Возможно, есть куча других приложений с поддержкой MQTT.
    поверьте, у меня нет физической возможности пересказывать то, что есть в документации и примерах 20 тысячам пользователей IoT Manager.
    Это не упрек в ваш адрес, но если вы не любите что-то делать самостоятельно по документации и примерам, то это приложение вряд ли вам подойдет.

    Эти вопросы уже обсуждались - воспользуйтесь поиском
     
  5. lingvo

    lingvo Новичок

    Сообщения:
    7
    Симпатии:
    0
    К сожалению для iOS я пока не нашел. Я готов заплатить за такое приложение.
    Я не прошу пересказывать. Я прошу дать ссылки на документацию. Если этого нет в документации, то по-моему, это проблема разработчика. Еще раз, где в документации сказано - в какой топик слать конфигурацию и в каком формате?
     
  6. Victor

    Victor Administrator Команда форума

    Сообщения:
    2.182
    Симпатии:
    368
    Если это реальное предложение, то можем его обсудить в приватной беседе.
    Все топики даны в описании протокола Протокол обмена · IoT Manager
    Обычно, это проще понять на примерах. Посмотрите простые примеры на NodeJS, например этот iot-manager-demo/toggle.js at master · 4refr0nt/iot-manager-demo · GitHub
     
  7. lingvo

    lingvo Новичок

    Сообщения:
    7
    Симпатии:
    0
    Смотря кому. Я не знаю NodeJS.
    Делаю по описанию:
    Шлю в топик "/IoTmanager/Test_device/config" такую строку:
    { "id" : "0", "status" : "MyHome", "widget" : "anydata", "page" : "Kitchen", "pageId" : 10, "topic" : "Temperature_Hall", "class1" : "item no-border", "style2" : "font-size:40px;line-height:3em;", "class3" : "calm text-center", "style3" : "font-size:40px;font-weight:bold;" }
    В приложении появляется текст MyHome .
    Шлю в топик "/IoTmanager/Test_device/Temperature_Hall/status" строку: {"status" : "2"}
    Ничего не происходит.
     
  8. Victor

    Victor Administrator Команда форума

    Сообщения:
    2.182
    Симпатии:
    368
    в конфиге поменяйте топик на /IoTmanager/Test_device/Temperature_Hall
    т.е. prefix + "/" + deviceID + "/Temperature_Hall"
     
  9. lingvo

    lingvo Новичок

    Сообщения:
    7
    Симпатии:
    0
    Так работает. Т.е. получается, что топик должен иметь формат, проходящий через subscribe фильтр. А этот фильтр можно поменять программно? А то он постоянно сбрасывается в исходный. Идеально было бы, чтобы IoT Manager автоматом подписывался на указанный в Widget топик.
     
  10. Victor

    Victor Administrator Команда форума

    Сообщения:
    2.182
    Симпатии:
    368
    IoTmanager при подключении подписывается на все топики /IoTmanager/+/config и /IoTmanager/+/+/status, но парсит и визуализирует только те данные, внешний вид которых описан в конфигах, которые прилетели в ответ на HELLO после подключения.
     
  11. джеки

    джеки Новичок

    Сообщения:
    15
    Симпатии:
    0
    victor у меня та-же самая проблема с которой столкнулся lingvo...в частности на закупал этих esp8266- модулей научился их прошивать ...вроде разобрался с брокерами.....а вот виджеты эти трудно настраиваемые(да и примеров-то НЕТ на самом деле по настоящему рабочих )......короче полная ЖО....А....я извиняюсь конечно(так хочется громко материться) три дня сижу врубиться не могу(на видео-то видно как кнопочки нажимают на виджетах......а как эти виджеты вообще функционируют обмен данными, настройка и т.д и т.п этого нету ДАЖЕ МАЛЕНЬКОЙ ИНСТРУКЦИ как это всё должно работать нет нигде).....обидно конечно прошёл такой длинный путь , а подключить готовую ESPшку не могу........
     
  12. джеки

    джеки Новичок

    Сообщения:
    15
    Симпатии:
    0
    и вообще мне не понятно то что примеры IoTmanager.ino эти даже не запускаются на ардуино.....застревает на -- PubSubClient client(wclient, server, mqttport); ....как сие понять???? ответьте пожалуйста
     
  13. Victor

    Victor Administrator Команда форума

    Сообщения:
    2.182
    Симпатии:
    368
    да, действительно, порог вхождения для использования IoT Manager высокий для начинающих. Подразумевается, что пользователь уже неплохо разбирается с MQTT, JSON, HTML5 и CSS3. Если вы разберетесь с этим, то дальше будет просто. Или начните с какого-нибудь blynkа.
    все здесь Главная · IoT Manager, в обсуждениях у нас на форуме и в примерах на гитхабе. Кратко здесь IoT Manager - предложения по расширению функционала
     
  14. Victor

    Victor Administrator Команда форума

    Сообщения:
    2.182
    Симпатии:
    368
    Понять просто. В каждом примере вверху в комментах ссылка на "правильную" библиотеку PubSubClient от Imroy (только она поддерживает достаточный размер payload в MQTT сообщениях). И я об этом писал уже много раз. Но вы ведь не читали, правда? Поэтому я в очередной раз терпеливо отвечаю.
    Кстати примеры не для плат Arduino, а для ESP8266 для среды программирования Arduino IDE.
     
  15. джеки

    джеки Новичок

    Сообщения:
    15
    Симпатии:
    0

    .....ну вот вы мне подсказали теперь буду копать в нужном направлении....
     
  16. джеки

    джеки Новичок

    Сообщения:
    15
    Симпатии:
    0
    кстати я эту библиотеку PubSubClient скачал в ней не робит ваша --IoTmanager.ino.......можете проверить
     
  17. Victor

    Victor Administrator Команда форума

    Сообщения:
    2.182
    Симпатии:
    368
    ок, проверю. А другие примеры пробовали?
     
  18. джеки

    джеки Новичок

    Сообщения:
    15
    Симпатии:
    0
    пять скэтчев скачал на ИДЕ с вашего ИТН-хранилища ,все стопоряться на одном и том-же ---PubSubClient client(wclient, server, mqttport);
    ...не пойму что надо делать????
     
    Последнее редактирование: 28 апр 2017
  19. tretyakov_sa

    tretyakov_sa Moderator Команда форума

    Сообщения:
    732
    Симпатии:
    104
    Библиотеку замените. Все старые сотрите.
    GitHub - Imroy/pubsubclient: A client library for the ESP8266 that provides support for MQTT
    Только что проверил, работает.
     
  20. lingvo

    lingvo Новичок

    Сообщения:
    7
    Симпатии:
    0
    Не вижу смысла делать это в привате - думаю меня поддержат другие пользователи.
    Смысл вот в чем - сейчас уже есть куча opensource систем для Умного дома, кроме Arduino и ESP8266. Помимо известного Вам Domoticz, есть OpenHAB, Fhem, ioBroker, Home Assistant, MajorDomo и другие. И у них сотни тысяч пользователей. Основное отличие таких систем от Arduino и ESP8266 - там нет таких требований к программированию. Все что нужно - это установить дистрибутив и сделать настройку. MQTT данные системы, естественно, тоже поддерживают, поэтому я и писал, что не знаю Nodejs. Многие пользователи этих систем не знают программирования даже на уровне скетчей.
    Но вот чего не хватает всем этим системам - хорошего удаленного доступа и клиента для iOS/Android. Так как это в основном OpenSource - у них нет ресурсов для своего "Облака", или оно очень плохое. Пробрасывать порты на встроенный Веб-сервер - не выход. Идеальный вариант: MQTT - Облачный брокер, куда система УД будет коннектиться, скидывать и получать все данные и клиент MQTT с Dashboard мордой, который будет подписываться на топики и отображать всю информацию в приемлемом виде и все.
    Клиент должен быть легко настраиваемый и иметь хорошую документацию - чтобы можно было разобраться имея только знания MQTT. Его функциональность должна быть простая: Виджеты должны подписываться на топики(названия топиков настраиваются) и отображать текстовую информацию из них. В случаях с бинарной информацией, типа ON/OFF, виджет должен знать какое сообщение соответствует опции ON, а какое OFF - это тоже должно настраиваться.
    Ну и в обратном направлении почти то же самое - виджет, например кнопка, должна просто посылать определенное значение в заданный топик. Слайдеры - увеличивать числовое значение и т.д.
    Хорошо, если бы конфигурация виджетов загружалась автоматически при старте с брокера путем подписи на определенный конфигурационный топик. Еще лучше, если бы поддерживались PUSH уведомления и возможность нажимать кнопки с заблокированного экрана(в iOS есть панель виджетов)
    Ну и за такую программу, я знаю, многие владельцы Умных Домов, готовы платить по паре евро. Я лазил по разным форумам - везде возникают похожие запросы, но пока ответа нет. Сам готов данную прогу отрекламировать, если она появится.
     

Поделиться этой страницей