Hirdetés
- Luck Dragon: Asszociációs játék. :)
- Bestx: Budget DIY eGPU USB4/Thunderbolt csatlakozással – egy mining VGA új élete.
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- GoodSpeed: Segway-Ninebot F3 E elektromos roller.
- Napkollektor - csak úgy
- bacsis: Támogassááá', hogy ingyenesek maradhassúúúúnk!!!!
- eBay-es kütyük kis pénzért
- Magga: PLEX: multimédia az egész lakásban
Ú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
- ÁRGARANCIA!Épített KomPhone i3 10105F 16/32/64GB RAM RX 6600 8GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9800X3D 32/64GB RAM RTX 5070Ti 16GB GAMER PC termékbeszámítással
- AKCIÓ! Gigabyte B450 R5 3600 16GB DDR4 512GB SSD GTX 1660Ti 6GB Zalman S2 TG Zalman 500W
- AKCIÓ! MSI B450 R5 5500 16GB DDR4 512GB SSD RTX 2060 Super 8GB GDDR6 Rampage Shiva Zalman 500W
- Telefon felvásárlás!! Xiaomi Redmi 9, Xiaomi Redmi 9AT, Xiaomi Redmi 10, Xiaomi Redmi 10 2022
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest