Уважаемые посетители! Форум CQHAM.RU существует исключительно за счет показа рекламы. Мы будем благодарны, если Вы не будете блокировать рекламу на нашем Форуме. Просим внести cqham.ru в список исключений для Вашего блокировщика рекламы.
Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя
Показано с 21 по 30 из 50

Тема: Проект выходного дня: Интернет-радио на ESP32+VS1053+ILI9341

  1. #21
    Аватар для IG_58
    Регистрация
    27.10.2012
    Адрес
    Германия
    Сообщений
    13,014
    Записей в дневнике
    18
    Замечательно Это фрагмент displayinfo?
    Игорь


  2. #22
    Аватар для Egen_M
    Регистрация
    23.12.2019
    Адрес
    Московская область
    Сообщений
    18
    Цитата Сообщение от IG_58 Посмотреть сообщение
    Замечательно Это фрагмент displayinfo?
    Да это от туда. Я добавил вывод адреса радиосайта. Вроде бы не плохо смотрится.
    Нажмите на изображение для увеличения. 

Название:	123.jpg 
Просмотров:	406 
Размер:	168.5 Кб 
ID:	327428
    //--------------------------------------- проба
    if ( inx == 2 )
    {
    dsp_fillRect ( 0, 193, width, p->height+40, BLACK ) ; // очистить экран
    dsp_fillRect(0, 193, width, 1, GREEN); // показать разделитель над текстом
    dsp_setTextColor ( GREEN ) ;
    dsp_setCursor ( 0, 210 );
    String n_presset = readhostfrompref(cur rentpreset);
    uint8_t n_simvola = n_presset.indexOf("# ");
    dsp_println (n_presset.substring (n_simvola + 2)); // +2 это чтобы символ '#' с пробелом не попадал на экран
    dsp_setTextColor ( 0xC618 ) ; // светлосерый
    dsp_setCursor ( 0, 300 );
    dsp_println (hostwoext); // выводим адрес сайта радиостанции
    }
    //-----------------------------------------------

    Для вывода адреса станции, переменную hostwoext я сделал глобальной. Вот в этой функции

    String hostwoext = host ; // сделал глобальной
    //******************** ******************** ******************** ******************** ******************
    // C O N N E C T T O H O S T *
    //******************** ******************** ******************** ******************** ******************
    // Connect to the Internet radio server specified by newpreset. *
    //******************** ******************** ******************** ******************** ******************
    bool connecttohost()
    {
    int inx ; // Позиция ':' в имени хоста
    uint16_t port = 80 ; // Port number for host
    String extension = "/" ; // May be like "/mp3" in "skonto.ls.lv:80 02/mp3"
    // String hostwoext = host ; // Host without extension and portnumber
    String auth ;
    .
    .

  3. Спасибо от IG_58

  4. #23
    Аватар для IG_58
    Регистрация
    27.10.2012
    Адрес
    Германия
    Сообщений
    13,014
    Записей в дневнике
    18
    Как удобно работать с открытым проектом Зная где что, теперь можно свободно менять layout по своему вкусу. Можно еще поработать с фонтами, но получилось хорошо. Нужно выбрать время и поиграться еще, интересный процесс
    Игорь

  5. #24
    Аватар для Egen_M
    Регистрация
    23.12.2019
    Адрес
    Московская область
    Сообщений
    18
    Цитата Сообщение от IG_58 Посмотреть сообщение
    Как удобно работать с открытым проектом Зная где что, теперь можно свободно менять layout по своему вкусу. Можно еще поработать с фонтами, но получилось хорошо. Нужно выбрать время и поиграться еще, интересный процесс
    Это точно!
    Я заметил ещё одну не стыковочку. При выборе кнопкой, предустановленной станции, пресет не меняется, и на экране остаётся предыдущий пресет. Как бы отследить нажатие на эту кнопку? Это конечно мелочь, но ......

    Это запись в конфиге:

    gpio_33 = station = icecast.vgtrk.cdnvid eo.ru:80/vestifm_mp3_128kbps

  6. #25
    Аватар для IG_58
    Регистрация
    27.10.2012
    Адрес
    Германия
    Сообщений
    13,014
    Записей в дневнике
    18
    Похоже, так не получится, можно только так, без назначения gpio:

    station = <mp3 stream> Select new station (will not be saved)
    station = <URL>.mp3 Play standalone .mp3 file (not saved)
    station = <URL>.m3u

    Поройтесь в analyzeCmd: const char* analyzeCmd ( const char* par, const char* val )
    Игорь

  7. #26
    Аватар для Egen_M
    Регистрация
    23.12.2019
    Адрес
    Московская область
    Сообщений
    18
    Цитата Сообщение от IG_58 Посмотреть сообщение
    Похоже, так не получится, можно только так, без назначения gpio:

    station = <mp3 stream> Select new station (will not be saved)
    station = <URL>.mp3 Play standalone .mp3 file (not saved)
    station = <URL>.m3u

    Поройтесь в analyzeCmd: const char* analyzeCmd ( const char* par, const char* val )
    Рылся, рылся ничего готового не нарыл. Решил сам написать пару строк в программу. Добавил простое сравнение адресов канала, полученных из разных переменных. Вот, что получилось:
    //----------------------------------------------------------------------------------
    if ( inx == 2 )
    {
    dsp_fillRect ( 0, 193, width, p->height+40, BLACK ) ; // очистить экран
    dsp_fillRect(0, 193, width, 1, GREEN); // показать разделитель над текстом
    dsp_setTextColor ( GREEN ) ;
    dsp_setCursor ( 0, 210 );
    String presset = readhostfrompref(cur rentpreset);
    uint8_t n_simvola = presset.indexOf("#") ; // нажодим местоположение "#"
    String n_presset = presset.substring (n_simvola+2); // имя пресета +2 чтобы символ '#' с пробелом не попадал на экран
    n_simvola = presset.indexOf(":") ; // нажодим местоположение ":"
    String n_host = presset.substring (0, n_simvola); // находим адрес станции из пресета
    if (n_host == hostwoext) // сравниваем его с адресом из переменной hostwoext
    {
    dsp_println ( n_presset ); // выводим имя канала из пресета
    } else {
    dsp_println ("ХХ - Предустановленный канал"); // сообщаем о подключении предустановленного канала
    }
    dsp_setTextColor ( 0xC618 ) ; // цвет светло-серый
    dsp_setCursor ( 0, 300 );
    dsp_println (hostwoext); // выводим адрес сайта радиостанции
    }
    //-------------------------------------------------------------------------------------

    Теперь дисплей выводит информацию правильно, так, как я хотел!

  8. #27
    Аватар для IG_58
    Регистрация
    27.10.2012
    Адрес
    Германия
    Сообщений
    13,014
    Записей в дневнике
    18
    Поздравляю!
    Иной раз мне бывает проще написать несколько строк своего кода, чем разбираться в чужом, но интереснее распутывать чужой и следить за ходом мысли
    Игорь

  9. #28
    Аватар для Egen_M
    Регистрация
    23.12.2019
    Адрес
    Московская область
    Сообщений
    18
    Цитата Сообщение от IG_58 Посмотреть сообщение
    Поздравляю!
    Иной раз мне бывает проще написать несколько строк своего кода, чем разбираться в чужом, но интереснее распутывать чужой и следить за ходом мысли
    Спасибо за поздравления, но это ещё не всё, что я хочу переделать. Например мне надо, что бы энкодер, сразу переключал станции, без какого либо нажатия на него. А громкость звука, можно и на усилителе регулировать, или кнопками, тем более это уже реализовано в проекте.
    Игорь, ещё вот, что хочу спросить:"А программой, ESP-Radio, на смартфоне, Вы пользуетесь?" Почему то у меня, при выборе Select Preset, выдаёт ошибку. (Bad arguments to +), что бы это значило?
    Последний раз редактировалось Egen_M; 06.01.2020 в 19:07.

  10. #29
    Аватар для IG_58
    Регистрация
    27.10.2012
    Адрес
    Германия
    Сообщений
    13,014
    Записей в дневнике
    18
    Это надо забить в void chk_enc() обработчики по условиям singleclick, doubleclick, tripleclick и longclick и оставить только default mode, но с логикой флага PRESET.
    Но это отдельный орган управления - регулятор или кнопки громкости. Я просто убрал режим Mute, и теперь режим выбора станций вводится и по одинарному клику, и по двойному, и ручка управления только одна.

    Программой ESP-Радио на смартфоне я не пользуюсь.
    Игорь


  11. #30
    Аватар для Egen_M
    Регистрация
    23.12.2019
    Адрес
    Московская область
    Сообщений
    18
    Игорь, и ещё один вопросик, может сталкивались. В программе можно увеличить количество пресетов (станций) до 200, и вначале инструкции к проекту, тоже сказано (Обратите внимание, что предустановленные числа варьируются от 000 до 199. Диапазон станций может быть расширен по определению MAXPRESETS.) . А вот ~ на 10 странице инструкции написано (Разрешается иметь несколько (максимум 100) линий "preset_". Номер после «_» будет использоваться в качестве предустановленного числа. ). И 100 линий это не только пресеты станций, но и установленные пины, и пароль WIFI и т.д.. Через WEB конфиг я смог ввести только 65 станций, иначе ломается весь конфиг, и приходится его формировать заново. Почему так?

Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Интернет-радиоприемник на Espressif ESP32
    от djon_bogd в разделе Конструкции на микроконтроллерах для радиолюбителей
    Ответов: 250
    Последнее сообщение: 04.03.2021, 11:21
  2. Интернет-радио в автомобиле и не только
    от R2F-010-KA в разделе Для начинающих
    Ответов: 22
    Последнее сообщение: 15.03.2018, 16:28
  3. Шкала настройки интернет-радио
    от Слесарь в разделе Темы не вошедшие в другие разделы форума
    Ответов: 16
    Последнее сообщение: 19.08.2014, 19:29
  4. интернет-радио
    от ru9tr в разделе Темы не вошедшие в другие разделы форума
    Ответов: 37
    Последнее сообщение: 11.03.2011, 04:22
  5. Ответов: 70
    Последнее сообщение: 07.04.2007, 00:23

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •