Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Webradio mit ESP32
#81
ja ich habe mir die software angeschaut, die hat ein komplexeres interfache baut aber auf der selben grundlage auf, Die hardware ist ( gezwungendermaßen ähnlich ).

Der unterschid, das ich die URL´s per FTP hineinbringe und dementsprechend im flasch als datei gespeichert habe.
Die ,,Senderwahl" ist ein potentiometer ( es soll mit der skala verkoppelt werden ). Das geht alles wunderbar.
Es soll sozusagen huckepack in die mechanik eingebaut werden. Und ich will es wirlich nur mir den beiden knöpen verwenden.

Nur es gibt strams die reißen nach einiger zeit ab , ein reconnect ist ohne problem möglich, aber nicht so der hit.
Existieren bei euch auch strams die ärger machen ?

Bei mir sind es die ÖR , besonders Bayern Heimat.

Der puffer füllt sich wunderbar , dann spielt es auch wie vorgesehen, aber auf einmal geht der puffer zur neige und der stram reisst ab. Eine abfrage, ob der client verbunden ist, wird positiv ausgewertet, nur liefert er keine daten mehr.
Erst wenn er neu verbunden wird , geht es weiter.

br-edge-100b-fra-dtag-cdn.cast.addradio.de/br/brheimat/live/mp3/mid?ar-distributor=ffa0&_art=dj0yJmlwPTc4LjM0LjkxLjEyNiZpZD1pY3NjeGwtem9xZmFtbm9iJnQ9MTYwMzEwNjMwOCZzPTc4NjZmMjljIzkyMTI4NDAxYjVmZThkZTBjODAyNWQ1NTQ2ZWE0ZTZl",

Ich versuch noch , die sdi_proutine in einen interrupt, oder nebentask zu bringen. ( aber das scheint nicht das problem zu sein ).

Erstaunlichrweise laufen die US strams stabil.
https://ic2.sslstream.com/kdry-am.mp3

Domradio hat zwar permanent bufferunderruns läuft aber stabil
https://dom.audiostream.io/domradio/1000...dio-rp.mp3

Gibt es soetwas, wie ein timeout, ab der der server seine sendung einstellt ?

Grüße
Zitieren
#82
Hier gibt es eine pdf mit den Stream URL's die für BR benutzt werden sollen:

So nutzen Sie unsere Radio-Livestreams

Ich kann mir vorstellen dass der von dir benutzte link wirklich Einschränkungen hat.
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
#83
Hier eine Creature zum genießen Big Grin
https://www.ebay-kleinanzeigen.de/s-anze...5-168-1769
Gruß,
Ivan
Zitieren
#84
Ivan, die Bierlasur kannst du besser als der VK aus den Kleinanzeigen. Ich hatte auf den Bildern den Lautsprecher und den D/A-Wandler gesucht, und dann gesehen dass es gar kein Radio ist :-)
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
#85
...ein Thermometer, aber der Preis ist gut. So kann man eine Manufaktur aufmachen Big Grin
Gruß,
Ivan
Zitieren
#86

.ino   arduino_radio10.ino (Größe: 18,22 KB / Downloads: 7)
(24.11.2020, 13:26)saarfranzose schrieb: Hier gibt es eine pdf mit den Stream URL's die für BR benutzt werden sollen:

So nutzen Sie unsere Radio-Livestreams

Ich kann mir vorstellen dass der von dir benutzte link wirklich Einschränkungen hat.

Hallo, mein verdacht ist, das es sich um ein fehler, beim Dekoder handelt.


Da man mir keinen VS1053 ( Dekoder ), sondern den VS1003 verkauft hatte, habe ich ihn ausgetauscht.

Vorsicht die Blaue platine, scheint mit den V1003 bestückt zu sein
Wärend die Grüne mit dem richtigen chip bestückt ist

Ich lasse gerade einen stream paralell auf dem PC laufen und sie laufen ( ziemlich ) syncron.

Bei dem alten modul , hinkten die strams immer weiter hinterher.
Ich muß mich noch einmal mit der takterzeugung des modules auseinandersetzen und dann einen testton ausgeben.

Es muß also die PLL im 1053 korregiert werden, oder die bürdekondensatoren am quarz angepasst werden.

Anbei den quellcode des webeadios, wie ich es realisiert habe. Vielleicht kann jemand etwas damit anfangen.

Das die AP daten können in den quellcode gestzt werden, oder per serieller schnittstelle ( AP0 ) eingegeben werden.

Die Senderliste kann per FTP hochgeladen werden
Zitieren
#87
(05.12.2020, 23:52)sharpals schrieb: ..Vorsicht die Blaue platine, scheint mit den V1003 bestückt zu sein
Wärend die Grüne mit dem richtigen chip bestückt ist..

den Verdacht hatte ich auch schon mal, aber es war Zufall. Man muss einfach aufpassen was man einkäuft. An der Farbe kann man es definitiv nicht festmachen.
Der VS1003 spielt weniger Dateitypen ab als der VS1053.
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
#88
Ja mir ist es in englischen foren aufgefallen, dort traten auch probleme mit den datentypen auf.

Bisher läuft das gerät jetzt einwandfrei und ich muß nur noch das finetuning machen.
Bestimmte toleranzen sind im takt immer vorhanden.

Bei dem alten chip schien sie derart hoch zu sein, das der server einfach die verbindung getrennt hatte.

Eines ist aber sicher, ein ringpuffer sollte immer vorhanden sein, kurze unterbrechungen sind beim Wlan nie zu vermeiden.
Als ideal haben sich 32kbyte herausgestellt ( etwa 2 sekunden reserve ).

Letzendlich ist meine lösung so ähnlich, wie bei der software , die ihr auch hier verwendet. Nur wollte ich möglichst viel selber machen.

Es wurde erwähnt, das man doch lieber eine Pi nehmen sollte, das kommt aber für mich nicht in frage.

1. Der zerstört gerne mal die SD karte, bzw, sein image.
2. Der bootvorgang ist zu lange.
3. Die energieaufnahme ist mir zu hoch.

Das gerät soll jetzt in ein altes radio eingebaut werden.
Ich muß jetzt nur sehen, wie ich die Potis so einbaue, das nicht das original außer gefecht gesetzt wird.
AM ist aber ja leider tot :-( -

Am ende gibt es nur Zwei knöpfe. Senderwahl und Lautstärke.
Wenn der bedarf nach mehr, als 16 stationen auftaucht, dann müßte ich einen mikroschalter einbauen, der den wellenschalter abtastet und das widerum führt zum neuladen einer senderliste.

Das schöne ist, das es inzwischen gute kleinlautsprecher gibt, die man zusätzlich in das gehäuse einbauen kann, ohne, den originalen zu beschädigen.
Zitieren
#89
Hallo,
Du kannst aber bei Einbau in einem alten Radio sein NF Trakt samt Potentiometer.
Und für Senderumschaltung bietet sich die Version mit dem Touchsensor an.
https://radio-bastler.de/forum/showthread.php?tid=15497
https://radio-bastler.de/forum/showthread.php?tid=15758
Man kann viele Displays nutzen und Hauptvorteil - keinen zusätzlichen NF Versterker mit aufwendigen Filter für die Geräusche wird gebraucht.
Gruß,
Ivan
Zitieren
#90
(06.12.2020, 01:47)sharpals schrieb: Wenn der bedarf nach mehr, als 16 stationen auftaucht, dann müßte ich einen mikroschalter einbauen, der den wellenschalter abtastet und das widerum führt zum neuladen einer senderliste.

oder Du änderst das aktuelle #define max_url 17 // 0 - 1 6 auf die gewünschte Anzahl URLs.

Wenn Du Ivan's Anregungen mit in Dein Projekt einfließen lässt, dann ist die Aufrüstung eines Radios überschaubar,
speziell wenn ein TA Eingang zur Verfügung steht.
Grüße aus Wassenberg,
Norbert.
Zitieren
#91
Dank an euch :-) ja das wäre eine möglichkeit , bei einem gerät aus den 70er - 1980ern würde ich es so machen.

Nur ein vorschlag ( es sei denn es ist schon passiert ) , nach einstellen würde ich das display wider abschalten.

Ich binn am schwanken, ob ich ein ITT von 1982 nehme, da kann ich den NF zweig weiterverwenden und da ist sogar eine LED vorhanden.

Mehr als 17 URLs werden unpraktisch, da ich ja die station auf der skala einstellen möchte.
Da aber die ADCs nicht die besten sind, möchte ich es nicht übertreiben.

Und da ich ja per FTP genügen in das rom laden kann, ist das ja kein beinbruch, eine neue URL einzuladen.
Das geht so schnell, das man keine verzögerung merkt. Die hardwired URL´s sind ja nur platzhalter.

Deshalb ist da ja auch ein potentiometer drann, das ich entweder paralell zum drekondensator laufen lasse, oder anstelle dessen.

Als abstimmanzeige sollen Warmton LED dienen. Die sind solange aus, wie das potentiometer nicht richtig steht. außerdem könnte ich da sogar statusmeldungen ausgeben.

Das LCD display müßte ich mal sehen, ob ich es getarnt auch noch einbaue.

Da das gerät wirklich normal genutzt werden soll, verzichte ich bei dem 1949er gerät auf die röhren. Jetzt nimmt die ganze sache etwa 2,2 Watt aus dem netz auf, wenn ich es nicht zu laut aufdrehe.

Die sache wird angegangen, wenn sich die soft und harware als stabiel herausstellt ( noch eine woche dauertest )
Zitieren
#92
(06.12.2020, 14:13)sharpals schrieb: Mehr als 17 URLs werden unpraktisch, da ich ja die station auf der skala einstellen möchte.
Da aber die ADCs nicht die besten sind, möchte ich es nicht übertreiben.

Ich würde ein  10-Gang Poti parallel zum Skalenantrieb montieren, die sind doch oft mit Untersetzung.

-Joe
Zitieren
#93
mit einem analogen Bedienelement ein digitales Radio zu bedienen finde ich nicht sinnvoll. Am Anfang meiner "Digital-Karriere" hatte ich diesbezgl. Versuche gemacht und bin davon abgekommen. Ein Poti, selbst über eine Referenzspannung betrieben, ist einfach zu ungenau und unberechenbar. Ja man kann die Widerstandsbahn aufteilen in möglichst wenig Wertebereiche, denen man jeweils eine Internetstation zuweist. Willkürliche Umschaltungen sind deswegen aber nicht ausgeschlossen.
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
#94
(06.12.2020, 23:29)saarfranzose schrieb: Ein Poti, selbst über eine Referenzspannung betrieben, ist einfach zu ungenau und unberechenbar.

Bei mir läuft das super stabil! Zwar noch alles auf einem Breadboard, aber stabil.

Habe ein zusätzliches Nano Bord genommen und das 10-Gang Poti an A0 angeschlossen. Das liefert Werte zwischen 0 und 1023.
Stationen werden in 20er Schritten gewechselt, also 0, 20, 40 ... 980, 1000, 1020. Das ermöglicht 52 verschiedene Stationen.

Problem ist nun wenn das Poti nicht genau bei 20, 40, 60 steht. Dann springen die Sender ...

Die Lösung ist hier den Restwert der Teilung zu nehmen und das für ein "Magisches Auge" zu nutzen, ein LED Bargraph mit 10 LED.
Geschaltet wird nun z.B. nicht genau bei 20 sondern 17 - 23. Hier leuchten dann die meisten bis alle LED

-Joe


Code:
// ESPRadio32 über die Serielle Schnittstelle steuern.
// Hardware:
// Arduino Nano (ATmega328p, old Bootloader)
// Ein 10-Gang Poti (10 kOhm), angekoppelt an der original Skala des Radios
// LED Bargraph als "Magisches Auge"
/*
Funktion:
Ein Analogwert von 0 .. 1023 soll in 20er Schritten Stationen wechseln. Das ergibt 52 Stationen.
Der Restwert eine Division durch 20 wird zur Ansteuerung des "Magischen Auge" verwendet

2 gegenüberliegende LED Bargraph Anzeigen  [0-1-2-3-4-5-6-7-8-9]  [9-8-7-6-5-4-3-2-1-0]
Restwert anz. LED
0        10(0-9) Station berechnen
1        9 (0-8) Station berechnen
2        8 (0-7) Station berechnen
3        7 (0-6)
4        6 (0-5)
5        5 (0-4)
6        4 (0-3)
7        3 (0-2)
8        2 (0-1)
9        1 (0)
10       0
11       1 (0)
12       2 (0-1)
13       3 (0-2)
14       4 (0-3)
15       5 (0-4)
16       6 (0-5)
17       7 (0-7) Station berechnen
18       8 (0-8) Station berechnen
19       9 (0-9) Station berechnen
*/
const int analogPin = A0;  // Eingang = 10 kOhm Poti
const int ledCount = 10;  // 10 LED als "Magisches Auge"

int ledPins[] = { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };   //Array von 10 LED

int sensorValue = 0;        // Wert des Potis

int Station;
int oldStation = -1;

void setup() {
 Serial.begin(115200);

 // LED-Array als Ausgang setzen
 for (int i = 0; i < ledCount; i++) {
   pinMode(ledPins[i], OUTPUT);
 }

}

void loop() {
 int led;
 // Potentimeterwert lesen:
 sensorValue = analogRead(analogPin) ;

 switch (sensorValue % 20)
 {
   case 0:
     Station = sensorValue / 20;
     led = 10;
     break;
   case 1:
     Station = sensorValue / 20;
     led = 9;
     break;
   case 2:
     //Station = sensorValue / 20;
     led = 8;
     break;
   case 3:
     led = 7;
     break;
   case 4:
     led = 6;
     break;
   case 5:
     led = 5;
     break;
   case 6:
     led = 4;
     break;
   case 7:
     led = 3;
     break;
   case 8:
     led = 2;
     break;
   case 9:
     led = 1;
     break;
   case 10:
     led = 0;
     break;
   case 11:
     led = 1;
     break;
   case 12:
     led = 2;
     break;
   case 13:
     led = 3;
     break;
   case 14:
     led = 4;
     break;
   case 15:
     led = 5;
     break;
   case 16:
     led = 6;
     break;
   case 17:
     //Station = (sensorValue + 17) / 20;
     led = 7;
     break;
   case 18:
     Station = (sensorValue + 18) / 20;
     led = 8;
     break;
   case 19:
     Station = (sensorValue + 19) / 20;
     led = 9;
     break;
 }
 
 if (Station != oldStation) {
   oldStation = Station;
   Serial.print("preset = ");
   Serial.println(Station);
  }

 for(int i = 0; i <= led; i++) {
   digitalWrite(ledPins[i],HIGH);
 }
 for(int i = led+1; i < 10; i++) {
   digitalWrite(ledPins[i],LOW);
 }
 

 // Kleine Erholungspause für den AD Wandler
 delay(10);
}
Zitieren
#95
Hallo, Joe,
Klingt interessant. Poste mal ein Video. Sieht so aus, dass man es auch mit einer ESP2286 versuchen kann, wenn keine Ressourcen für Display genutzt werden.
Gruß,
Ivan
Zitieren
#96
Hallo zusammen,

so ähnlich wie Joe habe ich das bei meiner Rpi-Software auch gelöst.

Ich wandle mit dem map-Befehl die Ausgabe des externen A/D-Wandlers in n*2+1 Schritte und benutze zur Weiterschaltung der Stationen nur die geradzahligen Schritte.
Dadurch habe ich rechts und links von der 'Schaltposition' des Poti unbenutzte Zonen, in denen nichts passiert.

Wenn ich also z.B. 16 Stationen auf meiner Playlist habe, wird der A/D-Wandlerwert in 16*2+1 = 33 'Zonen' gewandelt, wobei dann nur bei den Zonen 2, 4, 6 usw. eine Stationsweiterschaltung erfolgt.

Funktioniert sogar mit einem Standardpoti problemlos.


Viele Grüße

Martin
Zitieren
#97
klar kann die software wieder einiges ausbügeln.

wir hatten das Thema vor 3,5 Jahren:

Preset-Tuner mit ATtiny und TEA5767

dann macht mal schön. Vielleicht habt ihr ja mehr Glück als ich.
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
#98
Also es läuft bombenstabil mit dem poti, wenn man ein rollenden mittelwert verwendet ( es ist eigendlich ein tiefpass in software ). Als modernes bekommt es aber wohl noch einen IR empfänger.

Ich poste hier den neuen code als anhang, Da das radio jetzt stabil läuft ( es war der decoder, der ärger machte ).

Über verbesserungen wäre ich dankbar.
Also wenn man das poti einfach einlesen tut, dann sind wirklich instabilitäten zu erwarten und es macht kein spaß.
Eine einfache mittelwertbildung der art m_w = summe(werte)/anzahl werte bringt auch nicht viel mehr.

Erst wenn ich auf ein rollendes mittel gehe, bei denen die alten werte an gewicht verlieren wird ruhiger.
Natürlich braucht man dann mehr samples, je mehr, detso besser das ergebnis.
Wenn sich der wert erteinmal eingependelt hat, dann reagiert der messwert sehr zeitnah.

Also bei mir wird das so gelöst ;

#define potPin  36 // Poti für senderwahl
....
void setup ()
.....
 adcAttachPin(potPin);
  for (int i; i++; i < 64 )                                         // erster wert des ADC , danach läuft wird das mittel gleitend
  {
    read_potentiometer();
  }

dazu folgende procedure


#define mittelwert_zahl 64                                                              // rechnerisches tiefpassfilter für das stationspoti  
double value_float;                                                                          // darf nicht local sein !!!
int adc_alt = 0;                                                                               // wird für die liste benötigt
void read_potentiometer()
{
  value_float = value_float + (analogRead(potPin) - value_float) / mittelwert_zahl  ;   // rollender mittelwert
  int adc = 32 + int(value_float) >> 6;
  bool sw_ok = ((adc % 4 == 1) or (adc % 4 == 2) or (adc == 64));                     // Das poti befindet sich an richtiger stelle und die werte sollten stabil sein
  digitalWrite(ledPin, sw_ok);
  if (adc_alt != adc)
  {
    adc_alt = adc;
    if (sw_ok)
    { radioStation = adc >> 2;                                                          // Poti steht richtig, also wert übernehmen
      previousRadioStation != radioStation;                                             // station wurde gewechselt
    }
  }
}


Der erte aufruf ist notwendig, da nadernfalls einige sender nacheinander durchlaufen werden, bis der integrationsvorgang angeschlossen ist ( sieht lustig aus )

Hiermit wird der ermittelte wert ersteinmal auf 64 teilschritte gebracht ( also 0 - 63 )
int adc = 32 + int(value_float) >> 6;

Nun wird die restklasse gebildet, um festzustellen , ob das poti in der ,,Mitte" des wertest liegt, nur dann soll er gültig sein.

bool sw_ok = ((adc % 4 == 1) or (adc % 4 == 2) or (adc == 64));                     // Das poti befindet sich an

ist er gültig wird der wert nocheinmal durch 4 geteilt ( deshalb auch die restklasse % )

if (adc_alt != adc)
  {
    adc_alt = adc;
    if (sw_ok)
    { radioStation = adc >> 2;                                                               // Poti steht richtig, also wert übernehmen
      previousRadioStation != radioStation;                                             // station wurde gewechselt
    }


Auf diese art und weie lassen sich stellgrößen sehr schon einstellen, ohne das ein display benötigt wird.

Aufgrund des ADC würde ich die schritte aber nicht über 64 setzen, deshalb habe ich es auf 16 gesetzt. Mehr würde gehen, aber dann müßte man sehr genau drehen und der vorteil des potis geht verloren.

Wen man dann auch die lautstärke über denADC regeln will, dann get das auch noch mit 128 schritte, würde aber auch hier eher auf 64 gehen und dementsprechend sie lautstärke werte mit einer tabelle ( loagritmisch ) einstellen.

Nchtrag : if adc_alt != adc ist für den normalen betrieb nicht notwendig, das hat mit der logik des programmes zu tun.

Wenn ihr es so für euch benutzt, dann kann das weggelassen werden

und das ganze dampft sich dann so ein

#define mittelwert_zahl 64                                                              // rechnerisches tiefpassfilter für das stationspoti  
double value_float;                                                                          // darf nicht local sein !!!
int adc_alt = 0;                                                                               // wird für die liste benötigt
void read_potentiometer()
{
  value_float = value_float + (analogRead(potPin) - value_float) / mittelwert_zahl  ;   // rollender mittelwert
  int adc = 32 + int(value_float) >> 6;
  bool sw_ok = ((adc % 4 == 1) or (adc % 4 == 2) or (adc == 64));                     // Das poti befindet sich an richtiger stelle und die werte sollten stabil sein
  digitalWrite(ledPin, sw_ok);
   if (sw_ok)
    { radioStation = adc >> 2;                                                               // Poti steht richtig, also wert übernehmen
      previousRadioStation != radioStation;                                             // station wurde gewechselt
 }


Angehängte Dateien
.zip   arduino_radio10.zip (Größe: 8,5 KB / Downloads: 5)
Zitieren
#99
(08.12.2020, 23:29)saarfranzose schrieb: klar kann die software wieder einiges ausbügeln.

wir hatten das Thema vor 3,5 Jahren:

Preset-Tuner mit ATtiny und TEA5767

dann macht mal schön. Vielleicht habt ihr ja mehr Glück als ich.

Hallo, auch da geht es bombenstabil :-)

var adc_temp:array[1..3] of real;

function adc_r(ch:byte):word;
var ad_offs,r,
    MC_temp:word;
    temp:real;
begin
    SREG_I_bit:= 1;                                                // interrupt muß an sein
    MC_temp:=MCUCR or (1 shl SE) or ( 1 shl SM0);                  // das startet die AD-Wandlung
    ADCSRA:=ADSR_int;                                              // vorteiler setzen und adc aktivieren
    
    ADMUX:=Vref or %1101;                                          // dummyread gegen ground
    MCUCR := MC_temp;
    asm  sleep;  end;
    MCUCR := MC_temp;
    asm  sleep;  end;
    ad_offs:=ADCl;
    ad_offs:=((ad_offs or ADCh shl 8)) and %1111111111;             // offset gegen null ermitteln

    if ch = 15
      then
       begin
           ADMUX:=1 shl REFS2 or %1100;                              // Use VCC as voltage reference, select bandgap reference
           Delay_ms(1);
       end
    else
        ADMUX:=Vref or ch;                                          // hier erst den echten wert messen

    MCUCR :=MC_temp;                                                // das startet die AD-Wandlung
    asm    sleep;   end;
     ADCSRA:=ADSR_off;                                              // den adc wider aus machen, wegen dem stromverbrauch
    r:=ADCl;
    r:=((r or ADCh shl 8) - ad_offs) and %1111111111;                // wert minus offset
    temp_adc:=r+ad_offs;
    adc_temp[ch]:=adc_temp[ch]+(r - adc_temp[ch]) / integrationsschritte ;  // rollender mittelwert
    result:=word(adc_temp[ch]);
end;
Zitieren
alle Achtung! Da war ein umfangreicher Algorithums nötig. Hat aber dann ja zum Ziel geführt.
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Fragen und Antworten zum Nachbau - ESP8266/ESP32 Webradio klammi † 151 52.716 22.11.2022, 17:40
Letzter Beitrag: Siegfried55
  Gartenradio mit ESP32 fx2radio 9 3.196 15.06.2022, 10:23
Letzter Beitrag: fx2radio
  Wolle's Webradio mit dem ESP32 Tubefan 7 7.786 20.04.2021, 20:22
Letzter Beitrag: saarfranzose
  Webradio mit ESP8266 / ESP32 Bernhard45 54 24.861 01.02.2021, 12:21
Letzter Beitrag: saarfranzose
  Flashdateisysteme auf dem ESP8266 / ESP32 Bernhard45 1 5.125 19.01.2021, 13:07
Letzter Beitrag: sharpals

Gehe zu: