Встречаем приложение для Android - MQTT IoT
Описание возможностей
Вашему вниманию представлена альфа-версия приложения MQTT IoT, которое предназначено для управления устройствами на базе SoC ESP8266 с прошивкой Homes-Smart, подключенными к сервису FlyMon DMS.
MQTT IoT поддерживает работу прошивок Homes-Smart Free в режиме отображения данных с сенсоров. При использовании прошивки Homes-Smart Pro и включённой опции MQTT в конструкторе, возможно практически полное управление устройством ESP8266.
Для работы приложения требуется Android 4.4.2 и выше (возможно, в будущем требования будут снижены до 4.0.3). Работа приложения проверена на версиях Android (список обновляем): 4.4.2, 5.0, 5.1.1. Так-же в настройках телефона необходимо разрешить устанавливать программы из неизвестных источников.
Приложение написано на языке C# в среде Xamarin Android. Его автором является разработчик, скрывающийся под ником Dolfik. Я выполняю промоутерские функции и занимаюсь организацией стыковки между Homes-Smart, FlyMon DMS и MQTT IoT. Отдельное спасибо пользователю с ником ZyyyRu за предоставленные скриншоты.
По всем вопросам, связанным с работой приложения, пишите на форуме.
Примерно так выглядит оформленный Dashboard.
Установка приложения и История версий
В настоящее время приложение можно скачать с файлового архива блога ZFT Lab..
В ближашем будущем, приложение будет доступно в Google маркете. В Yandex маркете оно доступно уже сейчас для устройств с Android 5.0 и выше.
Баги и планы развития вынесены на форум Homes-Smart. FAQ находится внизу данной страницы.
При обновлении, полностью удаляйте старое приложение и только потом ставьте новую версию !
MQTT_IoT_FlyMon_v.0.1.11_20151208.apk
- теперь нет надобности в обязательно включенном WiFi (приложение работает и по GPRS/CDMA каналу)
- реализована отправка статистической информации о работе приложения на сервер FlyMon (см. вкладку About)
- разобрались с получением данных о статусе GPIO в приложении (нужен ActiveSend режим для GPIO-out на модуле ESP)
MQTT_IoT_FlyMon_v.0.1.11_20151207.apk
- исправлена работа с PWM (в предидущей версии вне зависимости от введенных значений было 0-100)
- тестовая идентификация и классификация Android устройств
- использована новая нумерация версий
- рефакторинг контролов
- убраны дублирующиеся иконки
- добавлена возможность указания в топиках “+” и “#”
- исправлена проблема закрытия приложения при смене ориентации Dashboard
- исправлена ошибка с неработающим Disconnect сессии
- исправлена ошибка с неработающим Exit в приложении
- добавлена возможность установки тематических иконок на каждый контрол
- добавлена авто-подстановка логина в начало набираемого топика
- глобальная оптимизация кода, рефакторинг
- исправлены ошибки при подключении к серверу
- изменена нумерация версий приложения
- добавлена информация в раздел About
- исправлена проблема с пропаданием контролов в Dashboard
- добавлен новый тип контрола для отправки текстовых сообщений на LCD/OLED
- переделан алгоритм подключения к MQTT серверу
- изменён алгоритм подключения к MQTT серверу
- снижено требование к Android до 4.2.2
- первая публичная доступная версия
Базовая настройка приложения
После установки, запустите приложение MQTT IoT.
Выберите в свойствах раздел Settings.
Заполните поля, согласно скриншота и подсказки. Нажимите кнопку Add.
- Name – название сервиса, можно написать произвольное имя
- Host – сервер мониторинга esp8266.flymon.net (фиксирован)
- Port – 1883, оставляем по-умолчанию
- Login – demo@flymon.net для теста или E-mail в случае использования своего аккаунта
- Pass – demo для теста или ваш пароль в случае использования полноценного аккаунта
- Client ID – оставляем значение по-умолчанию, созданное автоматически
- Protocol – меняем на версию MQTT 3.1
Нажмите кнопку Connect.
Убедитесь, что соединение установлено (вверху, на иконке приложения зелёная галочка).
Установите галочку Remember me.
Работа приложения в упрощённом режиме FlyMon proxy
В Free версии прошивки Homes-Smart работа по протоколу MQTT не активирована. Однако, включив на модуле передачу данных на сервис FlyMon DMS, можно воспользоваться режимом proxy и получать данные с ESP8266 в любой точке мира.
Выберите в свойствах раздел Dashboard.
Нажмите +. Откроется окно ввода данных.
Заполните поля, согласно скриншота и подсказки. Нажимите кнопку Add.
- Name – название сенсора или его местоположение
- Type – выберите readonly value
- Topic – путь в сенсору (demo@flymon.net/mac_устройства/название_метрики)
- Unit – обозначение единицы измерения (C, %, mmHg и т.д.)
При создании MQTT топика используйте Список отслеживаемых метрик ESP8266 HomesSmart
Теперь каждые 5 мин. обновлённые данные с ESP8266 будут видны на экране.
Работа приложения в полноценном режиме MQTT
При использовании Pro версии прошивки Homes-Smart не забудьте активировать для работы по протоколу MQTT соответствующий раздел в конструкторе.
Выберите в свойствах раздел Dashboard. Нажмите значок “+”.
Для получения данных с сенсоров выберите правильный Type.
Заполните поля, согласно скриншота и подсказки. Нажимите кнопку Add.
- Name – название сенсора или его местоположение
- Type – выберите readonly value
- Topic – путь в сенсору по иерархии MQTT (ваш@email/hostname_устройства/тип_метрики/название_метрики)
- Unit – обозначение единицы измерения (C, %, mmHg и т.д.)
При создании MQTT топика используйте Рабочие примеры MQTT топиков Homes-Smart ESP8266
Пример добавления темературы с датчика DHT22.
Пример добавления темературы с датчика DHT22 (второй).
Пример добавления темературы с датчика AM2321.
Пример добавления темературы с датчика BMP180.
Пример добавления темературы с датчика SHT21.
Пример добавления влажности с датчика DHT22.
Пример добавления влажности с датчика DHT22 (второй).
Пример добавления влажности с датчика AM2321.
Пример добавления влажности с датчика SHT21.
Пример добавления атмосферного давления с датчика BMP180.
Пример добавления освещённости с датчика BH1750.
Пример добавления размера свободной памяти модуля ESP8266.
Пример добавления времени работы модуля ESP8266.
Для различного рода переключателей необходимо выбрать тип данных “on-off switch”.
Пример добавления включения подсветки LCD дисплея.
Пример добавления включения реле на gpio5.
Примерно так выглядит оформленный Dashboard.
Часто задаваемые вопросы (FAQ)
Ответы на вопросы будут оформлены на днях…
Как правильно составить MQTT топик для ESP8266 ?
Случайно стер Client ID в приложении. Что теперь там писать ?
Как получить аккаунт на MQTT сервере FlyMon ?
При включении приложения, данные в Dashboard появляются не сразу. Это нормально ?
Внутренние ссылки
- 2017-02-14 Демонстрационный OnLine мониторинг инкубатора
- 2016-03-10 Отличные железки на SoC ESP8266 от Itead Studio
- 2016-02-29 Модули на базе ESP8266
- 2015-10-14 Получение данных с Peacefair EnergyMonitor AC 100A
- 2015-10-01 Снятие показаний с преобразователя напряжения по WiFi
- 2015-08-03 Рабочие примеры MQTT топиков Homes-Smart ESP8266
- 2015-08-01 Конкурс-фестиваль ‘Укрощение ESP8266’
- 2015-04-26 Контрольные измерения и датчики для ESP8266
- 2015-04-16 Преобразователи питания для ESP8266
- 2015-03-24 Подключение передатчика RCremote 315/433 MHz
- 2015-02-23 IRC канал (чат) разработчиков Homes-Smart ESP8266
- 2015-02-17 IoT контроллер ESP8266 и обмен данными M2M
- 2015-02-11 Подборка ссылок по ESP8266, MQTT, модулям
- 2015-01-11 Разработка MQTT топиков Homes-Smart ESP8266
- 2015-01-10 Расчет стоимости деталей для IoT контроллера
- 2014-12-24 Список отслеживаемых метрик Homes-Smart ESP8266
- 2014-10-28 Типы модулей ESP8266 и специфика подключений
- 2014-10-21 OnLine мониторинг автономной энергосистемы