Hirdetés
Új hozzászólás Aktív témák
-
bagarol
tag
Saját, úgyhogy nincs link, itt lesz, részben.
Először a lighttpd, a root foldert át kell írni a zene mappára, hozzá adni
server.dir-listing = "enable" , és böngészőben már látszanak a zenék.
Ezután be kell tallózni pc-n, parancssorból
DIR /B /A-D /O-G /ON /S > *.mp3 *.flac C:\zene.txt , a C rootban létrehozza a fájlt. Ne legyenek magyar ékezetes karakterek,
vagy utána kézzel kell törölni.
Notepad++ megnyitni.
A számok elején helyettesíteni az elérési utat, a win balra dőlő jelet használ, helyettesíteni
jobbra dőlővel. \ -> / . Kb. így kell kinéznie :192.168.x.x:port/xxx.mp3
192.168.x.x:port/ACDC/Back_in_Black/Back in Black.flac
.
.
.
Ha ok, lehet menteni. Akár Arduinóval, akár PIO-val fel lehet tölteni a fájlrendszerbe. -
bagarol
tag
Olvasva a kérdésed, elgondolkodtam és egyszerűen megvalósítható, bár egy kis
kézimunkát igényel. Először is http-n kell hozzáférni a zenékhez, ehhez nekem
ott a Rebex tiny webszerver. Ezután listát kell készíteni a fájlokról, a TC dirlist
pluginnal, de van a Win-nek beépített parancsa is, a dir.
Ezt a szöveges fájlt fel kell tölteni az esp fájlrendszerébe. (Nekem az adók címei
is ott vannak, simple ftp-t használok).
String URL = PC_ip címe + szám neve
audio.connecttohost(URL)
majd növelni kell a számlálót vagy random számmal véletlen szerű lejátszást
lehet megvalósítani. -
bagarol
tag
Nem yoradio (ami szerintem egy karácsonyfa a sok felesleges információval).
-
bagarol
tag
Rádió esp8266-al. [link]
-
bagarol
tag
válasz
BlackJack21 #958 üzenetére
Jó a video, csak kicsit mekelek a kivitelezés.
-
bagarol
tag
Nem tudom, sikerült-e lekapcsolni a kijelzőt, de - megjegyzem, nem foglalkoztam még a yoradioval - nem tűnik bonyolultnak. Beírod a loop-ba
if ((millis() - lastmillis) > 30000)
{ display off } ;
else {display on};A rotary ISR-ben (yoEncoder.cpp) pedig lastmillis = millis();
Ez így elvileg fél perc. Természetesen nem display on-off, nem tudom a változókat. -
-
bagarol
tag
Egyszerű webrádió esp32-vel, nem kell hozzá külső alkatrész. Mono, belső DAC, kijelző nélkül.
Soros konzolon lehet beírni a rádió címét, egyből elkezdi lejátszani, stop-ra leáll, lehet új címet megadni. DAC2-őn (gpio26) adja ki a jelet.Nekem konyhába így is megfelel, persze kijelzővel + egyebek, úgy értem, hogy mono, belső dac. Az esp8266audio[link] library kell hozzá.
Ellenőrizni nem tudtam,nincs most esp32-m, remélem működik.#include <WiFi.h>
#include <AudioFileSource.h>
#include <AudioFileSourceBuffer.h>
#include <AudioFileSourceICYStream.h>
#include <AudioGeneratorMP3.h>
#include <AudioOutputI2S.h>const char* ssid = "";
const char* password = "";
String s;
char URL[96];
const int preallocateBufferSize = 32*1024;
const int preallocateCodecSize = 29192;
void *preallocateBuffer = NULL;
void *preallocateCodec = NULL;
AudioGeneratorMP3 *mp3;
AudioFileSourceICYStream *file;
AudioFileSourceBuffer *buff;
AudioOutputI2S *out;void setup() {
preallocateBuffer = malloc(preallocateBufferSize);
if (!preallocateBuffer) {
Serial.begin(115200);
Serial.printf_P(PSTR("FATAL ERROR: Unable to preallocate %d bytes for app\n"), preallocateBufferSize);
while (1) delay(1000);
}
Serial.begin(115200);
initwifi();
Serial.printf("STATUS(System) Ready \n\n");
out = new AudioOutputI2S(0, 1);
out->SetOutputModeMono(true);
out->SetGain(0.5);
}void loop() {
if(Serial.available()){
s = Serial.read();
if(s == "stop") StopPlaying();
else if(s.startsWith("http://")) {
s.trim();
s.toCharArray(URL,s.length()+1);
StartPlaying();
}
}
}void StartPlaying() {
file = new AudioFileSourceICYStream(URL);
file->RegisterMetadataCB(MDCallback, (void*)"ICY");
buff = new AudioFileSourceBuffer(file, preallocateBuffer, preallocateBufferSize);
buff->RegisterStatusCB(StatusCallback, (void*)"buffer");
out = new AudioOutputI2S(0, 1);
out->SetOutputModeMono(true);
out->SetGain(0.5);
mp3 = new AudioGeneratorMP3(preallocateCodec, preallocateCodecSize);
mp3->RegisterStatusCB(StatusCallback, (void*)"mp3");
mp3->begin(buff, out);
Serial.printf("STATUS(URL) %s \n", URL);
Serial.flush();
}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;
}
Serial.printf("STATUS(Stopped)\n");
Serial.flush();
}void initwifi() {
WiFi.disconnect();
WiFi.softAPdisconnect(true);
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
Serial.println("Connecting to WiFi");
delay(1000);
}
Serial.println("Connected to WiFi");
}void MDCallback(void *cbData, const char *type, bool isUnicode, const char *string) {
const char *ptr = reinterpret_cast<const char *>(cbData);
(void) isUnicode;
char s1[32], s2[64];
strncpy_P(s1, type, sizeof(s1));
s1[sizeof(s1) - 1] = 0;
strncpy_P(s2, string, sizeof(s2));
s2[sizeof(s2) - 1] = 0;
Serial.printf("METADATA(%s) '%s' = '%s'\n", ptr, s1, s2);
Serial.flush();
}void StatusCallback(void *cbData, int code, const char *string) {
const char *ptr = reinterpret_cast<const char *>(cbData);
char s1[64];
strncpy_P(s1, string, sizeof(s1));
s1[sizeof(s1) - 1] = 0;
Serial.printf("STATUS(%s) '%d' = '%s'\n", ptr, code, s1);
Serial.flush();
}
Új hozzászólás Aktív témák
Hirdetés
- Asus TUF RTX 4090 24GB GDDR6X Gaming Videokártya! BeszámítOK!
- Telefon felvásárlás!! Honor 400 Lite, Honor 400, Honor 400 Pro
- Ryzen 7 5800X / RX 7600 XT 16GB / A520M / 16GB vagy 32GB RAM / 256GB + 1TB SSD / 650W
- AKCIÓ !! 16.2" MacBook Pro M4 MAX - 16C CPU / 40C GPU / 48 GB RAM / 1 TB / 1 ÉV APPLE GARANCIA
- Félkonfig napi használatból! Leírást, olvasd!
- Bomba ár! Lenovo ThinkPad L390 - i7-8GEN I 8GB I 256SSD I 13,3" HD I HDMI I Cam I W11 I Gari!
- PROHARDVER matricás ház ingyen elvihető
- ÁRGARANCIA!Épített KomPhone i5 13400F 32/64GB RAM RTX 4060 Ti 8GB GAMER PC termékbeszámítással
- Honor X6b 128GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! Gigabyte H510M i5 10400F 16GB DDR4 512GB SSD RTX 4060Ti 8GB Rampage SHIVA Seasonic 520W
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest