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

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

  1. Egony

    Egony Нерд

    Постараюсь сегодня (я в ночь был и уже никакой).
    На всякий случай, в аттаче основной файл, который сейчас у меня работает с DHT.
     

    Вложения:

    • esp_sensor.zip
      Размер файла:
      18,1 КБ
      Просмотров:
      951
  2. kmaximv

    kmaximv Гик

    Поправил баг с MQTT аутентификацией.
     
    Egony нравится это.
  3. Egony

    Egony Нерд

    А что за библиотека новая? Откуда качать?

    + #include <Adafruit_Sensor.h>
    + #include <DHT.h>
    + #include <DHT_U.h>
     
  4. kmaximv

    kmaximv Гик

  5. Egony

    Egony Нерд

    И да, я олень, уже понял.
    А зачем так сложно?
    Ваш старый код, без #include <DHT_U.h> и #include <Adafruit_Sensor.h> проканал исключительно отлично (я zip тут постил).
    Ну да ладно, не суть важно, проверю.
     
  6. kmaximv

    kmaximv Гик

    Сделал по примеру с библиотеки. Да и старый код не поддерживал смену пина через веб-интерфейс.
     
  7. Egony

    Egony Нерд

    esp_sensor.ino:30:31: fatal error: Adafruit_Sensor.h: No such file or directory
    Блииин, эти парни обновили библиотеку, попутно изуродовав. Сейчас перекачаю.

    Что значит - не поддерживал?

    Проверил. Ваще писец.

    DHT22Sensor() Start
    ets Jan 8 2013,rst cause:4, boot mode3,7)
    wdt reset


    Что-то пошло не так.
    В аттаче старая версия этой библиотеки (Adafruit_Sensor ей не нужен).
     

    Вложения:

    Последнее редактирование: 9 ноя 2016
  8. Egony

    Egony Нерд

    Дада, я уже разобрался. Но теперь, с новыми библами - циклический ресет по вачдогу (см. выше) при вызове процедуры опроса DHT.
     
  9. kmaximv

    kmaximv Гик

    Ок, завтра постараюсь переделать.

    Там пин устанавливается из дефолтной конфигурации в самом начале. Затем его надо как-то переопределить в функции Setup() после загрузки конфига с флеш памяти. Самой библиотекой это вроде не предусмотрено.
     
  10. Egony

    Egony Нерд

    Понятно. Давайте тогда на новую версию библиотеки ориентироваться.
     
  11. kmaximv

    kmaximv Гик

    Переделал, попробуйте
     

    Вложения:

  12. Egony

    Egony Нерд

    Собрал, библиотека новая. DHT пашет, но дебаг DHT накрылся :)
    kmaximv, Вы просто верните процедуры для "старого" датчика, как они были изначально. Вот это хотя бы (с этим дебаг есть):

    Код (C++):
    #ifdef DHT_ON
    void DHT22Sensor()
    {
      #ifdef DEBUG
        unsigned long start_time = millis();
        Serial.println(F("DHT22Sensor() Start"));
      #endif

      float temperatureData = dht.readTemperature();
      float humidityData = dht.readHumidity();
      #ifdef DEBUG
        Serial.print(F("Humidity "));  Serial.println(humidityData);
        Serial.print(F("Temperature "));  Serial.println(temperatureData);
      #endif
      if (isnan(humidityData) || isnan(temperatureData)) {
        //errorDHTdata++;
        #ifdef DEBUG
          Serial.println(F("Failed to read from DHT."));
        #endif
      } else {
        temperatureString = String(temperatureData);
        humidityString = String(humidityData);
      }

      #ifdef DEBUG
        unsigned long load_time = millis() - start_time;
        Serial.print(F("DHT22Sensor() Load Time: ")); Serial.println(load_time);
      #endif
    }
    #endif
    Переносимость пина DHT через веб-морду не проверял пока!

    MQTT проверил. Все ок, спасибо. Единственное, я бы не прятал поля ввода при отсутствующей галке аутентификации, ибо, чтобы до них добраться, нужно ткнуть галку и нажать save. Впрочем, это не критично.
     
    Последнее редактирование: 10 ноя 2016
  13. woow

    woow Гик

    Попробовал. Прошил у меня •BME280 •BH1750 датчики всё работает, управляю через OpenHAB aps. Связь идёт по GPRS. Не знаю на сколько быстро передаются данные, но рефреш на опенхабе происходит заторможено, поставлю чтобы ЛЕДы были видны через ип-камеру :) так протестирую (хотя бы для себя) быстродействие.
    С опциями Свет1 и Свет2 пока не понятки тапаешь по тачу а он не реагирует или передёргиваешь напр. с позиции "ON" на "OFF", тогда "ON" клавиша совсем пропадает.
    Поскольку тут уже отлаженный вариант связи через MQTT, не охота куда - то ещё переходить. Мне всё же не даёт покоя использование свободных пинов 9 и 10 один использовать для входа 18B20 (тут одного мало если говорить об существующих, по моему проекту нужно мерить температуру на улице, в помещении, в полу (там нагреватель)), а уж там почти что сколько душа пожелает их можно повесить, а к другому ещё одно реле для управления обогревателем.
     
  14. kmaximv

    kmaximv Гик

    Вернул дебаг.

    Не понял, где что пропадает?

    ds18b20 в планах, у самого есть задумки с его использованием.
     
    Egony нравится это.
  15. Egony

    Egony Нерд

    Проверил, все работает после изменения, сохранения и ребута (проверял на пинах 2 и 14).
     
    Последнее редактирование: 10 ноя 2016
  16. kmaximv

    kmaximv Гик

    Хорошо, значит с DHT разобрались, можно двигаться дальше.
     
  17. Egony

    Egony Нерд

    DHT11 я не смог заставить работать, кстати. Но и на ардуине тоже, мож датчики мёртвые.
     
  18. woow

    woow Гик

    Я хотел сказать, что на андройде виртуальные кнопки не меняют состояние или меняют не чётко, иногда совсем исчезают.
    Другой вопрос, может быть тут какие то неправильные настройки, почему-то сперва стираю с этой ESP_Basic_Flasher, а уже потом ESPFlashDownloadTool_v3.4.2. Если только с ESPFlashDownloadTool не прошивается. esp8266.jpg
     
  19. kmaximv

    kmaximv Гик

    Здесь не подскажу, не пользуюсь. Прошиваю в Arduino IDE, никаких плясок с бубном не требуется.
     
  20. woow

    woow Гик

    Поступил по проще, направил Свет2 LED на фотодатчик, теперь дистанционно можно оценивать быстродействие сетей и других составляющих связи. При нажатии на клавишу на телефоне переключение происходит "мгновенно" но отклик на интерфейсе OpenHAB значение освещённости в люксах реагирует через несколько секунд, а виртуальная клавиша только принудительно через несколько рефрешов.
     
    Последнее редактирование: 11 ноя 2016