1 2 3 4 5 6 7 8 9 10 10/10 10,00оценок: 9

Arduino Mega. Контроллер теплицы. Хроники - 3.0

Тема в разделе "Умный дом", создана пользователем Анкор Плюс, 27.04.17.

Статус темы:
Закрыта.
  1. Shelllonn
    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300

    Shelllonn

    Живу здесь

    Shelllonn

    Живу здесь

    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300
    Дим, конфигуратор -MQTT - добавить топик - модуль показаний влажности, DHT22 показывает температуру а не влажность с датчика
     
  2. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Там при добавлении топика с модуля влажности можно выбрать тип показаний - температура или влажность ;)
     
  3. Shelllonn
    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300

    Shelllonn

    Живу здесь

    Shelllonn

    Живу здесь

    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300
    Есть такое, как то на это внимания не обратил
     
  4. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Получил сегодня плату под Due, чтобы на ней уже семидюймовый TFT тестировать. На днях займусь, потихоньку буду настраивать прошивку под Due, заодно подтягивая код для TFT. Ессно, это дело небыстрое, т. к. надо не прокосячить и в тандеме с автором платы все настройки прошивки обсудить, шоб не попалить чего ненароком :)

    Короче, скоро будет шоколад, до весны надо точно успеть сделать и эту версию, считаю ;)

    З. Ы. Вебморду обновил, добавил настройки СМС статистики туда. С MQTT пока не спешу, да там ещё и настроек LCD нету, в вебморде-то - вот и посмотрим, насколько актуально туда перетаскивать всё-всё-всё - пока погожу, пусть вылежится ;)
     
  5. Shelllonn
    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300

    Shelllonn

    Живу здесь

    Shelllonn

    Живу здесь

    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300
    DIYMan, вопрос;
    Отправляю топик MQTT. fx Teplica/SET/WATER/OFF, дебаг
    Topic length: 21
    Topic are: Teplica/SET/WATER/OFF
    Normalized topic are: WATER|OFF
    No ps, but have answer: OFF

    дебаг tcpdump
    Msg Len: 23
    Topic Length: 21
    Topic: Teplica/SET/WATER/OFF
    Message:
    все ок, реле щелкнуло

    далее создаю в клиенте кнопку вкл выкл, пример http://esppower.ru/mqtt-android/ 16 пункт
    Teplica/SET/WATER/ on; ON off; OFF
    дебаг
    Topic length: 18
    Topic are: Teplica/SET/WATER/
    Normalized topic are: WATER|
    No ps, but have answer: PARAMS_MISSED

    tcpdump
    Topic Length: 18
    Topic: Teplica/SET/WATER/
    Message: ON

    Есть идеи?
     
  6. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Не склеивается у тебя команда, приходит Teplica/SET/WATER/, т. е. не добавляется нужное действие в имя топика. Оно тебе в payload суёт ON или OFF (это видно в tcpdump), а надо - имя топика формировать ;)

    У меня сейчас payload просто игнорируется, т. к. это не формализуется в части управления контроллером - не всегда payload прокатит, смотри:

    SET/STATE/WINDOW/1/OPEN - открыть второе окно, payload тут как бы по центру топика вклеивается.

    SET/WATER/ON/2 - включить третий канал полива, тут payload в конце.

    В общем, не получится с payload играться, оно не универсально в части управления. Надо искать возможность формировать топики для публикации по клику на кнопки. Странно, что нету такой возможности в указанном тобой клиенте: ведь очевидно, что топик - это не жёстко прибитый к стене набор буковок :) И управлять можно как с помощью payload, так и простой сменой имени топика, например: WATER/ON - включили полив, WATER/OFF - выключили полив, никакой payload тут не нужен, а в сервисе нет возможности настроить на переключатель смену имён топика, как я понял.
     
    Последнее редактирование: 13.12.17
  7. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Вожусь с TFT, вот пока что получилось по-максимуму в отдельном скетче:

    IMG_2978.JPG

    Это тест, ессно - в нормальном режиме будут названия датчиков, как минимум. Пока только тестирую и наращиваю мышечную массу, так сказать - пришлось делать свой шрифт для отображения единиц измерений, типа lux и т. п. - намаилси...

    В конфигурации, как на экране - помещаются данные с максимум 6 датчиков, думаю, этого за глаза. Остальные экраны - ещё вообще не сделаны, только экран "Фрамуги" пока начат - имеет работающую кнопку "Назад", и всё :)]:aga:

    Дела идут, возни с этим TFT - ещё ооочень много: экраны делать, цвета подбирать, в выхлопную трубу дуть... Но - сделаем ;)
     
  8. Shelllonn
    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300

    Shelllonn

    Живу здесь

    Shelllonn

    Живу здесь

    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300
    есть, но он все отправляет в Message, туда можно вставить сколько угодно имен
     
  9. Shelllonn
    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300

    Shelllonn

    Живу здесь

    Shelllonn

    Живу здесь

    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300
    Можно и так
    Topic: Teplica
    Message: SET/WATER/ON

    Получается их объединять нужно
     
  10. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Так я о том речь и веду - он команды отправляет в payload (которое Message), а надо - чтобы имя топика формировалось в зависимости от клика.
     
  11. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Контроллер реагирует только на топики, payload игнорируется, ибо - имя топика всегда есть, это раз. Два - наличие payload никак не формализуется, я уже писал выше причины: есть команды, где изменяемое значение находится по центру имени топика, более того, изменяемых значений может быть несколько. То, что клиент не предоставляет возможности по клику на кнопку менять название публикуемого топика - это проблемы клиента, считаю. Я не вижу причин, по которым это было бы трудно сделать: по одному клику отправлять топик "SET/WATER/ON", по второму - "SET/WATER/OFF". Два разных топика, как видите, Message при этом пустой, ибо не нужен. MQTT позволяет публиковать любые топики, так почему в клиенте такую возможность по клику на переключатель не предусмотреть? Искусственное ограничение - на переключатель привязывать один топик, и юзать Message для передачи параметров, не иначе. А представьте: вот вдруг надо по первому клику инвертировать свет, а по второму - инвертировать полив (абстрактный пример): и надо отправить два топика - SET/LIGHT/TOGGLE и SET/WATER/TOGGLE. Шо тогда - приплыли? Именно поэтому я и утверждаю, что это ограничения клиента, который не даёт такого функционала.
     
    Последнее редактирование: 14.12.17
  12. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    @Shelllonn, единственный вариант, который видится пока, в первом приближении: это реально объединять имя топика и Message, т. е. топик будет "Teplica/SET/", а Message может быть любым.

    Сейчас попробую это дело прикрутить.
     
  13. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    @Shelllonn, обновил на гитхабе, добавил склеивание payload с топиком. Короче: теперь как имя топика можно просто указать "Teplica/SET/". В Message пишете то, что надо, например, "WATER/OFF" или "WATER/ON" - контроллер всё склеит в целое имя топика сам.

    Проверил, работает, даже если писать "Teplica/SET/WATER/ON" как топик, а в Message написать ещё команду, типа "LIGHT/ON", то отрабатывает первую команду корректно, т. е. приоритет - у имени топика, потом уже у Message.

    Пробуйте ;)
     
  14. Shelllonn
    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300

    Shelllonn

    Живу здесь

    Shelllonn

    Живу здесь

    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300
  15. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Отлично :)
     
Статус темы:
Закрыта.