Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

Предложение MQTT Dash для Android

Тема в разделе "Android приложения (разработка и готовые решения)", создана пользователем ByTE, 20 окт 2016.

Метки:
  1. ByTE

    ByTE Читатель

    Сообщения:
    59
    Симпатии:
    16
    Привет друзья.

    Прошу вас оценить это приложение для Android:

    Приложения на Google Play – MQTT Dash

    Полностью бесплатно без рекламы и без подвохов, поэтому не сочтите рекламой (никакого дохода я не получаю). Положительная оценка - лучшая плата для меня!
    Русский язык обещаю в ближайшее время.
    Делалось в свободное время для себя, но когда начало приобретать очертания - решил отпустить в мир.

    Спасибо,
    Вадим.
     
    Andrey2000, Mit, Игорь_163 и 2 другим нравится это.
  2. max506

    max506 Новичок

    Сообщения:
    66
    Симпатии:
    2
    Вадим, добрый день.
    Осваиваю возможности приложения.
    Появились вопросы:
    1. Как реализовать функциональность простой кнопки, при нажатии на которую в топик будет публиковаться постоянное значение?
    2. Для чего служат поля префикс и постфикс?
    3. Возможно ли размещать элементы на отдельных вкладках, чтобы группировать их?
     
  3. ByTE

    ByTE Читатель

    Сообщения:
    59
    Симпатии:
    16
    1. Используйте Switch (Переключатель). Установите для On/Off (Вкл/Выкл) одно и тоже значение (которое нужно публиковать), и одну и ту-же иконку. Вот вам и простая кнопка.
    2. Например, если вы получаете значение температуры как цифру 25, c помощью постфикса можно добавить "С", чтобы отображалось 25С. А префикс добавляется перед значением.
    3. Нет. Но можете создать отдельные соединения для каждой группы.
     
    max506 нравится это.
  4. max506

    max506 Новичок

    Сообщения:
    66
    Симпатии:
    2
    Спасибо за ответы. Всё работает.
    А планируется ли делать еще какие-либо доработки в программе?

    И еще такой вопрос:
    мне необходимо отображать данные с LCD дисплея (2 строки, 16 символов в строке). Соответственно я завел два элемента с типом "Text", и на каждый вывожу по одной строке.
    Но даже при среднем размере главного текста первый символ выводится не полностью (хотя и виден). Это можно как-нибудь исправить? И сколько символов можно вывести при каждом из размеров текста?

    И еще про возможность указания двух топиков publish и subscriber для одного виджета. Я в принципе понимаю, как это можно использовать, но хотелось бы услышать мнение автора ))
     
    Последнее редактирование: 3 ноя 2016
  5. dao89

    dao89 Читатель

    Сообщения:
    85
    Симпатии:
    5
    Когда я просил автора Linear MQTT dashboard ввести такой же функционал, он поступил очень дальновидно, и вместо этого сделал возможность перед выводом полученного значения преобразовывать его при помощи JS-скрипта. В простейшем случае - это как раз таки добавление постфикса. Как ещё это можно применить, можно глянуть в моем недавнем посте.
    Посмотрел скриншоты вашей программы, хочется попробовать её в деле, но лично для меня это не имеет смысла, без описанной возможности (очень уж полезная функция)... Будет здорово, если откликнитесь на просьбу! :)

    P.S. Вам уже предлагали сделать возможность donate, я поддерживаю. Если приложение хорошее, помогает в чём-то, то почему бы по-возможности не отблагодарить автора?
     
  6. ByTE

    ByTE Читатель

    Сообщения:
    59
    Симпатии:
    16
    О да! Сегодняшний релиз хорош :) Прошу опробовать!

    Возможно. Я попробую.

    Просьб оооочень много и в почтовом ящике и в комментариях. Просто невозможно угодить всем. Не хочется превращать программу в швейцарский нож, который очень сложно использовать.
    Я конечно подумаю. Спасибо.
     
  7. ByTE

    ByTE Читатель

    Сообщения:
    59
    Симпатии:
    16
    Применений много. Например, чтобы не получать только-что опубликованное сообщение виджетом, который его опубликовал.
    Например, вы посылаете команду гаражным воротам на открытие, виджет входит в режим ожидания (показывает крутящийся кружок), пока не будет получена обратная команда от ворот, что они открыты. Если в этом сценарии использовать не различные топики, то вы получите свое же сообщение обратно мгновенно и виджет выйдет из режима ожидания.
     
  8. max506

    max506 Новичок

    Сообщения:
    66
    Симпатии:
    2
    Я предполагал именно такое использование. Хотя для моих задач более значима возможность не получать только что опубликованные сообщения контроллером (esp), который их опубликовал. Что собственно также возможно при описании двух разных топиков.
     
  9. dao89

    dao89 Читатель

    Сообщения:
    85
    Симпатии:
    5
    Что просьб много я понимаю... но не все просьбы одинаково полезны ;) Судя по тому как быстро автор другой программы внедрил такую фичу - это не должно отнять слишком много времени.
    Смотрите, JS-скрипт, который добавит постфикс "%" к полученному значению будет выглядеть как
    x=x+'%';
    Несложно, не правда ли? Зато у пользователя появляется бесконечное число возможностей по обработке полученного значения.
    К примеру, устройство сообщает о времени последнего движения в помещении, отправляя mqtt-сообщения вида "1478177242" (unix-time). При помощи несложного JS-скрипта это преобразуется в понятное "Сегодня || 19:47:22". Есть множество других применений. Главное, что пользователь сам сможет написать нужный ему скрипт, а не заваливать вас просьбами. Кому это нужно - воспользуются, кому не нужно - не будут, всё просто.
    Нужно ведь перенимать хорошие и проверенные решения из похожих продуктов, не правда ли?
    Эх, даже не знаю как ещё прорекламировать эту возможность, чтобы вы всё-таки решились её ввести...
     
  10. ByTE

    ByTE Читатель

    Сообщения:
    59
    Симпатии:
    16
    Наверное я даже с вами согласен :) Надо взять таймаут, пока в голове не сформируется полная картина имплементации и какие возможности должны быть у скриптов. Например менять цвета, и т. д.
    Не хочется на скорую руку городить т.н. "спагетти код".
     
  11. dao89

    dao89 Читатель

    Сообщения:
    85
    Симпатии:
    5
    Рад слышать :) Буду ждать.
     
  12. ByTE

    ByTE Читатель

    Сообщения:
    59
    Симпатии:
    16
    Никаких действий с этим виджетом не производилось. У меня на 3-х устройствах отображается нормально. Попробуйте создать новый с липовыми топиками и указать префикс или постфикс на русскм языке. Если отображается нормально - проблема в содержимом сообщений.
     
  13. ByTE

    ByTE Читатель

    Сообщения:
    59
    Симпатии:
    16
    Хмм, смог бы определить проблему, если смог бы воспроизвести ее. Нужен доступ к к этим данным. Можете дать доступ через какой-нибудь открытый брокер, чтобы я мог проанализировать?
    Что за данные? Помните, что приложение интерпретирует любые данные, как строку. Т.е. даже цифры должны посылаться строкой.
     
  14. ByTE

    ByTE Читатель

    Сообщения:
    59
    Симпатии:
    16
    Любо дайте мне простой скетч и настройки метрики приложения, которые воспроизводят проблему.
     
  15. ByTE

    ByTE Читатель

    Сообщения:
    59
    Симпатии:
    16
    Попробовал. Вижу те-же кракозябры и в интерфейсе и в дебаг логе. В таком виде данные приходят.
    Создал тестовый топик. Попробовал опубликовать русский текст в него. Текс публикуется, принимается и отображается без проблем.
    Даже не могу сказать, почему это происходит. А как данные публикуются в скетче?
     
  16. ByTE

    ByTE Читатель

    Сообщения:
    59
    Симпатии:
    16
    ОК, эта проблема на вашей стороне. Вы шлете данные, дополненные пробелами в конце, поэтому перенос на новую строку в виджете так отрабатывает и вы не видите начала строки:
    Код (Text):
    1. topic: /esp/inf/lcd1, payload: 00:06:32 Rect   , length: 16
    2. topic: /esp/inf/lcd2, payload: 00:06:32 Rect   , length: 16
    По поводу русского текста: а что за редактор вы используете? Здесь дело в кодировке редактора, я думаю.
     
  17. ByTE

    ByTE Читатель

    Сообщения:
    59
    Симпатии:
    16
    Да, дело определенно в кодировке отправляемых данных. Для текста "НЕ ЗАПУЩЕН" длина принимаемых бинарных данных должна быть 20 (UTF), но я вижу только 10, т.е. по одному байту на символ (ASCII).
    Могу посоветовать пересохранить ваш скетч в кодировке UTF8 и попробовать залить его снова.
    А чтобы проверить работоспособность приложения, просто попробуйте опубликовать русский текст прямо из приложения в любой топик. Опубликованные данные отобразятся корректно.
     
  18. ByTE

    ByTE Читатель

    Сообщения:
    59
    Симпатии:
    16
  19. max506

    max506 Новичок

    Сообщения:
    66
    Симпатии:
    2
    1. Да, из топика в топик публикуется корректно.
    2. Перезагрузил Arduino IDE, перекомпилил скетч, залил в esp. Всё заработало.
    Видимо какой-то глюк среды разработки Ардуино.

    Спасибо за помощь. Предыдущие сообщения думаю можно удалить, чтобы не засорять тему.
     
    Последнее редактирование: 6 ноя 2016
    ByTE нравится это.
  20. max506

    max506 Новичок

    Сообщения:
    66
    Симпатии:
    2
    Ну да, это же строки LCD дисплея, в строке 16 символов. Там могут быть завершающие пробелы, а могут быть и реальные значения, в зависимости от контекста отображения информации.
    А почему пробелы в конце мешают? 16 символов не помещается в виджет?
     

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