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

post125

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

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

  • Посещение

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

    9

Все публикации пользователя post125

  1. post125

    Метеостанция на ESP8266 от it4it.club

    Добрый день! Подскажите, пожалуйста, куда лучше добавлять описания переменных и инициализацию wire в основной файл или в sensors.h? И надо ли еще добавлять библтотеку wire.h или достаточно, что она загружается в tools.h? И еще не пойму куда добавлять Функцию сбора данных float getSensorData() { float value = 0; /* Тут описываем работу с Slave по i2c, результат записываем в value */ return value; } и Добавление датчика sensors.add(sensor_knob_cfg, device::out, "sensor_uid", getSensorData); то ли в sensor.h, то ли в user_auto.h, то ли в user_bme280_2.h, либо создать новый файл с аналогичной структурой?
  2. post125

    Метеостанция на ESP8266 от it4it.club

    Добрый день! Благодарю за помощь. Ваши магические строки "*(float*)b1 = f1;" и "f2 = *(float*)b1; " решили проблему передачи данных с ардуино на ESP. Долго мучался, как оказалось, с библиотекой ESP v2.5.0 - она категорически не хотела принимать массив из 8-и и более бит. Замена на более старую версию 2.4.2 решила проблему. В ходе опытов остановился на том, что к ESP как slave будут подключаться несколько ProMini каждая со своей NRFкой, т.к. в этом случае не надо сортировать и раскладывать данные из разных труб NRF в большой масив (>32байт) , потом его делить и передавать на ESP. Начинаю пробовать добавлять датчики в скетч Метеостанции.
  3. post125

    Метеостанция на ESP8266 от it4it.club

    Благодарю за ответ! Буду пробовать. Прошу прощения за дурацкие вопросы.
  4. post125

    Метеостанция на ESP8266 от it4it.club

    что-то не хочет компилироваться: float2byte:9:3: error: stray '\357' in program Serial.printf ("f1: %f\r\nf2: %f\r\n", f1, f2); ^ float2byte:9:3: error: stray '\273' in program float2byte:9:3: error: stray '\277' in program float2byte:9:3: error: stray '\357' in program float2byte:9:3: error: stray '\273' in program float2byte:9:3: error: stray '\277' in program exit status 1 stray '\357' in program
  5. post125

    Метеостанция на ESP8266 от it4it.club

    Благодарю за ответ, буду пробовать. А если фигурирует seral, надо Мини к ESP по uartу подключать?
  6. post125

    Метеостанция на ESP8266 от it4it.club

    Добрый день! Благодарю за ответ. У меня так и получается, что та ProMini , которая рядом с ESP, получает данные от пяти удаленные ProMini, причем каждая удаленная ProMini передает данные массивом от 3 до 8 параметров. Эти данные принимаются и висят в памяти этой принимающей ProMini. А вот забрать ESPшкой я не понимаю как. Подскажите, пожалуйста, где почитать как разобрать данные float (либо int) на байты и обратно. Ничего вразумительного в сети не нашел. Застрял на этой передаче данных по I2C и не вижу просвета... Заранее благодарен.
  7. post125

    Метеостанция на ESP8266 от it4it.club

    Добрый день! Соединил ESP(master) c ProMini(c NRF)(slave). ProMini принимает данные с датчика через NRF и отдаёт ESP. Но возникла проблема в том, что Wire.h может передавать данные как byte или char, а через NRF я могу иередать массив из 8-ми float (либо из 16-ти int). Соответственно, ESP в serial выдаёт не то, что хотелось бы видеть. Можете подсказать, как разобрать массив из floatов на байты и после передачи обратно собрать из байтов во float? Либо, может быть, возможен другой путь?
  8. post125

    Метеостанция на ESP8266 от it4it.club

    не стал откладывать на завтра, сделал сегодня. ESPке не понравиля символ & , ответила ошибкой 500
  9. post125

    Метеостанция на ESP8266 от it4it.club

    Благодарю за ответ! Старый пароль записан, завтра проверю и найду что не понравилось ESPке.
  10. post125

    Метеостанция на ESP8266 от it4it.club

    Заменил пароль на буквенно-цифровой, стало сохраняться.
  11. post125

    Метеостанция на ESP8266 от it4it.club

    Добрый вечер! Есть ли какие либо ограничения по используемым символам в SSID и пароле. Не могу понять , почему к одной сети подключается, а к другой нет. И то сохраняет настройки сети в вебинтерфейсе, то нет.(не ругается, пишет, что сохранено, но при перезагрузке контроллера или страницы остаются старые значения)
  12. post125

    Метеостанция на ESP8266 от it4it.club

    Спасибо, буду пробовать. К ESP будет подключен только один датчик BME280 по i2c для давления, темп и влаж в помещении. Всё остальное через ардуину (скорее Нано) с приемнком NRF. Каждый передатчик NRF может за раз передать массив из 8 floatов, из них 1 уйдёт на напряжение батареи. Поскольку каждая NRF передает данные в своей трубе, то идентификатор передавать не надо. 7 floatов остается на датчики. И таких NRF можно подключить 5шт. (не строя сеть для экономии батарей). Полагаю, мне этого хватит.
  13. post125

    Метеостанция на ESP8266 от it4it.club

    Добрый день! За прошедшее время освоил передачу данных через NRF24 с датчиков , подключенных к ProMini . И прием данных на Мегу с выводом на экран . Теперь в раздумье, как забрать ESPшкой с Меги (или Нано) полученные данные датчиков. Как Вы уже рекомендовали, хочу подключить Ардуину как slave к ESP по I2C. Нашел библиотеку iarduino_I2C_connect для этих целей. Думаю, должно получиться. А вот как потом эти данные переварить в ESP и отправить в локальный web-сервер и (или) народный монитор? Подскажите, пожалуйста, куда копать, а то несколько дней никак не могу сообразить, с чего начать. PS: пробывал перепаивать на ESP 64Mbit и 128Mbit флеш , программировал как Generic ESP8266 module в формате 8(7SPIFFS) и 16(15SPIFFS). Ваша метеостанция работает, в веб-интерфейсе корректно отображается размер установленной памяти. Так что запас для модификации веб-интерфейса есть.
  14. post125

    Метеостанция на ESP8266 от it4it.club

    Добрый день! Попробовал залить Вашу версию, не может найти библиотеку U8g2lib, Откуда закачать? Благодарю за ответы, прошу прощения за невнимательность - на версии вообще не обратил внимание. Все залилось, точка доступа появилась, приступаю к изучению. Тёмный лес, конечно же для меня, но "дорогу осилит идущий". Спасибо!
  15. post125

    Метеостанция на ESP8266 от it4it.club

    Благодарю за ответ, 1. с сегодняшнего дня решил начать пробовать программировать ESP, взял Вашу стандартную прошивку, подсоединил поддержку ESP в Arduino IDE, выделил 3Мб под SPIFFS. залил "ESP8266 Sketch Data Upload". а воот надо ли нажимать кнопку обычной загрузки скетча? у меня выдает ошибку - с этим разобрался, а вот теперь пишет другие ошибки: Arduino: 1.8.5 (Mac OS X), Плата:"NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, 4M (3M SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 115200" In file included from /Users/i74790/Documents/Arduino/ESP8266_WS_V2.0_iT4IT.CLUB/ESP8266_WS_V2.0_iT4IT.CLUB.ino:24:0: sketch/config.h: In member function 'bool config::read()': config.h:151: error: 'DynamicJsonBuffer' was not declared in this scope DynamicJsonBuffer jsonBuffer; ^ config.h:151: error: expected ';' before 'jsonBuffer' DynamicJsonBuffer jsonBuffer; ^ config.h:152: error: 'jsonBuffer' was not declared in this scope JsonObject &json = jsonBuffer.parseObject(configFile); ^ config.h:154: error: 'class ArduinoJson650_0_0::JsonObject' has no member named 'success' if (json.success()) { ^ sketch/config.h: In member function 'bool config::write()': config.h:171: error: 'DynamicJsonBuffer' was not declared in this scope DynamicJsonBuffer jsonBuffer; ^ config.h:171: error: expected ';' before 'jsonBuffer' DynamicJsonBuffer jsonBuffer; ^ config.h:172: error: 'jsonBuffer' was not declared in this scope JsonObject& json = jsonBuffer.createObject(); ^ config.h:178: error: 'class ArduinoJson650_0_0::JsonObject' has no member named 'printTo' if (json.printTo(configFile)) { ^ sketch/config.h: In member function 'bool config::write(String)': config.h:189: error: 'DynamicJsonBuffer' was not declared in this scope DynamicJsonBuffer jsonBuffer; ^ config.h:189: error: expected ';' before 'jsonBuffer' DynamicJsonBuffer jsonBuffer; ^ config.h:190: error: 'jsonBuffer' was not declared in this scope JsonObject& json = jsonBuffer.parseObject(apiSave); ^ config.h:191: error: 'class ArduinoJson650_0_0::JsonObject' has no member named 'success' if (json.success()) { ^ exit status 1 'DynamicJsonBuffer' was not declared in this scope 2 второй вопрос по плате ATmega 2560 с 32Мб - там встроен ESP8266, всё равно надо внешний подключать? ATmega 2560 с 32Мб больше нет в наличии, может использовать обычную Мегу с SD-картой? На Алиэкспрессе некоторые продавцы пишут, что это 32 Мбита=4Мбайта, что , скорее всего так и есть, тем более, что в даташите указано на максимальный теоретический объём памяти в 16Мбайт. Может, к ESP8266 прикрутить SD-карту или, если общаться с датчиками будет Мега, на долю ESP останется свой сервер и передача данных на удаленный сервер. В таком случае может и 3МБ хватит? продавец в России подтвердил 32 Мегабита
  16. post125

    Метеостанция на ESP8266 от it4it.club

    Премного благодарен за подробное объяснение. Понял, что малое количество портов на ESP8266 не проблема. Продумаю конфигурацию, начну пробовать. Еще раз спасибо! Есть плата 2в1 Мега+ESP https://robotdyn.ru/catalog/arduino/boards/mega_wifi_r3_atmega2560_esp8266_flash_32mb_usb_ttl_ch340g_micro_usb.html Может на ней собрать? Мега будет собирать данные с со всех датчиков, а ЕСП делать всё остальное? Или лучше отдельно Мегу и отдельно ESP?
  17. post125

    Метеостанция на ESP8266 от it4it.club

    Добрый день! Прочитал вчера все 20 страниц этой темы, круто, голова распухла. Хочу собрать метеостанцию для дома , улицы и теплицы в одном флаконе. Ответьте, пожалуйтста, на вопрос - получится ли собрать метеостанцию без исполнительных модулей на основе модели в этой теме в следующей конфигурации: 1.esp8266, 2. датчик давления ESP180 -1шт. (через провод), 3. четыре датчика температуры и влажности hdc1080 (из них 2 собраны на Ардуино Мини каждый и передают данные через NRF24L01), 4. два датчика температуры DS18B20 (через провод), 5. датчик скорости и направленя ветра (собраны на Ардуино Мини и передают данные через NRF24L01), 6. модуль RTC DS3231 и синхронизация времени через интернет, 7. еще один датчик температуры на Ардуино Мини на DS18B20 и анализом наличия сети 220В на 3-х каналах (генератор, обычная сеть и бесперебойник) с передачей через NRF24L01. 8. датчик осадков (либо через провод, либо через NRF24L01) 8. Дисплей c интерфейсом I2C 9. Данные надо передавать на внешний сервер, от внутреннего сервера можно отказаться, если не будет хватать памяти 10. для сохранения логов хотелось бы воспользваться SDкартой через Micro SD SPI адаптер 10. Если вдруг хватит входов еще 2 отдельных датчика DS18B20 через NRF24L01. Вопрос достаточно абстрактный - хватит ли входов и памяти у esp8266 для реализации этого. Если такое возможно, начну изучать тему и пробовать. Сам оценить такую возможность не в состоянии,т.к. опыт в ардуине практически нулевой. Заранее благодарен за ответ
×
×
  • Создать...