Интернет радиоприемник ESP32 v2

Тема в разделе "ESP8266, ESP32", создана пользователем rv9c, 20 ноя 2019.

  1. DMS

    DMS Нерд

    Это репорт автору по основному WIFI режиму.
     
  2. rv9c

    rv9c Гик

    Для информации, сайт проектов на esp8266 esp32 esp-radio.ru переезжает на новый домен и хостинг https://espradio.ru/.
     
  3. DMS

    DMS Нерд

    rv9c, посмотрел ЛОГ
    Код (Text):
    ITime Ready!
    192.168.1.204
    [I][ssl_client.cpp:156] start_ssl_client(): WARNING: Use certificates for a more secure communication!
    [E][ssl_client.cpp:33] _handle_error(): [start_ssl_client():199]: (-10368) X509 - Allocation of memory failed
    [E][WiFiClientSecure.cpp:132] connect(): start_ssl_client: -10368
    Error Service 1

    Connect to new host: https://cdn12.deliciouspeaches.com/get/music/20190915/SAINt_JHN_Imanbek_-_Roses_66582659.mp3
    Connect to cdn12.deliciouspeaches.com on port 443, extension /get/music/20190915/SAINt_JHN_Imanbek_-_Roses_66582659.mp3
    streaminfo  Connect to cdn12.deliciouspeaches.com on port 443, extension /get/music/20190915/SAINt_JHN_Imanbek_-_Roses_66582659.mp3
    [I][ssl_client.cpp:156] start_ssl_client(): WARNING: Use certificates for a more secure communication!
    [E][ssl_client.cpp:33] _handle_error(): [start_ssl_client():190]: (-32512) SSL - Memory allocation failed
    [E][WiFiClientSecure.cpp:132] connect(): start_ssl_client: -32512
    Request cdn12.deliciouspeaches.com/get/music/20190915/SAINt_JHN_Imanbek_-_Roses_66582659.mp3 failed!
    station    
    streamtitle
    streaminfo
    [D][WiFiClient.cpp:509] connected(): Disconnected: RES: 0, ERR: 128
    [D][WiFiClient.cpp:509] connected(): Disconnected: RES: 0, ERR: 128
    [D][WiFiClient.cpp:509] connected(): Disconnected: RES: 0, ERR: 128
    Выяснил что во флешке образовалась дырка.
    Запись в диапазоне 0x200000 - 0x300000 - невозможна.
    Что там?

    Подключил энкодер как в Карадио - заработал как полагается.
    Подключил UDA1334 вместо PCM5102 - жутко фонит.
    Serpot80, как подключал UDA1334?
     
  4. rv9c

    rv9c Гик

    Хм. Как определили что дырка в этом диапазоне ?

    По Uda1334, если память не изменяет ее выводы 11 и 7 необходимо притянуть к gnd.
    Пробовал ее вместо tda1387, она замечательно на наушники работает.
     
  5. DMS

    DMS Нерд

    Пытался записывать мелкий файл по разным адресам. В диапазоне 0x200000 - 0x300000 ничего не удается. В остальном норм.
    Код (Text):
    [espDownloader.py][line:574][ERROR]: ESP32 Chip flash download error esp_write_flash.
    Попробую. Еще DEM и PLL тоже наверно надо притягивать. Посмотрю что в даташите пишут.
    Да, показалось что погромче, пободрее на наушники выдает чем PCM5102.[/code]
     
  6. rv9c

    rv9c Гик

    )
    Вот на скорую руку нашел разметку адресного пространства есп32
    [​IMG]

    Тут можно более подробно почитать https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/partition-tables.html

    Грубо говоря диапазон от 0x120000 - 0x320000 отведен под OTA (обновление по воздуху), но может быть использован и под другие цели такие как место под "прошивку", место под spiffs, и прочее в зависимости от разметки памяти при компиляции.
    Конкретно в моем проекте от 0x120000 - 0x290000 отведен под OTA, поэтому когда пишете в приделах этой области то ничего не происходит.
     
  7. DMS

    DMS Нерд

    У меня сейчас невозможно никакую прошивку залить. Ни ESPradio_V2 ни Karadio.
    Как доходит до 0x200000
    Код (Text):
    Writing at 0x001f8000... (49 %)66Loader_spi[1]][espDownloader.py][line:1891][INFO]:
    Writing at 0x001fc000... (50 %)66Loader_spi[1]][espDownloader.py][line:1891][INFO]:
    Writing at 0x00200000... (50 %)66Loader_spi[1]][espDownloader.py][line:1891][INFO]:
    [ESP8266Loader_spi[1]][espDownloader.py][line:574][ERROR]: ESP32 Chip flash download error esp_write_flash.
    Но последняя ESPradio_V2, которая была залита до того как всплыла эта проблема, прошивается без ошибки.
    И в логе ESPradio_V2
    Код (Text):
    [E][ssl_client.cpp:33] _handle_error(): [start_ssl_client():199]: (-10368) X509 - Allocation of memory failed
    Если пропустить 0x200000 - 0x300000 то заливается любая прошивка.
     
  8. DMS

    DMS Нерд

    Значит если не пользоваться ОТА должно работать?
    А в 0x290000 - 0x300000 что?
     
  9. rv9c

    rv9c Гик

    По идее вроде как должно работать).
    Начиная с 0x290000 до конца разметки там spiffs (html страничка, настройки приемника, озвучка, плейлист)

    Попробуйте прошить бланк файлом размером 4мб начиная с 0x0. Потом после перезапуска модуля прошить весь пакет бинарников.
     
  10. DMS

    DMS Нерд

    WEB страничка работает, настройки настраиваются, озвучка говорит, плейлист сохраняется (весь не проверял).
    Не работают https.
    Пробовал, то же самое. До 0x200000 доходит и все.
    После 0x300000 тоже все нормально заливается.
     
  11. Serpot80

    Serpot80 Гик

    Кроме питания и шины I2S ничего не использовал на модуле UDA1334, отлично работает и так.
     
  12. rv9c

    rv9c Гик

    Какую версию прошивки используете?
    Проверял приведенные выше https потоки на 62 версии поют замечательно. Видео вроде уже выкладывал

     
  13. DMS

    DMS Нерд

    63-ю
    Так с этого и началось ))
    Я полез смотрель ЛОГ, почему не поет. А в логе ругательства на память:
    Код (Text):
    [E][ssl_client.cpp:33] _handle_error(): [start_ssl_client():199]: (-10368) X509 - Allocation of memory failed
    Решил перезалить прошивку и обнаружил что ERASE не выполняется. Прошивки не заливаются.
    Начал искать где дырка. Записывал пустышку блоками по 100Кб.
    Выяснил что в диапазоне 0x200000 - 0x300000 запись невозможна.
    Похоже что все работает. Кроме HTTPS и ОТА.
     
  14. rv9c

    rv9c Гик

    С подобной проблемой столкнулся еще один человек) не мог записать в область 0х200000.
    Решил проблему следующим образом, процитирую дословно:

    "
    Добрый день.
    Ссылка: https://github.com/espressif/esptool.
    Команда описанная в данной ссылке:

    esptool.py --port COM4 write_flash 0x1000 my_app-0x01000.bin

    Соответственно подставил свой порт и bin файл.

    Также можно сразу списком:

    esptool.py --port COM4 write_flash 0x00000 my_app.elf-0x00000.bin 0x40000 my_app.elf-0x40000.bin

    Правда сначала установил последнюю версию Python, ну и саму esptool.

    Все описано по ссылке.
    "
     
  15. DMS

    DMS Нерд

    Он наверно неправильно указал размер флешки в прошивальщике.
    У меня в 0х300000-0х400000 пишет без проблем.
    Вручную через Питон и esptool - так же.

    UDA1334 странная. При стандартном подключении как PCM5102 - заикается что-ли, не знаю как объяснить, как будто клиппинг (на любом уровне громкости). Немного помогает резистор в разрыв BCK. Значительно помогает резистор в разрыв WSEL или подтяжка WSEL к GND.
    SF1, SF0, DEM, PLL на GND подключал - нет эффекта.
     
    Последнее редактирование: 11 мар 2021
  16. DMS

    DMS Нерд

    Сейчас только обратил внимание - у меня же 63 прошивка. А в ней
    начинается c 0x00310000. Т.е. должно работать все кроме ОТА.
    А почему https не поет?
    Если надо скину полностью ЛОГ.
    Но там всегда:
    Код (Text):
    [E][ssl_client.cpp:33] _handle_error(): [start_ssl_client():199]: (-10368) X509 - Allocation of memory failed
     
  17. Catbear

    Catbear Гик

    To rv9c:

    https://espradio.ru/iradio_v2/espradio_v2_rev_3_2.jpg
    Подскажите, pl, эти модификации (красным на схеме обведено, option) связаны с управлением подсветкой и энергопотребелением?
     
  18. Serpot80

    Serpot80 Гик

    Супервизор питания, когда оно падает ниже порога, микросхема дает ресет на esp32
     
  19. Catbear

    Catbear Гик

    Спасибо за пояснения.
    Что это даёт? Флеш не портится на модуле при снижении питания?
     
  20. DMS

    DMS Нерд

    Новая схемка..
    Снизу точно для регулирования уровня подсветки. Как backlight в Карадио.
    Только на большинстве дисплейных модулей Led(-) не выведен.

    Что были прецеденты? Я не один с дохлым флешем? ))