запихнул радио в маленькую блютуз колонку моно....сохранил все функции колонки..блютуз, фм радио, проигрывание мр3 с юсб флехи и микросд и жирный + ИНТЕРНЕТ РАДИО. собрал на ESP12 с минимальным обвесом. Фильтр не ставил. Громкость регулирую самой колонкой. Порадовал сюрприз от автора..радио умеет говорить."нет потока вещающей радиостанции" )) Радио работает отлично..но почему то я не вижу его в wifi сетке ??? На макетке собрано было видел сетку RADIOSAN подключался к ней и по 192.168.4.1 заходил в редактор станций...Может автор подскажет почему радио работает а в сетке его нет?
Будет. Выход через 0.1 мкф с Rx . Обязательно Ик приёмник на Tx ...для запуска нужна команда с пульта. По умолчанию первый старт радио как точка доступа с адресом 192.168.4.1 ...я автору задал вопрос назначения кнопок пульта...пока молчит...у меня со стандартного ширпотребовского ардуиновского с али стрелка вверх переводит радио в точку доступа. а стрелка вниз запускает радио и далее цифровые кнопки переключают станции.
Всем привет! Подолью масла в печуру) под названием простые интернет радиоприемники на esp8266. Предлагаю вашему вниманию следующий код чуть чуть поправленный пример из библиотеки https://github.com/earlephilhower/ESP8266Audio Код (C++): #include <Arduino.h> #include <ESP8266WiFi.h> #include <user_interface.h> #include "AudioFileSourceHTTPStream.h" //https://github.com/earlephilhower/ESP8266Audio #include "AudioFileSourceBuffer.h" //https://github.com/earlephilhower/ESP8266Audio #include "AudioGeneratorMP3.h" //https://github.com/earlephilhower/ESP8266Audio #include "AudioOutputI2SNoDAC.h" //https://github.com/earlephilhower/ESP8266Audio // Enter your WiFi setup here: const char *SSID = "Link"; //Ваше имя сети const char *PASSWORD = "arhideya"; // Ключ к сети // Randomly picked URL String url0="http://philae.shoutca.st:8446/stream/1/"; // URL потока станции. 1 канал String url1="http://ep128.hostingradio.ru:8030/ep128"; // URL потока станции. 2 канал String url2="http://online1.gkvr.ru:8000/radiola_eka_128.mp3"; // URL потока станции. 3 канал int buttonPin = 0; //назначаем кнопочку переключения каналов String url_tmp; int ch; AudioGeneratorMP3 *mp3; AudioFileSourceHTTPStream *file; AudioFileSourceBuffer *buff; AudioOutputI2SNoDAC *out; void setup() { system_update_cpu_freq(SYS_CPU_160MHZ); pinMode(buttonPin, INPUT_PULLUP); Serial.begin(115200); delay(1000); Serial.println("Connecting to WiFi"); WiFi.disconnect(); WiFi.softAPdisconnect(true); WiFi.mode(WIFI_STA); WiFi.begin(SSID, PASSWORD); // Try forever while (WiFi.status() != WL_CONNECTED) { Serial.println("...Connecting to WiFi"); delay(2000); } Serial.println("Connected"); Serial.printf("Start Heap: %d b\n", ESP.getFreeHeap()); out = new AudioOutputI2SNoDAC(); Serial.printf("Init audio out Heap: %d b\n", ESP.getFreeHeap()); url_tmp=url0; play(); Serial.printf("Play audio Heap: %d b\n", ESP.getFreeHeap()); } void loop() { static int lastms = 0; if (!digitalRead(buttonPin)){ Serial.print("Ch: "); delay(200); ch++; sel_ch(); Serial.println(ch); StopPlaying(); play(); } if (mp3->isRunning()) { if (millis()-lastms > 1000) { lastms = millis(); Serial.printf("Running for %d ms. Heap: %d b\n", lastms, ESP.getFreeHeap()); Serial.flush(); } if (!mp3->loop()) mp3->stop(); } else { Serial.printf("MP3 done\n"); delay(1000); play(); } } void play() { file = new AudioFileSourceHTTPStream(url_tmp.c_str()); buff = new AudioFileSourceBuffer(file, 2048); mp3 = new AudioGeneratorMP3(); mp3->begin(buff, out); } void StopPlaying() { if (mp3) { mp3->stop(); delete mp3; mp3 = NULL; } if (buff) { buff->close(); delete buff; buff = NULL; } if (file) { file->close(); delete file; file = NULL; } } void sel_ch() { if (ch==0) url_tmp=url0; if (ch==1) url_tmp=url1; if (ch==2) url_tmp=url2; if (ch>2) ch=0, url_tmp=url0; } Нечто подобное реализовано у Alex666 , тоже прекрасно работает на голой esp8266. Быстро переключает потоки кнопкой по кругу, кнопка посажена между Gnd и GPIO0. Аудио выход GPIO 3 (он же RX UART), формируется PWM. Впрочем поле для творчества большое) И че там оптимизировать в библиотеке не понятно
rv9c Отлично! Попробуем! Спасибо! Airbus Точка доступа должна быть с именем RADIOSAN...а не WiFi radio...что то у вас не так. Выход из точки доступа в радио только пультом.
И еще забыл добавить огромный минус у всех этих интернет радиоприемников на esp8266 это невозможно организовать нормальную буферизацию потока тк ОЗУ под завязку все занято... отсюда следуют затыки и выпадания в воспроизведении потока при потере пакетов. Соединение с сервером вещающим поток должно быть "образцовым", таким же должен быть и коннект с точкой доступа) как то так. В проекте Алекс666 отказался от использования буфера, это чуть добавляет быстродействия но воспроизводимый поток страдает. В выше приведенном коде решил не исключать маломальский буфер размером в 2кБ) хоть какой то... но чуть стабильнее некоторые потоки воспроизводит. ps есть свободное время, могу реализовать открытый проектик на Arduino интернет радиоприемника на голой esp8266. Хотел бы выслушать пожелания аудитории)
К сожалению без пульта никак не запустить. Хз где этот пульт брать) у меня 4шт подобных не один не подошел) сегодня у товарища попросил на удачу от трансмиттера он заработал)))
К вашему проекту на ESP32 ни малейших претензий. Это другое радио и качеством и возможностями ..и его ставить в хорошие блютуз стерео колонки ..что я и сделаю скоро. А вот нужно было минимальное радио в моно колонку...чисто как балаболка на рабочем столе,даче,кухне...в минимальных размерах.. ..да и так в подарок друганам. ..вот и получился идеальный вариант от Alex666...Все минусы описанные вами что то я не наблюдаю ..у меня работает без заиканий и чисто. И это учитывая что я в московской квартире где GPON долбанутый от МГТС засрал все WiFi ...минимум WiFi сеток 20-30 в радиусе...так многие умники ещё и ширину канала вафли 40 мгц врубают...У меня сетка хоть и 200мбит ,но это по проводку, а дальше WiFi и оно расширяется репитером ( не добивает в дальние комнаты) В основном вся нагрузка (Тв, смарты,бук, и куча умных устройств..Ip самеры...все висят в основном на репитере...и в таких условиях радио от Alex666 работает изумительно...чего (не в обиду) не могу сказать о вашем радио где и хрипы и потеря потока и затыки...Я был удивлён что монстр на ESP32 работает плохо...а 8266 как часы...Хотя я грешу на саму ESP32...жду как новые прилетят с китая проверю ваше радио и тогда станет ясно почему оно плохо работало... А по поводу открытого проекта на 8266 ..я лично за обеими руками !!! Тем более в свете огромного выбора блютуз колонок разных вариантов с линейным входом...туда нужно обязательно вставлять интернет радио...и оно должно быть простым и минимальным...а уж кому нужно супер качество то ваш проект ESP32 но плюс декодеры внешние. А кому ещё круче нужно..то не сюда а в магаз с 20000руб в зубах ))
Пожелания простые-часы будильник с WiFi радио.Часы с RTC DS1302 коррекция каждый час с ntp сервера.Часы с индикатором на TM1637.Радио на esp8266 станций 5 хватит.УНЧ на РАМ.Управление кнопками и через WEB.IR хорошо но необязательно.Статический IP.Вообщем всё как у Вас в проекте на esp32.Ну и "железо" node mcu lua или Witty.Потому как паять esp-12 с китайским шагом между контактами то ещё удовольствие!
По моему можно. Если скетч собран в Arduino IDE с настройкой 160 MHz вызывается функция Код (C++): void preloop_update_frequency() { #if defined(F_CPU) && (F_CPU == 160000000L) REG_SET_BIT(0x3ff00014, BIT(0)); ets_update_cpu_frequency(160); #endif } , разгоняя ESP до нужной частоты. И прошивать можно указав только режим и частоту SPI flash.
Вы чего мучаетесь)? Все же просто) используйте самый простой прошивалищик nodemcu flasher настраиваете DIO , частота памяти 80Mhz, адрес для начала записи 0x0000 выбираете прошивку radiosan.bin и шьёте... Всего то делов) Частота тактовая должна быть уже сконфигурирована в бинарник. Этот лоадер нафиг не нужен, цель его не понятна лишние телодвижения)
Евгений тоже-ЗА, из пожеланий хотя бы 10 станций, органы управления как в проекте на esp-32, ну и экранчик бы побольше(можно варианты) уже наконец))) зрение с годами плохое..))) Какую esp8266 заказывать?
К сожалению управление приемником через веб интерфейс не получится реализовать, дисплей тоже под вопросом. В ОЗУ все не влезет.
Станции то можно будет ввести? Так то полноценное управление на мой дилетанский взгляд как бы и не нужное, с дисплеем то удобнее, так для визуального контроля хоть какой бы уже)))
Airbus и rv9c я в начале тоже тупо флешером залил бинарик радио и фига вам. В той паре флешеров которыми я и большинство народа пользуются, нельзя задать частоту кристалла ESP8266 160 мгц. В IDE ардуиновском можно это сделать и то почему то только с версией платы "generic ESP8266 module" с другими версиями ESP этого сделать нельзя...потому я свою ESP12 шил как "generic ESP8266 module" .Потому и зашиваем сначала загрузчик выбрав предварительно не стандартную конфигурацию ESP (так решил сконфигурировать автор видать для скорости работы)...и потом запустив эту еспэху по ОТА зашиваем бинарик радио. Я не знаю есть ли конфигурация ESP в самом бинарике радио или нет и вообще хз когда и как эта конфигурация заливается в ESP ардуиной...и вообще какая конфигурация в еспэхе с завода..Но я делал так и тогда всё заработало.
rv9c посмотрел ваш скетч...ммм всего три станции и их не сменить...а если менять, то только в скетче и заливать по новой....вообще не вариант ..хотя мож кому и проканает )) Опять же конфигурация есп какая? Влезет в есп01 с 512к на борту? В попу этот скетч...слишком много плясок с бубном...не компилится не фига..библиотеки нужные стоят..
На есп-01 поедет. К конфигурации не притязателен. Ну на то базовый скетч и есть чтобы обвешивать нужными плюшками. Мало трех добавьте еще, нужен веб интерфейс- прикрутите и тд. Если не компилится вы прочитайте в логе "чего он хотит")
А чем радио на ESP-32 не устраивает?esp8266 лучше взять в плате node mcu.Вот такую. Там есть микро USB разьём.Сразу решается вопрос с питанием и программированием.А ещё лучше сразу купить esp32 и сделать радио от rv9c.Ну есть ещё проекты КаРадио и Edzelf но там другие танцы с Бубном.Оно Вам надо?Зачем все эти рукожопые проекты на esp8266?Не буду больше даже морочиться а то Крыша поедет.
Есть некоторые нюансы, Вас как я понял из постов тоже не все в нем устраивает. Так давно изготовил, как только проект появился в открытом доступе. Так все они в какой то мере руко... недоделанные, писал автору на почту о своих пожеланиях, но видимо автор забросил это дело, думал может хоть на 8266 взлетит, мне то "плюшки" сильно не нужны, нужна стабильная работа, так же автор обещал поддержку аас, но.. Я естественно за то что бы развивать и улучшить проект на esp32, тем более как автор отписался что время свободное есть, но видимо он считает что проект самодостаточен и совершенен, но как говорится хозяин-барин. А мне...будет что то новое и стоящее с соответствующим описанием для повторения, соберу на попробовать, понравится, оставлю, нет, так нет, не та конструкция.., есть чем заняться.
С aac не все так гладко оказалось. Потоки не все воспроизводит, а ресурсов жрет уйму. Пока решил отложить внедрение. И вообще нет предела совершенству) потехоньку обкатываю, пробую на это уходит уйма времени. Сразу скажу, дисплей другой пока не придвидится.