WI-FI интернет радио.

10427 ответов [Последнее сообщение]
Владимир 2018
Offline
Зарегистрирован: 17.03.2018

robot пишет:

здравствуйте, прошу помощи по edzelf - собрал с новой красной vs (поставил 3х470мкф около AMS1117, убрал микрофон), есть такие баги:

1. не регулируется громкость - в веб изменяю, уровень звука постоянный. если уменьшать, доходит до нуля, потом снова 100 и дальше. перезагрузка, стоп, резюм не помогает.

 

2. звук имеет очень странный синтетический окрас, трудно описать...или наушники захлебываются, или хрипы очень сильные. наушники пробовал разные, везде одинаково.

Проверьте питание.

robot
Offline
Зарегистрирован: 09.02.2018

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

pilnikov
pilnikov аватар
Offline
Зарегистрирован: 28.08.2015
            char lstr[25]; //объявляем буфер в 30 символов под эту самую дату и время
            tmElements_t dt;
            vStr.toCharArray(lstr, 25) ; //копируем дату и время в буфер
            breakTime(now(), dt); //Записываем в структуру dt (содержащую элементы час минута секунда год) текущее время в контроллере (в дурине)
            int year, month, day, hour, minute, second; //объявляем переменные под год месяц день недели и.т.д
            sscanf(lstr, "%04d-%02d-%02dT%02d%02d%02d", &(year), &(month), &(day), &(hour), &(minute), &(second)); //переносим (разбираем) строчку с датой на отдельные кусочки (день месяц год и.т.д)
            dt.Year = year - 1970; dt.Month = month; dt.Day = day; //заменяем кусочки структуры dt значениями из нашей принятой и разобранной строки с датой и временем
            dt.Hour = hour; dt.Minute = minute; dt.Second = second;
            setTime(makeTime(dt)); //записываем в timestamp(штамп/оттиск времени в формате UNIX time (количество секунд с 1970 года) значение времени сформированное в структуре dt

К вопросу об RTC

Это кусок скеча от моего "пульта" - тут используется либа timelib.h Вам у себя нужно дописать строчку сохранения таймстамп в DS (аналогично setTime(makeTime(dt))), а потом еще и сюда же сделать чтение этого таймстампа из DS при необходимости (что то типа dt = getTime()) 

вот тут https://github.com/pilnikov/ESP8266WeatherStations/blob/master/rtc.ino для наглядности (либы timelib.h & rtc by makuna https://github.com/Makuna/Rtc)

функция void man_set_time() записывает текущее время в DS

функция void rtc_check() читает время из DS 

udavst
udavst аватар
Offline
Зарегистрирован: 29.11.2013

Мне всё же кажется непропай, раз VSка команды не слушает. Может  и неверное включение, хотя кто его знает, наверняка бы не зпела даже.

phoenix75
Offline
Зарегистрирован: 06.07.2017

Вобщем кому интересно решил свою проблему с русскими буквами так

char* RUS(char* str){                                                                                                                               // Определяем функцию которая преобразует код русских символов 
    uint8_t i=0, j=0;                                                                                                                               // Определяем переменные: i - счетчик входящих символов, j - счетчик исходящих символов
    while(str[i]){                                                                                                                                  // Проходим по всем символам строки str, пока не встретим символ конца строки (код 0)
        if((uint8_t)(str[i]) == 0xD0 && (uint8_t)(str[i+1]) >= 0x90 && (uint8_t)(str[i+1]) <= 0xBF ){str[j] = (uint8_t) str[i+1]+ 0x30; i++;}else   // Символы «А-Я а-п» (код UTF-8: D090-D0AF D0B0-D0BF) сохраняем в кодировке : код 80-9F A0-AF (символ занимал 2 байта, а стал занимать 1 байт)
        if((uint8_t)(str[i]) == 0xD1 && (uint8_t)(str[i+1]) >= 0x80 && (uint8_t)(str[i+1]) <= 0x8F ){str[j] = (uint8_t) str[i+1]+ 0x70; i++;}else   // Символы «р-я»     (код UTF-8: D180-D18F)           сохраняем в кодировке : код E0-EF       (символ занимал 2 байта, а стал занимать 1 байт)
        if((uint8_t)(str[i]) == 0xD0 && (uint8_t)(str[i+1]) == 0x81                              ){str[j] = 0xA8;                    i++;}else      // Символ «Ё»        (код UTF-8: D081)                сохраняем в кодировке : код F0          (символ занимал 2 байта, а стал занимать 1 байт)
        if((uint8_t)(str[i]) == 0xD1 && (uint8_t)(str[i+1]) == 0x91                              ){str[j] = 0xB8;                    i++;}else      // Символ «ё»        (код UTF-8: D191)                сохраняем в кодировке : код F1          (символ занимал 2 байта, а стал занимать 1 байт)
                                                                                              {str[j] = (uint8_t) str[i];}  j++; i++;               // Остальные символы оставляем как есть, без преобразования, но их место в строке могло сдвинуться, если до них были встречены русские символы
    }   while(j<i){str[j]=0; j++;} return str;                                                                                                      // Так как место занимаемое символами в строке могло уменьшиться, заполняем оставщиеся байты символами конца строки (код 0)
}

Вызов RUS(массив с текстом);Есть проблема с другой кодировкой но попробую разобрасться и сней попозже.

Вставлять можно и впередатчик и вприёмник. Я встроил в STM32. Это аналог вот этого но у меня string неработает это похоже только для arduino idi( может и не прав но спросить некого).

String utf8rus(String source)
{
  int i,k;
  String target;
  unsigned char n;
  char m[2] = { '0', '\0' };
  k = source.length(); i = 0;
  while (i < k) {
    n = source[i]; i++;
    if (n >= 0xC0) {
      switch (n) {
        case 0xD0: {
          n = source[i]; i++;
          if (n == 0x81) { n = 0xA8; break; }
          if (n >= 0x90 && n <= 0xBF) n = n + 0x30;
          break;
        }
        case 0xD1: {
          n = source[i]; i++;
          if (n == 0x91) { n = 0xB8; break; }
          if (n >= 0x80 && n <= 0x8F) n = n + 0x70;
          break;
        }
      }
    }
    m[0] = n; target = target + String(m);
  }
return target;
}

 

robot
Offline
Зарегистрирован: 09.02.2018

Согласен, но плей/стоп отрабатывает нормально. Значит управление работает...

ps - mute, unmute, громкость не работают. и еще одна особенность - если переходить между станциями,  то в логе - Request http://xxxxx/ failed!, а если вставить в строку для станции - то играет.

В-общем, если у вас мысли по поводу управления vs-кой?

спасибо

 
phoenix75
Offline
Зарегистрирован: 06.07.2017

Пришла мне вторая красная vs , при подключении она играла но ползунки регулировки  в карадио не работали. Пропаял и промыл плату , всё заработало нормально. Так что и красные платы иногда с грешком.

pilnikov
pilnikov аватар
Offline
Зарегистрирован: 28.08.2015

Владимир 2018, shurik12330  вы русифицировали свои девайсы только заменой шрифта? а карадио в порт по русски говорит?

phoenix75 вы какой экран русифицировали?

Я тут бьюсь со своим "пультом" - с 1602 все путем, а с "маркой" ssd1306 засада - u8g не компилируется под 8266, тока u8g2. С обычным шрифтом кракозябры, со шрифтом с приставкой "cyrillic" - вообще пустота, и с конвертером и без. Киньте файло со шрифтом "правильным" отдельно плиз.

Еще вопрос  - на марке скроллинг работает? Корректно?

phoenix75
Offline
Зарегистрирован: 06.07.2017

У меня экран на 10 матрицах (16x40) max7219 и подключён к STM32, в шрифте у меня русские буквы начинаются с адреса C0 до FF.

robot
Offline
Зарегистрирован: 09.02.2018

в edzelf 8266 в варианте без дисплея можно использоватьеще 2 кнопки (GPIO2 GPIO15) для перехода между станциями. как их назначить на управление громкостью?

ShAlex13
Offline
Зарегистрирован: 19.01.2018

samid2403 пишет:

Вот полный комплект используемых библиотек и обновленный скетч https://yadi.sk/d/Xo6HaX3E3QKeRt. В скетче поменял скорость softwareserial на 28800 бод и так, мелкие изменения. Я заливал скетч в arduino mini.

Все работает хорошо, каждое утро срабатывает будильник, правда по началу часы торопились на 10 минут в сутки. Пришлось заменить саму DS1307 (у меня не готовый модуль, а в исполнеии DIP-8), и на всякий случай заземлил корпус кварца. Сейчас вроде все нормально стало.

В скетче скорость по прежнему стоит 9600, а на экране концовка строк накладывается на начало...Кто-то уже спрашивал причину, пост #2454, так и не нашел ответа.

Владимир 2018
Offline
Зарегистрирован: 17.03.2018

pilnikov пишет:

Владимир 2018, shurik12330  вы русифицировали свои девайсы только заменой шрифта? а карадио в порт по русски говорит?

У меня экран заработал, русифицировал только заменой шрифта.

Мой экран - OLED 0,96", SDD 1306, 128x64,IIC,I2C.

Файл руссифицированного шрифта тут:

http://arduino.ru/forum/proekty/wi-fi-internet-radio#comment-280527

Просто для информации пост:

http://arduino.ru/forum/proekty/wi-fi-internet-radio?page=47#comment-365972

Скетч - ссылка на пост:

http://arduino.ru/forum/proekty/wi-fi-internet-radio?page=48#comment-367235

Владимир 2018
Offline
Зарегистрирован: 17.03.2018

pilnikov пишет:

Владимир 2018, shurik12330  вы русифицировали свои девайсы только заменой шрифта? а карадио в порт по русски говорит?

У меня экран заработал, русифицировал только заменой шрифта.

Мой экран - OLED 0,96", SDD 1306, 128x64,IIC,I2C.

Файл руссифицированного шрифта тут:

http://arduino.ru/forum/proekty/wi-fi-internet-radio#comment-280527

Просто для информации пост:

http://arduino.ru/forum/proekty/wi-fi-internet-radio?page=47#comment-365972

Скетч - ссылка на пост:

http://arduino.ru/forum/proekty/wi-fi-internet-radio?page=48#comment-367235

shurik12330
Offline
Зарегистрирован: 05.02.2018

pilnikov пишет:

Владимир 2018, shurik12330  вы русифицировали свои девайсы только заменой шрифта? а карадио в порт по русски говорит?

phoenix75 вы какой экран русифицировали?

Я тут бьюсь со своим "пультом" - с 1602 все путем, а с "маркой" ssd1306 засада - u8g не компилируется под 8266, тока u8g2. С обычным шрифтом кракозябры, со шрифтом с приставкой "cyrillic" - вообще пустота, и с конвертером и без. Киньте файло со шрифтом "правильным" отдельно плиз.

Еще вопрос  - на марке скроллинг работает? Корректно?


Я использовал кастомную прошивку, которую вы мне давали, с ней у меня в вебморде и в порт все было корректно по-русски. Экран у меня 0,96 OLED I2C.Скроллинг работает корректно. Либа заработала у меня только та, что тоже вы мне давали u8glib. С гитхаба не компилировалось.
Подменял u8g_font_data.c и заменял шрифт.
Пока я в командировке, только завтра вечером смогу посмотреть свои файлы и скинуть.

pilnikov
pilnikov аватар
Offline
Зарегистрирован: 28.08.2015

g и g2 шрифты не совместимы. Я тут тему почитал - и тут http://arduino.ru/forum/proekty/wi-fi-internet-radio?page=18#comment-337057 и тут http://arduino.ru/forum/proekty/wi-fi-internet-radio?page=4#comment-287494. В варианте с карадио32 прокатывает, в моем - нет. Нужен шрифт с расположением кириллицы по адресам с 0хC0H, а в стандартных шрифтах она  с 0х410Н. Либо редактор нужен для шрифта u8g2

Protivnik
Offline
Зарегистрирован: 24.09.2017

не понимаю - почему после вкл-выкл питание карадио на esp32 иногда включается с IP 192.168.4.2

как это исправить ?

в веб установлены IP 192.168.1.6 и IP 192.168.1.31

pilnikov
pilnikov аватар
Offline
Зарегистрирован: 28.08.2015

лог вам ответит

udavst
udavst аватар
Offline
Зарегистрирован: 29.11.2013

robot пишет:
в edzelf 8266 в варианте без дисплея можно использоватьеще 2 кнопки (GPIO2 GPIO15) для перехода между станциями. как их назначить на управление громкостью?

В этом коде строчки замените на те, которые подписаны по русски.

#if ( not ( defined ( USETFT ) ) )
    newval = digitalRead ( BUTTON1 ) ;            // Test if below certain level
    if ( newval != oldval1 )                      // Change?
    {
      oldval1 = newval ;                          // Yes, remember value
      if ( newval == LOW )                        // Button pushed?
      {
           ini_block.reqvol += 2  ;                  // увеличение громкости
           if ( ini_block.reqvol > 100 ) ini_block.reqvol = 100; // ограничение
      }
      return ;
    }
    // Note that BUTTON3 has inverted input
    newval = digitalRead ( BUTTON3 ) ;            // Test if below certain level
    newval = HIGH + LOW - newval ;                // Reverse polarity
    if ( newval != oldval3 )                      // Change?
    {
      oldval3 = newval ;                          // Yes, remember value
      if ( newval == LOW )                        // Button pushed?
      {
            ini_block.reqvol -= 2  ;                  // Уменьшение громкости
            if ( ini_block.reqvol < 0) ini_block.reqvol = 0; // ограничение
      }
      return ;
    }
Protivnik
Offline
Зарегистрирован: 24.09.2017

pilnikov пишет:

лог вам ответит

после вкл-выкл питания

device->current_ap: 2

WIFI TRYING TO CONNECT TO SSID 2
E (23624) wifi: esp_wifi_disconnect 847 wifi not start
Task watchdog got triggered. The following tasks did not reset the watchdog in time:
 - IDLE (CPU 0)
Tasks currently running:
CPU 0: timerTask
CPU 1: IDLE
Task watchdog got triggered. The following tasks did not reset the watchdog in time:
 - IDLE (CPU 0)
Tasks currently running:
CPU 0: timerTask
CPU 1: IDLE
 
WIFI TRYING TO CONNECT TO SSID 1
E (3485) wifi: esp_wifi_disconnect 847 wifi not start
 
Brownout detector was triggered
 
ets Jun  8 2016 00:22:57
 
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:2992
ho 0 tail 12 room 4
load:0x40078000,len:0
load:0x40078000,len:12616
entry 0x40078c78
I (45) main: starting app_main()
I (45) main: RAM left: 173388
E (45) main: Running partition type 0 subtype 16 (offset 0x00010000)
I (75) main: Partition init done...
Log level is now ESP_LOG_ERROR
E (1685) vs1053: NO VS1053 detected
E (1685) main: LCD Type 1
X: 128, YY: 64, Y: 11
 
 
pilnikov
pilnikov аватар
Offline
Зарегистрирован: 28.08.2015

Protivnik пишет:

после вкл-выкл питания

device->current_ap: 2

WIFI TRYING TO CONNECT TO SSID 2
E (23624) wifi: esp_wifi_disconnect 847 wifi not start
 
WIFI TRYING TO CONNECT TO SSID 1
E (3485) wifi: esp_wifi_disconnect 847 wifi not start
 
Brownout detector was triggered

 

имхуется мне, что часть лога вы от нас утаили, а в ней самое интересное

Wess
Offline
Зарегистрирован: 24.05.2018

Приветствую всех, коллеги.
Ветку прочёл всю, но тем не менее, прошу совета.
Собрал ESP8266 Edzelf + синяя плата
Что имею: Всё, как у всех. Прошился, собрал, не заработало. Пропаял феном с припоем синюю плату. Заработало.
Но! Проблема. Не могу переключать станции. получаю вот такое:

D: list request from browser
D: Command: uppreset with parameter 1
D: Preset set to 1
D: STOP requested
D: Stopping client
D: Stopping client
D: Stopping client
D: Stopping client
D: Command: reset (without parameter)
D: Stopping client
------------------
D: Stopping client

И всё, зависон. Не стопается клиент, хоть ты умри. Помогает только кнопка Reset на плате. При переключении хардверными кнопками тот же результат.
Command: reset (without parameter) - зто я нажал кнопку Reset в браузере (Mozilla). Ясно, не работает. Висит.
Иногда, если ввожу адрес потока в нижнее поле в веб-интерфесе, то переключает, но очень редко.
Пытался связать эту проблему с видом потока, но не сработало. Ошибка, видимо, имеет иную природу.
Питание: Разное. Сейчас параметрический трансформаторный БП 5V 3А, правильный, результат тот же. Даже на корпуса 0.1 блокировочную керамику припаял.

Если что, то я не программист. Я электронщик-микросхемотехник, правда старый. Ещё со 133-й серией работал.А 214-ю даже немного разрабатывал. О длинных проводах, "гонке сигналов", миллиомах в разъёмах и импульсных помехах  знаю из практики.
Но ардуиновский код читаю и пишу. Я и выбрал именно Edzelf вариант потому, что хочу немного изменить его под свою задачу. Но об этом потом, когда решим проблему с переключением станций.

Вопрос: А что делать? Куда копать? Заранее благодарю за участие!

robot
Offline
Зарегистрирован: 09.02.2018

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

ShAlex13
Offline
Зарегистрирован: 19.01.2018

robot пишет:

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

А как VS можно подключить не правильно? Все подписано.

pilnikov
pilnikov аватар
Offline
Зарегистрирован: 28.08.2015

На красных платах стоят кардридеры для SD, поэтому у них присутствует ножка С(hip)S(elect) для SD, которой нету в синей плате. Её (ножку) легко перепутать с XCS. 

pilnikov
pilnikov аватар
Offline
Зарегистрирован: 28.08.2015

shurik12330 а запилите видос работы скролинга, да и вообще процесс работы экрана("марки") 0,96 в оригинальном аддоне

dtvims
Offline
Зарегистрирован: 26.11.2012

Wess пишет:

Приветствую всех, коллеги.
Ветку прочёл всю, но тем не менее, прошу совета.
Собрал ESP8266 Edzelf + синяя плата
Что имею: Всё, как у всех. Прошился, собрал, не заработало. Пропаял феном с припоем синюю плату. Заработало.
Но! Проблема. Не могу переключать станции. получаю вот такое:

D: list request from browser
D: Command: uppreset with parameter 1
D: Preset set to 1
D: STOP requested
D: Stopping client
D: Stopping client
D: Stopping client
D: Stopping client
D: Command: reset (without parameter)
D: Stopping client
------------------
D: Stopping client

И всё, зависон. 

Вопрос: А что делать? Куда копать? Заранее благодарю за участие!

Писал ранее, повторюсь: у ESP8266 мало памяти для всего. Можно поиграться с размером кольцевого буфера у Edzelf, я его уменьшил до "#define RINGBFSIZ 15000" - стало стабильнее откликаться. 

Не уверен, на сколько там используются прерывания, но я дополнительно везде, все переменные что связаны с буфером (глобальные переменные), делал неизменяемыми с помощью слова "volatile" - хуже точно не будет.

volatile uint8_t*         ringbuf ;                                 // Ringbuffer for VS1053
volatile uint16_t         rbwindex = 0 ;                            // Fill pointer in ringbuffer
volatile uint16_t         rbrindex = RINGBFSIZ - 1 ;                // Emptypointer in ringbuffer
volatile uint16_t         rcount = 0 ;                              // Number of bytes in ringbuffer

версия ESP8266 также имеет значение, хотя бы по размеру памяти. ESP-12F вроде самая жирная.

 
 
Wess
Offline
Зарегистрирован: 24.05.2018

dtvims пишет:

Писал ранее, повторюсь: у ESP8266 мало памяти для всего. Можно поиграться с размером кольцевого буфера у Edzelf, я его уменьшил до "#define RINGBFSIZ 15000" - стало стабильнее откликаться. 

Не уверен, на сколько там используются прерывания, но я дополнительно везде, все переменные что связаны с буфером (глобальные переменные), делал неизменяемыми с помощью слова "volatile" - хуже точно не будет.

volatile uint8_t*         ringbuf ;                                 // Ringbuffer for VS1053
volatile uint16_t         rbwindex = 0 ;                            // Fill pointer in ringbuffer
volatile uint16_t         rbrindex = RINGBFSIZ - 1 ;                // Emptypointer in ringbuffer
volatile uint16_t         rcount = 0 ;                              // Number of bytes in ringbuffer

версия ESP8266 также имеет значение, хотя бы по размеру памяти. ESP-12F вроде самая жирная.

Благодарю, dtvims, сейчас попробую.

Wess
Offline
Зарегистрирован: 24.05.2018

Нет, dtvims, это не помогло...

Если бы из скетча MQTT выпилить...
 

pilnikov
pilnikov аватар
Offline
Зарегистрирован: 28.08.2015

Wess пишет:

Нет, dtvims, это не помогло...

Если бы из скетча MQTT выпилить...
 

Кто не дает? Выпиливать проще чем запиливать ;) Начние с #include - а там по цепочке

pilnikov
pilnikov аватар
Offline
Зарегистрирован: 28.08.2015

Налетай - подешевело https://github.com/pilnikov/Karadio-addon-lcd1602-rus

Обновленная версия "пульта" для Карадио (пока в варианте "телевизор"). Добавлен SSD1306 (c русским!). 

У кого есть "лишняя" ESP8266 - велкам в тестеры.

Wess
Offline
Зарегистрирован: 24.05.2018

Уважаемый pilnikov, выпилить  MQTT я конечно попытаюсь, для начала я его в radio.ini выключил. Главная проблема - мне бы с переключением станций разобраться. Всё работает, не заикается, а станции не переключаются.
 

ShAlex13
Offline
Зарегистрирован: 19.01.2018

pilnikov пишет:

Налетай - подешевело https://github.com/pilnikov/Karadio-addon-lcd1602-rus

Обновленная версия "пульта" для Карадио (пока в варианте "телевизор"). Добавлен SSD1306 (c русским!). 

У кого есть "лишняя" ESP8266 - велкам в тестеры.

А поподробнее, что за пульт?

pilnikov
pilnikov аватар
Offline
Зарегистрирован: 28.08.2015

ShAlex13 пишет:

А поподробнее, что за пульт?

Вы разве не в курсе? Это аддон для Карадио(не 32), который позволяет отображать теги и название станций на lcd1602 и SSD1306 на русском. Соединяется с "Базой" по Wifi используя телнет. В перспективе (недалекой) подключу кнопки, джойстик, ИК пульт, энкодер (хотя он мне не нравится). И ртс можно за(до)пилить (очень просто) и будильники и погодную станцию ......

ShAlex13
Offline
Зарегистрирован: 19.01.2018

pilnikov пишет:

Вы разве не в курсе? Это аддон для Карадио(не 32), который позволяет отображать теги и название станций на lcd1602 и SSD1306 на русском. Соединяется с "Базой" по Wifi используя телнет. В перспективе (недалекой) подключу кнопки, джойстик, ИК пульт, энкодер (хотя он мне не нравится). И ртс можно за(до)пилить (очень просто) и будильники и погодную станцию ......

В курсе, только через дуину по Rx-Tx.  Подключен 1.3' экран I2C SH1106 и кнопки, теги и названия по русски.

pilnikov
pilnikov аватар
Offline
Зарегистрирован: 28.08.2015

ShAlex13 пишет:

В курсе, только через дуину по Rx-Tx.  Подключен 1.3' экран I2C SH1106 и кнопки, теги и названия по русски.

А этот по воздуху. И дисплеи на выбор

ShAlex13
Offline
Зарегистрирован: 19.01.2018

pilnikov пишет:

А этот по воздуху. И дисплеи на выбор

Вот и хотел подробнее, схема включения и т.д. Я так понимаю еще одна ESP-шка и все цепляется к ее пинам?

pilnikov
pilnikov аватар
Offline
Зарегистрирован: 28.08.2015

да, все стандартно I2C GPIO4 (SDA) GPIO5 (SCL) Кнопки посажу наверно по аналогии на аналоговый вход, ИК - GPIO14 Кнопка энкодера GPIO0 сам энкодер GPIO12 GPIO13 

ShAlex13
Offline
Зарегистрирован: 19.01.2018

pilnikov пишет:

да, все стандартно I2C GPIO4 (SDA) GPIO5 (SCL) Кнопки посажу наверно по аналогии на аналоговый вход, ИК - GPIO14 Кнопка энкодера GPIO0 сам энкодер GPIO12 GPIO13 

Запустил проверку скетча, такие ошибки:

ПРЕДУПРЕЖДЕНИЕ: библиотека LiquidCrystal_I2C должна запускаться на архитектурах (avr) и может быть несовместима с вашей платой на архитектуре (esp8266).
In file included from C:\Users\sharkoav\Documents\Arduino\libraries\Encoder/Encoder.h:46:0,

                 from sketch\conf.h:32,

                 from C:\Users\sharkoav\Documents\Arduino\Karadio-addon-lcd1602-rus-master\Control\Control.ino:1:

C:\Users\sharkoav\Documents\Arduino\libraries\Encoder/utility/interrupt_pins.h:150:2: error: #error "Interrupts are unknown for this board, please add to this code"

 #error "Interrupts are unknown for this board, please add to this code"

  ^

C:\Users\sharkoav\Documents\Arduino\libraries\Encoder/utility/interrupt_pins.h:153:2: error: #error "Encoder requires interrupt pins, but this board does not have any :("

 #error "Encoder requires interrupt pins, but this board does not have any :("

  ^

C:\Users\sharkoav\Documents\Arduino\libraries\Encoder/utility/interrupt_pins.h:154:2: error: #error "You could try defining ENCODER_DO_NOT_USE_INTERRUPTS as a kludge."

 #error "You could try defining ENCODER_DO_NOT_USE_INTERRUPTS as a kludge."

  ^
 

pilnikov
pilnikov аватар
Offline
Зарегистрирован: 28.08.2015

перезалил на гитхаб - перекачайте и пробуйте

ShAlex13
Offline
Зарегистрирован: 19.01.2018

pilnikov пишет:

перезалил на гитхаб - перекачайте и пробуйте

Еще больше ошибок:

ПРЕДУПРЕЖДЕНИЕ: библиотека LiquidCrystal_I2C должна запускаться на архитектурах (avr) и может быть несовместима с вашей платой на архитектуре (esp8266).
C:\Users\sharkoav\Documents\Arduino\Karadio-addon-lcd1602-rus-master\Control\boot.ino: In function 'void firq8()':

boot:84: error: 'ram_data' was not declared in this scope

   if (ram_data.type_disp == 1 && disp_on)

       ^

boot:84: error: 'disp_on' was not declared in this scope

   if (ram_data.type_disp == 1 && disp_on)

                                  ^

C:\Users\sharkoav\Documents\Arduino\Karadio-addon-lcd1602-rus-master\Control\irq.ino: In function 'void irq_set()':

irq:2: error: redefinition of 'void irq_set()'

 void irq_set()

      ^

boot:2: error: 'void irq_set()' previously defined here

 void irq_set()

      ^

C:\Users\sharkoav\Documents\Arduino\Karadio-addon-lcd1602-rus-master\Control\irq.ino: In function 'void firq1()':

irq:58: error: redefinition of 'void firq1()'

 void firq1()

      ^

boot:58: error: 'void firq1()' previously defined here

 void firq1()

      ^

C:\Users\sharkoav\Documents\Arduino\Karadio-addon-lcd1602-rus-master\Control\irq.ino: In function 'void firq4()':

irq:63: error: redefinition of 'void firq4()'

 void firq4()

      ^

boot:63: error: 'void firq4()' previously defined here

 void firq4()

      ^

C:\Users\sharkoav\Documents\Arduino\Karadio-addon-lcd1602-rus-master\Control\irq.ino: In function 'void firq6()':

irq:67: error: redefinition of 'void firq6()'

 void firq6()

      ^

boot:67: error: 'void firq6()' previously defined here

 void firq6()

      ^

C:\Users\sharkoav\Documents\Arduino\Karadio-addon-lcd1602-rus-master\Control\irq.ino: In function 'void firq7()':

irq:72: error: redefinition of 'void firq7()'

 void firq7()

      ^

boot:71: error: 'void firq7()' previously defined here

 void firq7()

      ^

C:\Users\sharkoav\Documents\Arduino\Karadio-addon-lcd1602-rus-master\Control\irq.ino: In function 'void firq8()':

irq:77: error: redefinition of 'void firq8()'

 void firq8()

      ^

boot:82: error: 'void firq8()' previously defined here

 void firq8()

      ^

C:\Users\sharkoav\Documents\Arduino\Karadio-addon-lcd1602-rus-master\Control\irq.ino: In function 'void firq9()':

irq:88: error: redefinition of 'void firq9()'

 void firq9()

      ^

boot:92: error: 'void firq9()' previously defined here

 void firq9()

      ^

udavst
udavst аватар
Offline
Зарегистрирован: 29.11.2013

Wess пишет:
Но! Проблема. Не могу переключать станции. получаю вот такое:

Да программно там вряд ли косяк какой, собирал edzelf на двух 8266 и на одной esp32, всё прекрасно работает, ну только платы синие подводят. И код правил под себя и MQTT использую, никаких проблем с переключением. Похоже, что после начала проигрывания vs ка перестаёт слушать команды, Вы reset через диоды подключали как в схеме? Мне какжется, что косяк в железе, но понять где не получается, и БП у Вас мощный, и с электроникой дружите - вряд ли ошиблись где. По этой схеме подключали?

 

А Вы частоту на esp12 не меняли на 160? 80 стоит в ардуине? И попробуйте перед прошивкой очистить чип.

pilnikov
pilnikov аватар
Offline
Зарегистрирован: 28.08.2015

to ShAlex13 boot.ino у себя удалите

ShAlex13
Offline
Зарегистрирован: 19.01.2018

pilnikov пишет:

to ShAlex13 boot.ino у себя удалите

Ок. теперь без ошибок.

pilnikov
pilnikov аватар
Offline
Зарегистрирован: 28.08.2015

папку data залили? в config.ino wifi прописали? если да - то можно грузить скеч и пробовать смотреть вебморду

 

nadim
Offline
Зарегистрирован: 04.11.2017

Поспешил с вопросом....

 

shurik12330
Offline
Зарегистрирован: 05.02.2018

pilnikov пишет:

shurik12330 а запилите видос работы скролинга, да и вообще процесс работы экрана("марки") 0,96 в оригинальном аддоне

https://youtu.be/QX1gH85DSZs

Wess
Offline
Зарегистрирован: 24.05.2018

udavst пишет:

А Вы частоту на esp12 не меняли на 160? 80 стоит в ардуине? И попробуйте перед прошивкой очистить чип.

Уважаемый udavst, всё верно, собирал по этой схеме, с диодами, только мне дисплей не нужен, он в скетче выключен. И с частотами я игрался, и чип чистил. Самое интересное, что все команды проходят, всё работает, но на команды смены станции реагирует неадекватно, клиент становиться не может. Ну Вы видели кусочек моего лога.
Но мне видится проблема в синей плате.
Вот раздобыл только что другую ESPшку. Сейчас её прошью. Не получится - буду синюю плату снова жарить.
Кстати, вот, что еще накопал. Если отключить MISO, то проблема пропадает, но звук становится неприемлемым - булькает, рвётся.

udavst
udavst аватар
Offline
Зарегистрирован: 29.11.2013

MISO - ответ от VSки, похоже в скетче определяется готовность к новой команде по miso, вот он первую команду посылает, VS-ка заводится но ничего не отвечает, поэтому последующие команды на неё не поступают, это конечно IMHO, я и код уже не помню, давно на 8266 собирал, так кусочки всплывают, а по управлению совсем смутно.

Можно попробовать MISO оторвать, и со стороны ESP подавать на него 0 или 1, и смотреть, возможно при переключении и смене уровня станция переключится.

 

pilnikov
pilnikov аватар
Offline
Зарегистрирован: 28.08.2015

на синей плате нету подтягивающих резюков по SPI (так владельцы писали) - звякните - если действительно нет - есть смысл добавить

ShAlex13
Offline
Зарегистрирован: 19.01.2018

pilnikov пишет:

папку data залили? в config.ino wifi прописали? если да - то можно грузить скеч и пробовать смотреть вебморду

Не заливал ничего, некуда заливать. Да и не вижу пока смысла в этом пульте. Хватает пока и мобильного приложения на телефоне. По размерам на пульт это не будет похоже (плата+питалово). Коробка которую можно оттащить чуть подальше от самого радио? Зачем.