Датчик температуры, влажности, давления, движения и освещенности на ESP-12F

Тема в разделе "Глядите, что я сделал", создана пользователем kmaximv, 17 янв 2016.

  1. woow

    woow Гик

    Спасибо за ответы. Пробую анализировать:
    Настройки на ESP- Server MQTT 192.168.1.150 (это IP RPi3 по кабелю, а по WiFi IP....151)
    В ваших настройках openhab.cfg:
    mqtt:mybroker.url=tcp://localhost:1883 здесь я меняю на mqtt:ladabroker.url=tcp://localhost:1883
    mqtt-eventbus:broker=mybroker здесь я меняю на mqtt-eventbus:broker=ladabroker
    Юзера и пасворда не настраивал пока ни где.
    Где ещё поковырять посоветуйте.
     
  2. kmaximv

    kmaximv Гик

    Не понял, RPi3 и кабелем и по wi-fi сразу подключен к сети? Если да, то оставьте что-то одно.
    Настройте сначала связку mosquitto <=> ESP, потом можно и OpenHab ковырять.

    Логи mosquitto
    Код (Bash):
    tail -f -n 100 /var/log/mosquitto/mosquitto.log
     
  3. woow

    woow Гик

    Да нет, конечно на одном из них или по WiFi или по кабелю пробую оба варианта по отдельности, где-то читал о отдельной под сети для IoT, сделать на отдельном маршрутизаторе, который как бы развязывает домашнюю сеть вот от таких зависании.
     
  4. woow

    woow Гик

    скопировал лог, посе рестарта ESP может быт вы, ребята, как по опытнее увидите траблы

    Код (C++):

    1478208707: Client _BedM already connected, closing old connection.
    1478208707: Client _BedM disconnected.
    1478208707: New client connected from 192.168.1.141 as _BedM (c1, k15, u'').
    1478208823: New connection from 192.168.1.141 on port 1883.
     
     

    Вложения:

    • Untitled.jpg
      Untitled.jpg
      Размер файла:
      178,2 КБ
      Просмотров:
      657
    Последнее редактирование: 4 ноя 2016
  5. kmaximv

    kmaximv Гик

    Заменил библиотеку MQTT. Устранились зависания ESP при неправильных настройках или сбое соединения.
    Можете проверить на новой прошивке?
     
  6. woow

    woow Гик

  7. kmaximv

    kmaximv Гик

    Лучше всего, конечно, скачивать самую последнюю версию с мастер ветки гитхаба, и самому компилировать в Arduino IDE. Скомпилированные версии я выкладываю не часто.

    Сделал релиз версии 1.09
    https://github.com/kmaximv/Wi-Fi-Sensor/releases/tag/1.09
     
    Egony нравится это.
  8. woow

    woow Гик

    Я уже совсем запутался. Пробовал прошить, так с первого раза не получилось, начал протирать, стирать и всё ровно тупи. Пока что дымок не пошёл, прошивку вроде как принимает, но сигнал иногда с разу после прошивки подскачет и всё - тишина. Может быть предложите свой рецепт прошивки.
     
  9. kmaximv

    kmaximv Гик

    Да ничего особенного, чистые ESP прошиваю в Arduino IDE. Последующие обновления делаю через веб интерфейс. Сегодня обновил 6 ESP до версии 1.09, все работают как надо.
     
  10. Egony

    Egony Нерд

    Спасибо! Сегодня вечером проверю.
    В сторонних библиотеках изменения делали, или можно качать со страниц авторов?
    Что за библиотека использована для DHT?
     
    Последнее редактирование: 7 ноя 2016
  11. woow

    woow Гик

    Если я тупо копирую всё с вашего проекта, у вас работает, а у меня- нет. Я что- то делаю не так. Вчера всё снёс на чисто и загрузил по новой, включая и RaspberryPi3, по вашей инструкции. Всё заработало на свет1 и свет2 откликаются, информация от датчиков пошла и через минуту или меньше всё застыло, после перегрузки системы RPi3 и ESP-12 не восстановилось. Что делаю не так не пойму, какие настройки (установки, сетинги) должен прописать установить иначе чем в вашем проекте.
     
  12. kmaximv

    kmaximv Гик

    Включите Debag в прошивке https://github.com/kmaximv/Wi-Fi-Sensor/blob/master/esp_sensor/json_config.h#L17
    И посмотрите что ESP выдает на UART.

    Также может быть проблема по питанию.
     
    woow нравится это.
  13. Egony

    Egony Нерд

    Из json_config.cpp исчезли строки, ответственные за сохранение/восстановление dht_pin.
    Точнее, их и не было (почему-то эти строки в комит "dht web interface" не вошли). Нужно бы добавить.
     
    Последнее редактирование: 7 ноя 2016
  14. kmaximv

    kmaximv Гик

    Добавил.

    Также выложил прошивку с включенным дебагом https://github.com/kmaximv/Wi-Fi-Sensor/releases/download/1.09/esp_sensor.1.09_DEBUG.bin
     
    Последнее редактирование: 7 ноя 2016
  15. woow

    woow Гик

    Так вот такие достижения. Взял лабораторный блок питания и напряжение поднял до 3,6В , на входе ЕСП показывает 3,48В, а Settings Voltage 3,17V. Работает пока без сбоя около одного часа :) . Выбросил из телефона апс который гючил и не находил есп, потом искал в ручную, проблем меньше но не всегда телефон "цепляет" еспешку.
    Ну вот перестал свет включатся, лог идёт нормальный, считывание сенсоров, команды вкл/откл свет (0 и 1 сколько нажимаешь столько и прописывает.), но на самой есп на выходах (12 и 13) логический уровень не меняется ЛЕДы не загораются. И если управляешь по интерфейсу самой ЕСП клавиши не реагируют.
     
    Последнее редактирование: 8 ноя 2016
  16. kmaximv

    kmaximv Гик

    Если используете датчик BH1750, то свет будет загораться только тогда, когда освещенность будет ниже выставленного порога. Настраиваем в Configure->ESP->On Lux. Если нужно чтобы ESP не реагировало на уровень освещенности, выставляем значение 60000
     
    Egony нравится это.
  17. kmaximv

    kmaximv Гик

    Изменил логику работы Light Control:
    Теперь ручное влкючение/выключение не зависит от уровня освещенности
    Кнопка Авто и столбец Таймер отображаются только если в настройках включен датчик движения

    Последние изменения забираем с Гитхаба https://github.com/kmaximv/Wi-Fi-Sensor/archive/master.zip
     
    Egony нравится это.
  18. woow

    woow Гик

    Я скеч не расщеплял так что бы такие нюансы увидеть и, подумал чо если перевести в режим AUTO- ручной он отключается, оказалось, что был не прав :(.
    Следующий вызов для меня запустить Arduino IDE по ка генерируется много ошибок, но всё же пока отложу этот проект и так уйму времени потерял, но как бы там не было получил и кокой то опыт, должен закончить терморегулятор для овощехранилища, потом к нему прикрутить передатчик, чтобы не бегать часто в сарай. Конечно это может делать и ESP- подобные, но в этом проекте мало термодатчиков (нужны три) и задействовать какой то пин ( свободные GPIO09 и GPIO10, если много не ломать проект) для управлением силовой нагрузкой.
     
  19. Egony

    Egony Нерд

    Собственно про баг с MQTT.
    Исходные данные - пароль, юзер, айпишник MQTT, а так же все параметры датчика и сети заданы в json_config.h (в аттаче).
    Собираем, грузим - все пашет "из коробки".
    Заходим на веб-морду, Configure -> MQTT, видим имя юзера и пароль. Их не трогаем! Меняем Publish Delay на, например, 60, нажимаем Save, видим, что поля юзер и пароль очистились, а в порт вывалились параметры, которые будут записаны в spifss:

    skip..."mqtt_port":"1883","mqtt_user":"","mqtt_pwd":"","mqtt_name":"_BedM"...skip

    Ребутим ESP, видим в логе
    Connecting to MQTT... Not authorized to connect

    Благо, теперь хотя бы не виснет наглушняк :)

    Если изменять ТОЛЬКО юзера и пароль, а потом нажать Save - все сохраняется. До первого изменения других параметров.

    Я глядел процедуры сохранения пароля и юзера с веб-морды, они отличаются от остальных полей. Править сам не стал (точнее, стал, но "в лоб" не проканало, бросил), Вам виднее, какую магию применить :)

    Ах да. После переезда на другую библиотеку DHT и влажность, и темпер отдает =1. Это печаль.

    DHT22Sensor() Start
    Humidity 1.00
    Temperature 1.00
    DHT22Sensor() Load Time: 23

    Проверил - со старой библой DHT все пашет по плану.
    Труъ библа тут: https://github.com/adafruit/DHT-sensor-library
    Верните, плиз, старое (кроме передачи по MQTT числа ошибок). Ну, или нужно разбираться с "универсальной" библиотекой. Как по мне, она какая-то стрёмная.
     

    Вложения:

    • json_config.zip
      Размер файла:
      1,7 КБ
      Просмотров:
      251
    Последнее редактирование: 9 ноя 2016
    kmaximv нравится это.
  20. kmaximv

    kmaximv Гик

    Заменил библиотеку для DHT.
    Egony, можете проверить? Мне пока не на чем протестировать.