ESP32

Модератор: Alex

serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: ESP32

Сообщение serghei » Пн авг 21, 2017 10:44 pm

Приехало сегодня еще две разных платы ESP32. Одна как на картинке у Alex . Помучился пока залил AMS. Зато реально все летает! Даже если быстро переключать страницы и темы. Зато внутри запаянного пакета на плате оказалась вода. Сама плата запаяна очень аккуратно. Вот и думай после этого - что китайцы продают под видом ESP32 - ТРИ одинаковых чипа ведут себя абсолютно по разному !
СпойлерПоказать
  • AMS for ESP32 SD started...
    Module Random... started
    Module EEPROM (NVS)...
    Name: ESP32 SD
    ID: DQ433-96W6M-JLFGS
    Address: 158
    ===========
    Module Hardware...
    Arduino IDE: 1.6.5
    SDK version: v2.0-rc1-803-g1e0710f1
    Chip revision: 0
    Chip ID: 848F04A4AE30
    CPU freq: 240 MHz
    Free memory: 205780 (72%)
    Flash mode: 2
    Flash speed: 80 MHz
    Flash size: 4194304
    Self temp: 56.1 C
    ===========
    Module Wi-Fi...
    Connecting to mega ..
    WiFi: connected
    IP address: 192.168.2.72
    ===========
    Module SD...
    Init: OK
    Type: SDHC
    Size: 30255 MB
    Check: ..................
    Files: 189
    Total: 19467191 B
    Empty: 3
    Index: found
    ===========
    Module NTP...
    Server: 129.6.15.30
    Port: 123
    ===========
    Module Time...
    Provider: network
    NTP request: OK
    ===========
    2017-08-21 21:49:37 Module Server... started
    2017-08-21 21:49:37 Module Upload... started
    2017-08-21 21:49:37 Module Send... started
    2017-08-21 21:49:37 Parasite power OFF
    2017-08-21 21:49:37 Found 0 devices
    2017-08-21 21:49:37 #0: 0 0 0 0 0 0 0 tempSTR
    2017-08-21 21:49:37 #1: 0 0 0 0 0 0 0 tempHOM
    2017-08-21 21:49:37 #2: 0 0 0 0 0 0 0 tempWRM
    2017-08-21 21:49:37 Module Temp... started
    2017-08-21 21:49:37 Module Contacts... started
    2017-08-21 21:49:37 Module PIR... started
    2017-08-21 21:49:37 Module LED... started
    2017-08-21 21:49:37 Module Keys... started
    2017-08-21 21:49:37 Module Robotdyn... started
    2017-08-21 21:49:37 Module DHT... started
    GLOBAL Init DONE (19s)

    AMS WORK
    2017-08-21 21:49:37 : 134116 (46%) 134116
    due=1
    ?esp=1
    ?esp=1
    ?esp=1
    ?esp=1
    ?esp=1
    due=1
    ?esp=1
    ?esp=1
    ?esp=1
    due=1
    ?esp=1
    Humidity: 40.00 % Temperature: 25.00 *C
    2017-08-21 21:50:17 : 132600 (46%) -1516
    Self temp: 58.3 C
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
AVK74
Сообщения: 17
Зарегистрирован: Вс авг 02, 2015 10:58 am
Благодарил (а): 0
Поблагодарили: 0

Re: ESP32

Сообщение AVK74 » Сб авг 26, 2017 4:15 am

Будет ли работать с exfat карточкой на 64 гига?
Так то все прошилось, адрес пингуется, но в браузере фига.
Как то можно понять, подцепилась карта или нет?
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: ESP32

Сообщение serghei » Сб авг 26, 2017 8:13 am

Выложите скриншот запуска АМС. У меня работает с 32-Гиг . Но есть пара моментов. Карта проверяется 12 секунд , потом стартует. Файловую систему определяет правильно , но на странице "SD card.htm" пишет - неизвестная система.
Посмотрите мой вывод в сериал.
СпойлерПоказать
  • ===========
    Module SD...
    Init: OK // инициализация карты
    Type: SDHC // Тип карты
    Size: 30255 MB // Размер
    Check: .................. // Проверка 12 секунд
    Files: 189 // Количество файлов
    Total: 19467191 B // Размер всех файлов
    Empty: 3 // ???
    Index: found // Начальная страница в вебе
    ===========
Если есть подобное , будем разбираться дальше.

PS. Вообще по поводу карт. Во всех документациях сказано - до 32 Гигов. И на всех контроллерах это работает. Вот найти этому применение сложно. Даже если напихать всевозможных библиотек , от силы 10 мегабайт наберется. Файлы истории тоже занимают копейки ( 5 000 строк около 100 кило ). Вот как FTP сервер держать , то не написан код для этого. С другой стороны меня сильно напрягают страшилки про умирание карт при частой записи на них.
Как выход - есть библиотека для работы с двумя картами - на одной система , на другой дополнительные файлы.
На выходных попробую запустить и потестить.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
AVK74
Сообщения: 17
Зарегистрирован: Вс авг 02, 2015 10:58 am
Благодарил (а): 0
Поблагодарили: 0

Re: ESP32

Сообщение AVK74 » Сб авг 26, 2017 8:10 pm

AMS for ESP32 SD started...
Module Random... started
Module EEPROM (NVS)...
Name: ESP32 SD
ID: 6R5YS-TZMAY-9HWCW
Address: 232
===========
Module Hardware...
Arduino IDE: 1.8.3
SDK version: v3.0-dev-205-g9314bf0d
Chip revision: 0
Chip ID: 282406A4AE30
CPU freq: 240 MHz
Free memory: 196732 (68%)
Flash mode: 2
Flash speed: 80 MHz
Flash size: 4194304
Self temp: 51.1 C
===========
Module Wi-Fi...
Connecting to megafon .........
WiFi: connected
IP address: 192.168.1.70
===========
Module SD...
Init: failed
Module NTP...
Server: 129.6.15.30
Port: 123
===========
Module Time...
Provider: network
NTP request: OK
===========
2017-08-26 20:04:26 Module Server... started
2017-08-26 20:04:26 Module Upload... started
2017-08-26 20:04:26 Module Send... started
2017-08-26 20:04:26 Module Contacts... started
2017-08-26 20:04:26 Module PIR... started
2017-08-26 20:04:26 Module LED... started
2017-08-26 20:04:26 Module Keys... started
GLOBAL Init DONE (6s)

AMS WORK
2017-08-26 20:04:26 : 158484 (55%) 158484



Походу не видит он карты

*** Сообщение запрещено. Сообщение похоже на спам. ***
AVK74
Сообщения: 17
Зарегистрирован: Вс авг 02, 2015 10:58 am
Благодарил (а): 0
Поблагодарили: 0

Re: ESP32

Сообщение AVK74 » Сб авг 26, 2017 10:16 pm

Да, с картой на 16 гиг запустилось, значит не держит 64
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: ESP32

Сообщение serghei » Пт сен 01, 2017 11:05 pm

Мысли в слух.
Мощи ЕСР32 до дуры)). И если АМС умеет ползти на NTP сервера и распарсивать ответ , то почему бы его не запулить на сайт погоды? И уже есть замечательный проект Погодной Станции с OLED дисплеем , который умеет забирать данные с сайта Wunderground.com и выводить всю инфу на экран.
Ответ получаем в JSON формате. А хочется вывести всё в браузер. Как обрабатывать JSON строку и выводить в браузер я уже вижу. Только кроме ВАС мне посоветоваться не с кем.
У меня уже есть два кода , которые обрабатывают JSON, и мне кажется , что обработчик надо оставить один. Или на каждой вкладке свой? Пример с данными " Радио"
СпойлерПоказать

Код: Выделить всё

// ----- Radio data functions -----

/// Response to a $info request and return all information of the current radio operation.
/// Format al data as in JSON Format.\n
void respondRadioData()
{
  DEBUG_FUNC0("respondRadioData");
  char s[12];
  StringBuffer sout = StringBuffer(_writeBuffer, sizeof(_writeBuffer));

  // build http header in _writeBuffer and send out.
  sout.append(HTTP_200);
  sout.append(HTTP_CT); sout.append("application/json"); sout.append(CRLF);
  sout.append(HTTP_GENERAL);
  sout.append(HTTP_NOCACHE);
  sout.append(HTTP_ENDHEAD);
  _client.print(_writeBuffer);

  // JSON Data
  sout.clear();
  sout.append('{');
  
  // return frequency
  sout.appendJSON("freq", (int)(radio.getFrequency())); sout.append(',');
  sout.appendJSON("band", (int)(radio.getBand()));  sout.append(',');

  // return radio related features
  RADIO_INFO ri;
  radio.getRadioInfo(&ri);
  sout.appendJSON("mono", ri.mono);  sout.append(',');
  sout.appendJSON("stereo", ri.stereo); sout.append(',');
  // respondJSONObject("rds", ri.rds); sout.append(',');      // has rds signal

  // return rds information 
  sout.appendJSON("servicename", rdsServiceName); sout.append(',');
  sout.appendJSON("rdstext", rdsText); sout.append(',');

  // return audio related features
  AUDIO_INFO ai;
  radio.getAudioInfo(&ai);

  sout.appendJSON("vol", ai.volume); sout.append(',');
  sout.appendJSON("mute", ai.mute); sout.append(',');
  sout.appendJSON("softmute", ai.softmute); sout.append(',');
  sout.appendJSON("bassboost", ai.bassBoost);

  sout.append('}');
  _client.print(_writeBuffer);
} // respondRadioData()

// - - - - - - - - - - - - - - - - - - - - - - - - - -

И это работает. Пример с сайтом погоды
СпойлерПоказать

Код: Выделить всё

bool  CurrCondObj(String* currCondString){
  api_error = false;
  // When using a StaticJsonBuffer you must allocate sufficient memory for the json string returned by the WU api
  Serial.println("Creating object...");
  DynamicJsonBuffer jsonBuffer(5*1024);
  // Create root object and parse the json file returned from the api. The API returns errors and these need to be checked to ensure successful decoding
  JsonObject& root = jsonBuffer.parseObject(*(currCondString));
  if(root.success()) {
    Serial.println("root object created...");
    JsonObject& CurrentObservation = root["current_observation"];
    if(CurrentObservation.success()) {
      Serial.println("CurrentObservation object created...");
      // Now process the  "display_location":
      JsonObject& CurrentObservation_display_location     = CurrentObservation["display_location"]; // Set root location
      
      CurrentObservation_location_full            = CurrentObservation_display_location["full"]; 
      CurrentObservation_location_city            = CurrentObservation_display_location["city"];
      CurrentObservation_location_state           = CurrentObservation_display_location["state"]; 
      CurrentObservation_latitude                 = CurrentObservation_display_location["latitude"]; 
      CurrentObservation_longitude                = CurrentObservation_display_location["longitude"]; 
      CurrentObservation_elevation                = CurrentObservation_display_location["elevation"]; 
      CurrentObservation_location_state_name      = CurrentObservation_display_location["state_name"]; 
      CurrentObservation_location_country         = CurrentObservation_display_location["country"]; 
      CurrentObservation_location_country_iso3166 = CurrentObservation_display_location["country_iso3166"]; 
      CurrentObservation_location_zip             = CurrentObservation_display_location["zip"]; 
      
      CurrentObservation_local_time_rfc822        = CurrentObservation["local_time_rfc822"]; 
      CurrentObservation_observation_time         = CurrentObservation["observation_time"]; 
      CurrentObservation_weather                  = CurrentObservation["weather"]; 
      CurrentObservation_temperature_string       = CurrentObservation["temperature_string"]; 
      CurrentObservation_temp_f                   = CurrentObservation["temp_f"]; 
      CurrentObservation_temp_c                   = CurrentObservation["temp_c"]; 
      CurrentObservation_dewpoint_f               = CurrentObservation["dewpoint_f"]; 
      CurrentObservation_dewpoint_c               = CurrentObservation["dewpoint_c"]; 
      CurrentObservation_heat_index_f             = CurrentObservation["heat_index_f"]; 
      CurrentObservation_heat_index_c             = CurrentObservation["heat_index_c"]; 
      CurrentObservation_windchill_f              = CurrentObservation["windchill_f"]; 
      CurrentObservation_windchill_c              = CurrentObservation["windchill_c"];       
      CurrentObservation_relative_humidity        = CurrentObservation["relative_humidity"]; 
      CurrentObservation_wind_string              = CurrentObservation["wind_string"]; 
      CurrentObservation_wind_mph                 = CurrentObservation["wind_mph"]; 
      CurrentObservation_wind_kph                 = CurrentObservation["wind_kph"]; 
      CurrentObservation_wind_dir                 = CurrentObservation["wind_dir"]; 
      CurrentObservation_wind_degrees             = CurrentObservation["wind_degrees"]; 
      CurrentObservation_pressure_mb              = CurrentObservation["pressure_mb"]; 
      CurrentObservation_pressure_in              = CurrentObservation["pressure_in"]; 
      CurrentObservation_pressure_trend           = CurrentObservation["pressure_trend"]; 
      CurrentObservation_precip_today_string      = CurrentObservation["precip_today_string"]; 
      CurrentObservation_precip_today_in          = CurrentObservation["precip_today_in"];
      CurrentObservation_precip_today_metric      = CurrentObservation["precip_today_metric"]; 
      CurrentObservation_visibility_mi            = CurrentObservation["visibility_mi"];
      CurrentObservation_visibility_km            = CurrentObservation["visibility_km"];
      CurrentObservation_icon                     = CurrentObservation["icon"]; 
      return true;
    }

 
Короче - по рознь все это работает , а хочется собрать в одном месте.
PS Замечания по коду погоды ( если кто захочет повторить) . Для начала надо получить API key. Простая регистрация на сайте. Адрес I2C шины прописывать так

Код: Выделить всё

//SH1106Wire display(0x3c, 5,4); // OLED display object definition (address, SDA, SCL)
SH1106Wire display(0x3c, 21,22); // OLED display object definition (address, SDA, SCL) // ESP32


Родной NTP сервер не работал , пока не поменял из AMS

Код: Выделить всё

  //configTime(1, 3600, "pool.ntp.org");

  configTime(1, 3600, "time-c.nist.gov");

Время отстает на 2 часа. 1 - это случайно не тайм-зона??
Страну прописывать в международном коде. Для России RU (Для Молдовы MD)
Экран на 1.3 дюйма светит отлично , но только маловат для моих глаз :evil:
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
alexsis_76
Сообщения: 791
Зарегистрирован: Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

Re: ESP32

Сообщение alexsis_76 » Сб сен 02, 2017 9:54 am

Как обрабатывать JSON строку и выводить в браузер я уже вижу
Обрабатывать строку не надо,передай прямо на страницу а на странице скрипт пускай и обрабатывает.
Аватара пользователя
VooDooN
Сообщения: 307
Зарегистрирован: Сб июн 11, 2016 12:02 am
Благодарил (а): 170 раз
Поблагодарили: 64 раза

Re: ESP32

Сообщение VooDooN » Чт ноя 30, 2017 11:35 am

Интересные новости попались на глаза: https://www.cnx-software.com/2017/11/28 ... ent-board/. Похоже, что Xiaomi готовит к выпуску свою собственную SDK для ESP32 и свой модуль, которые будут работать с miyia. Что это значит - пока не понятно, но явно что-то интересное намечается:
Фотки:
СпойлерПоказать
Изображение

Изображение

Изображение
*** Сообщение запрещено. Сообщение похоже на спам. ***
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: ESP32

Сообщение serghei » Пн апр 23, 2018 9:43 pm

Приехала сегодня ещё одна ESP32.... Купился на внешнюю антенну и какой то разъем , очень похожий на батарейку. Плата.
Залил AMS. Получил в сериале
СпойлерПоказать
  • Module NTP...
    Server: 129.6.15.30
    Port: 123
    ===========
    Module Time...
    Provider: network
    NTP request: OK
    ===========
    2018-04-23 21:27:20 Module Server... started
    2018-04-23 21:27:20 Module Upload... started
    2018-04-23 21:27:20 Module Send... started
    2018-04-23 21:27:20 Module LED... started
    GLOBAL Init DONE (5s)

    AMS WORK
    2018-04-23 21:27:20 : 146740 (51%) 146740
    2018-04-23 21:28:14 : 146744 (51%) 4
    Self temp: 91.1 C
    2018-04-23 21:29:14 : 146744 (51%) 0
    Self temp: 92.2 C
Что бы ЭТО значило??? Оказывается старый NTP сервер работает , а температура 92 С ???? При этом чип еле теплый. При этом никакой информации о плате и разъёме на официальном сайте.
Я в диком шоке.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
eGorka
Сообщения: 182
Зарегистрирован: Чт ноя 24, 2016 10:47 am
Благодарил (а): 5 раз
Поблагодарили: 25 раз

Re: ESP32

Сообщение eGorka » Вт апр 24, 2018 8:21 am

serghei писал(а):
Пн апр 23, 2018 9:43 pm
... а температура 92 С ???? При этом чип еле теплый. ...
Кривой сенсор в чипе, как и у меня.
serghei писал(а):
Пн апр 23, 2018 9:43 pm
...При этом никакой информации о плате и разъёме на официальном сайте. ...
На чьём официальном сайте?
Ответить