Перейти к публикации
iT4iT.CLUB

Alex_DIY

Пользователи
  • Публикации

    91
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    20

Сообщения, опубликованные пользователем Alex_DIY


  1. @zloydimo4ka она не залиться не может, она не компилируется, так как модуля PubSubClient.h не может найти. Это библиотека отвечающая за MQTT.

    На вашем скриншоте в скетче на этот компонент ссылка присутствует. Качаете и добавляете его в arduino IDE.

    • Thanks 2

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

    А чипом вверх или вниз? Попробую для начала переориентировать датчик внутри будки. Может быть это поможет. 

    И ещё я будку распечатал  белым абс, но пока шкурил-ацетонил заметил, что  она просвечивает и оклеил наружные поверхности деталей алюминиевым скотчем (алюминиевая фольга с клейким  слоем) . Чтобы солнце не подогревало датчики и не влияло на показания температуры. 


  3. @Kitsum у меня вроде б пленка целая. Я этот пост читал, поэтому старался обходиться с датчиком максимально аккуратно.

    Была мысль, что может ошибка в коде в математике, но посмотрел datasheet - там поделить и вычесть, то есть ошибиться негде. Поэтому вариант ошибки в библиотеке отмел.

    У меня пришла в голову другая мысль. В связи с тем, что какой-то период времени относительная влажность была 100%, затем температура воздуха начала слегка подрастать и так как плата сдатчиком имеют некоторую теплоемкость, то ее температура поднялась не так быстро до температуры окружающего воздуха и в связи с этим температура датчика и платы стала ниже точки росы и на пленке выпал конденсат, как следствие неадекватные величины влажности. В datasheet на сенсор в разделе 5.5 в частности и упоминается, что встроенный резистивный нагреватель нужен и в том числе, чтобы "to drive off condensation" как я понимаю "уйти от конденсации". То есть надо предусмотреть логику, что если влажность 100%, то включать нагреватель. Хотя, если это выявилось только у меня, то , видимо , и не это причина. Да и у меня устройство автономное, тратить миллиамперы на подогрев тоже не вариант. У меня , судя по народному монитору такие случаи выхода влажности за 100% случаются. И смотрю всегда это возникает при влажности 100% продолжается рост температуры воздуха.... что собственно , вроде ,  говорит в пользу описанной выше теории.

    Почему ж у Вас ни одного такого случая. У меня есть еще HTU21D... но он без пленки и его поэтому не хочется на улицу в пыль.

    • Thanks 1

  4. @Kitsum не удавалось получать с датчиком si7021 влажность более 100%?

    Датчик уличный в будке из пластика, как в Вашем первом посте, из 5 ярусов. Датчик в районе 3 яруса. Заливать его не должно. 

    101Hum.png


  5. .@Kitsum

    Цитата

    bool mqttSendData() {
      mqtt.setServer(config.mqtt_server.c_str(), 1883);
      if (config.mqtt_login.length()) mqtt.connect("weather station");
      else mqtt.connect("weather station", config.mqtt_login.c_str(), config.mqtt_pass.c_str());

    условие в if не должно быть наоборот? Сейчас я так понимаю:  если длина логина нулевая,(он задан) то подключаемся без логина и пароля, если не задан, то с ним, что как бы наоборот. Видимо, предполагалось так

    Цитата

    if (!config.mqtt_login.length()) mqtt.connect("weather station");

    ОПС, я еще со старым скетчем возился, а в новом уже это исправлено.

    • Like 1

  6. @Kitsum

    Вы правы, проблема была в памяти. Ужал вэб интерфейс до 190кб, выделил под spiff 256 кб, получается под прошивку осталось порядка 740 кб. Учитывая размер бинарника в 320 кб, 2 стали помещаться в область для прошивки .... и обновление через вэб интерфейс стало проходить успешно.

    Почитал про ОТА, где собственно и было сказано, о том, что место под прошивку должно быть с расчетом на старую + новую, плюс 4 кб на загрузчик. Единственное что, при ОТА правильность и полнота заливки прошивки проверяется на стороне esp через md5checksum, а в случае Вашей реализации, видимо такой проверки не происходило, поэтому ранее , когда у меня не работало через вэб интерфейс, то ситуация была следующая ( я так себе представляю) через вэб интерфейс загружался бинарник для перепрошивки и при этом не произовдилась проверка на то влезает ли он в память или нет. Также не проверялось правильность его сохранения перед прошивкой. В итоге после заливки, сохранялось от загружаемого бинарника ровно то на что оставалось под него памяти, потом загрузчик это дело прошивал .... и так как прошивал, рапортуя в вэб интерфейсе об успешной прошивке. А уже на рестарте микроконтроллера все вешалось, ибо прошивка прошитая в устройство была битая (неполная). В общем, меня смущало то , что в вэб интерфейсе рапортовалось об успешной перепрошивке устройства, поэтому я думал, может быть пршивка идет не в ту область памяти и ломал голову над тем, где это поправить.

    Хотел и OTA попробовать, но что-от у меня ОТА не заработало, даже в скетчах примерах. Но это уже  что-от с моим компом получается, ибо у меня в arduino ide не появляется сетевой порт, хотя прошивка ОТА задействует на своей стороне

    Цитата

    OTA server at: ESP_D21BD4.local:8266
    WARNING: OTA Enable!!!

    . Хотя, делал все по описаниям.

    P.S. поясните , пожалуйста, вот эту строчку

    uint32_t maxSketchSpace = (ESP.getFreeSketchSpace() - 0x1000) & 0x1FFFFE00;

    я просто не силен в синтаксисе Си. 0x1FFFFE00 это уже мое значение. Хочется понять, что нужно там указать в своем случае.


  7. @Kitsum

    После вашей подсказки с тем как проанализировать проблему с незагрзкой файлов через вэб интерфес проблема ушла. правда я перед этим перепрошил его таки.

     

    Зато обнаружил другие проблемы

    1) через вэб интерфейс с помощью IE 11 не удается обновить прошивку - на опознает бинарник за файл прошивки.

    2) Через Хром распознает, только вот видимо прошивается не корректно.

    после успешной заливки прошивки и рестарта микроконтроллера, в ком порт сыпется бесконечное

    Fatal exception (0): 
    epc1=0x4022c420, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000

    Если же прошиться этой же прошивкой через arduino ide, то все работает. Я так подумал, что, видимо, это связано с тем, что обновление через вэб сбивает разметку флеша, так как у меня модуль 1Мбит, поделен пополам 512кб прошивка, 512кб под спифф.

    uint32_t maxSketchSpace = (ESP.getFreeSketchSpace() - 0x1000) & 0xFFFFF000;

    я так понимаю, в моем случае я пробовал 0x3FFFFC00, но это не поменяло ситуацию. Это четверь вашего значения, а также 0x1FFFFE00 это 1/8 вашего значения, но безуспешно. 

     


  8. @Kitsum

    через arduino IDE перезалил содержимое вэбсервера. логин пароль для входа в вэб интерфейс меняется сохраняет, имя точки доступа тоже. значит во флеш пишет. А вот через вэбинтерфейс по прежнему не могу удалять файлы. То есть с записью и доступом в флеш память esp проблем нет, то есть что-то с прошивкой получается.


  9. @alexd6969  

    я конечно глупость напишу, но пины заданные в скетче SDA и SCL совпадают с теми, к которым реально подключены датчики? Ну и SDA SCL не перепутаны ли?

    И еще кстати, у меня просто esp модуль и когда я вначале развлекался с тестовыми скетчами в среде arduino ide , а датчики висели у меня на пинах 0 и 2, а для загрузки прошивки надо 0 пин на землю коротить, так вот когда я сканер i2c портов загружал и он начинал работать. а я забывал снять перемычку нулевого пина с земли, то тоже наблюдал такой ответ по всем адресам. Потом просто перепаял датчики на другие пины и мог без удаления перемычки работать с i2c устройствами. МОжет быть это натолкнет вас на поиск ошибки. Просто я в те моменты тоже думал что у меня что-то с датчиками, пока этот момент не заметил))

     


  10. Подредактировал файлы вэб сервера, решил через веб интерфейс залить. Пытаюсь удалить файл нажав на "удалить", строка с именем файла подсвечивается, подсветка снимается и файл как отображался так и отображается. Аналогично и залить не могу новый файл в файловую систему. Также как и не могу сохранить другие логин-пароль для входа в систему. Что , по моему мнению, говорит о том, что у меня проблемы с записью на флеш. Пробовал перезагружать - не помогает. Прошиться нечем пока (usb-tty адаптера пока нет под рукой). Странно, потому как на этой прошивке я index.htm перезаписывал через вэб интерфейс и имя домашней точки доступа сохранил.

    В качестве предложения: выбор файла в стороннем приложении и перетягивание его в область экрана, чтобы произошла его загрузка - не очень удобно, потому как на каком-нибудь андроидофоне это сделать проблематично, а если б была кнопочка, которая вызывала диалоговое окно выбора нужного файла для загрузки - это было б универсальнее.


  11. так у меня 1мб флеш всего, соответственно поделен на 500кб под файлы вэбсервера, остальное под прошивку(как я понимаю), а cloud.css.gz весит 795 кб. Так что вырезаю картинки. Когда метеостанцию цепляешь к домашней сети, то выгрузить css с внешнего ресурса не проблема, а когда цепляешься к точке доступа, созданной esp-шкой, то css становится недоступен. Ибо ты подключен к wifi сети у которой нет доступа в интернет.


  12. у меня подключены 2 датчика:

    SI7021 и bmp180 к esp-07 (где оказалось что памяти всего 1 мегабайт) и не влазит css.

    компилировал скетч в arduino ide 1.6.5 все откомпилировалось и работает нормально.

    Единственное хочу перейти на другую библиотеку bmp180 которая также выдает температуру с датчика bmp180. Ну и css хочу уменьшить до 220кб. Но это мне вроде б под силу.

    Kitsum, спасибо за исходники.

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

    • Like 1
×
×
  • Создать...