Датчик цветов xiaomi / Mi Flora

Сегодня я расскажу как можно подключить датчик Mi Flora для удаленного контроля за растением. Например на даче в парнике растут огурцы и хочется знать как они себя чувствуют среди недели.

Что нам необходимо :
Датчик MiFlora который можно приобрести у друзей китайцев. Все тонкости покупки и настройки я рассказывать не буду, все описано много раз, например тут и тут.. Если есть проблемы и вопросы - обращайтесь...

Рецепт по привязке китайца.
Установить с маркета Flower care (новую), FakeGPS и Flit VPN. Дальше всё по старому - FakeGPSом выставить и запустить кнопочкой любую точку в Китае, определение местоположения только по GPS, залогиниться в Flower Care и перед тем, как нажать на плюсик, перейти в Flit, выставить Шанхай, режим global, и запустить. Вернуться в Flower Care, нажать плюсик держа телефон рядом с приблудой, и всё заработает. Не получится с Шанхаем, пробуйте другие серверы или в другое время.


Модуль ESP 32  который можно приобрести на готовой плате и просто подключить к зарядке для телефона.

MQTT сервис можно использовать любой, я воспользовался уже имеющемся у меня проектом.

Прошивка OpenMQTTGateway для модуля ESP32.

Итак в результате датчик цветов отправляет свои данные по MQTT на любое наше устройство.




Итак, приступим.

Для начала надо прошить ESP32 и сделать это можно через Arduino IDE, это программная среда разработки, предназначенная для программирования одноимённой платы. На сегодняшний день с помощью Arduino конструируют всевозможные интерактивные, обучающие, экспериментальные, развлекательные модели и устройства, в том числе и ESP32.
Установим программу, после прошивки модуля ее можно будет удалить. Процесс установки описан многократно, ну например, смотрим тут.

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

После установки по умолчанию будет создана папка для скетчей/программ в МоихДокументах.





Добавим сюда еще две папки (через Windows)


Загрузите приложение Arduino для работы с модулем  ESP32, в интернете упоминается, что более новые версии  неправильно работают  с модулем Bluetooth LE и я не стал экспериментировать ...

Распакуйте полученный архив "arduino-esp32-89859f7f4c07ce3e5d487a4b689dbda78f5d5c3a" в созданные ранее папки / hardware / espressif и переименуйте в "arduino-esp32".
(Возможно нужно переименовать в "esp32". но проверять не стал .... , кстати если Ардуино не запускается можно попробовать поменять эти названия ....)
Затем перейдите в / hardware / espressif / arduino-esp32 / tools и запустите get.exe.

Загрузите код OpenMQTTGateway со всеми файлами и распакуйте  в папку Arduinio с именем OpenMQTTGateway.  Скачать можно отсюда.

Вот тут я не очень понял зачем, но как то сделал ....
Скопируйте OpenMQTTGateway / lib в папку Arduinio / library

Открыть файл "OpenMQTTGateway.ino" 


Получим результат :


 Далее произведем настройки модуля.
Если ESP32 не появился в списке доступных плат, то не спеша повторяем загрузку приложения Arduino для работы с модулем  ESP32.


Задаем порт к которому подключена плата ESP32.



Определите ваш сервер MQTT и параметры сети в USER PARAMETERS в разделе файла User_config.h.


Тут же закомментируйте все лишние, сервисы кроме BT


Скомпилируйте скетч OpenMQTTGateway.ino и получите список ошибок и отсутствующих библиотек :))



Я уже не могу показать картинку, но и так будет видно сообщение об отсутствии библиотеки.
Копируем название библиотеки и переходим в меню подключения библиотек ...





В окно поиска вставляем потерю и она находится ))  Остается только нажать кнопочку "Установить". Возможен вариант, что система затребует библиотеку более старой версии, надо удовлетворить ее желание и выбрать другую версию.

И так несколько раз .....

Вот когда все установите, то скетч скомпилируется успешно. Но с предупреждениями ...

Это последствия изменения названия папки  "arduino-esp32" и "esp32", но на работоспособность никак не влияет.


Ура !
Можно заливать скетч на модуль и если все было правильно то получим данные по MQTT.
Модуль сам найдет Датчик MiFlora считает данные и отправит по MQTT.




Дальше я опишу некоторые улучшалки для данного брокера.









В перспективе, подключить базу данных и графическое отображение информации.
Настройки приложения MQTT Dash для Андроид будут ....














1 комментарий:

  1. Залил все по инструкции на ESP32, поборол все ошибки. но на http://flyhub.org/devices так ничего и не появилось.

    ОтветитьУдалить