Vor nicht allzu langer Zeit habe ich ein Gerät meines eigenen Designs, das letztes Jahr entwickelt wurde, vor ein öffentliches Gericht gestellt. Dies ist ein Internetradio mit WLAN.

Es wird vorgeschlagen, an einer der Crowdfunding-Sites für oder gegen Menschen in Rubel zu stimmen. Das Gerät sorgte nicht für Furore, obwohl es bereits Sponsoren gibt. Seitdem gab es jedoch viele technische Fragen und Anforderungen, um die Schaltung und Firmware zu gestalten. Jeder, der daran interessiert ist, wie das Gerät geboren wurde und woraus es besteht, ist unter Katze willkommen.
Spoiler: Es wird keine Firmware geben.
Alles begann mit der Notwendigkeit, ein Radio in der Küche zu Hause zu haben. Natürlich habe ich als Elektronikentwickler sofort die Möglichkeit abgelehnt, einfach in den Laden zu gehen und zu kaufen. Aus diesem Grund habe ich übrigens immer noch keine normale Türklingel.
Das UKW-Radio wurde aufgrund der langweiligen Implementierung eingestellt. Und es wurde beschlossen, ein Internetradio zu machen. Mit Blick auf die Zukunft möchte ich zeigen, dass sich hier ein solcher Empfänger herausgestellt hat.
EisenauswahlZunächst musste eine Plattform ausgewählt werden, auf der Sie ein Internetradio aufbauen können. Es gibt viele Möglichkeiten, aber ich habe aus den verfügbaren Optionen ausgewählt:
1.
Odroid W + LCD
2.
STM32F4DISCOVERY +
ESP8266 +
VS1053BBei einem Odroid würde der Entwicklungsprozess weniger Zeit in Anspruch nehmen, aber die Nachteile, in meinem speziellen Fall (viele stimmen mir nicht zu), haben sich durchgesetzt:
- Das Laden des Betriebssystems dauert einige Zeit
- Eine wachsende Tendenz, IoT-Geräte mit Viren zu infizieren
- Ich habe schlechte Kenntnisse der Linux-Entwicklung
- Preis
Trotzdem bat ich einen meiner guten Freunde, einen Softink für Odroid W zu schreiben, der beim Start des Systems starten und Internetradio spielen würde. Aber die Unfähigkeit, das Projekt richtig zu bearbeiten, ohne einen Kameraden zu ruckeln, begrub diese Option und brachte mich zum zweiten.
Und ich habe das folgende Diagramm auf einem Steckbrett zusammengestellt:
Wie man mit Internetradio arbeitetDanach begann ich zu sehen, wie das Internetradio funktioniert. Es stellte sich heraus, dass die überwiegende Mehrheit der Sender
Icecast für die Ausstrahlung verwendet. Es dreht sich irgendwo auf einem Server mit einer festen IP und wartet auf eine Verbindung. In der Regel bei 8000 oder 8080 Port. Obwohl es viele Ausnahmen gibt. Nach dem Herstellen der Verbindung müssen Sie eine Anfrage dieses Typs senden und den Namen des Streams und des Servers darin ersetzen:
GET /stream HTTP/1.1 Icy-MetaData: 0 User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040413 Epiphany/1.2.1 Host: internetradioserver.ru Cache-Control: no-cache
Als Reaktion darauf beginnt ein
endloser MP3-Stream zu fallen, der bereits dekodiert und abgespielt werden kann.
Das Öffnen einer TCP-Verbindung und andere Freuden bei der Arbeit mit dem ESP8266 erfolgen mithilfe von AT-Befehlen. Ich werde nicht auf sie eingehen, die Informationen im Internet sind voll. In der
russischsprachigen Gemeinschaft esp8266 ist alles sehr gut gemalt. Das Verfahren zum Arbeiten ist einfach:
1. Wir warten auf eine WiFi-Verbindung. Wenn diese nicht vorhanden ist, wählen Sie ein Netzwerk aus und geben Sie das Passwort ein.
2. Wir öffnen die TCP-Verbindung mit dem Server des Radiosenders. Serveradressen, Ports und Streamnamen werden direkt im Flash-Speicher des Mikrocontrollers gespeichert, dazu später mehr.
3. Senden Sie die obige GET-Anfrage.
4. Wir erhalten als Antwort einen kontinuierlichen MP3-Stream.
5. Wenn Sie die Station wechseln müssen, schließen Sie die TCP-Verbindung und wiederholen Sie den Vorgang ab Schritt 2.
Ich erzähle Ihnen ein wenig darüber, wie Stationen in den Flash-Speicher des Mikrocontrollers gelangen. In der Überprüfungsphase habe ich zunächst einfach Adressen, Portnummern und Streamnamen auf eine der Programmspeicherseiten geschrieben. Aber im Laufe der Zeit, als sich die Geräte unter Verwandten und Freunden verteilten, musste ich die Möglichkeit hinzufügen, die Liste zentral zu aktualisieren. Es wurde beschlossen, einen Server mit einer festen IP zu erstellen, auf dem eine Datei mit einer Liste von Stationen gespeichert wird. Bei einer Verbindung über TCP wartet der Server auf ein Kennwort und gibt eine Datei aus, und der Mikrocontroller schreibt sie in seinen Flash-Speicher. Als ich zum ersten Mal auf die Schaffung von „etwas im Internet“ stieß, war ich angenehm überrascht, dass sich herausstellt, dass die Miete einer virtuellen Maschine mit einer festen IP nur 100 Rubel pro Monat kostet. Wunder :)
SchaltungNachdem ich genug mit STM32F4Discovery gespielt hatte, entschied ich mich, meine eigene Karte zu erstellen, auf der sich alle Elemente des Empfängers befinden, und ich muss weder die Drähte zum Display noch zu den Anschlüssen ziehen. Dies verbessert die Zuverlässigkeit und Herstellbarkeit erheblich
und jeder träumt davon .
Das Schema kann hier heruntergeladen werden.
[DIAGRAMM] . Ich habe sie nicht speziell für die Veröffentlichung dekoriert oder gekämmt. Dies ist eine funktionierende Option, und dies sollte für diejenigen ausreichen, die wirklich interessiert sind.
Das Schema besteht aus den Hauptteilen:
1. MK STM32F415 mit einem Kabelbaum - zwei Quarze und eine Batterie für eine Echtzeituhr.
2. ESP8266
3. VS1053 mit strikter Umreifung auf dem Datenblatt. Begonnen auf MK durch SPI.
4. Leistung - zwei Linearregler LM1117 bei 3,3 und 1,8 Volt.
5. Display, Anschlüsse, Tasten, Potentiometer. All dies wird auf dem GPIO-Mikrocontroller eingerichtet.
Außerdem wird der Klasse-D-Verstärker
PAM8403 nicht im Diagramm angezeigt, da er ein separat erworbenes Modul kostet.
GebührBevor Sie die Platine herstellen, müssen Sie die Position der Elemente bestimmen, die aus dem Gehäuse herausragen - Tasten, Anschlüsse, Anzeige. Also habe ich es getan, aber über den Fall später.
Das Board ist so geworden. Vorsicht Geek Erdbeere!



Die Platte ist zweischichtig und hat eine Dicke von 1,5 mm. Alle smd-Komponenten befinden sich auf einer Seite, was die automatische Installation erleichtert. Es ist ihm jedoch noch nicht gekommen.
Ich wurde bereits von mehreren Experten wegen kleiner Fehler in der Verkabelung auf Pikabu gescholten. Das Board funktioniert jedoch und es funktioniert so, wie es sollte. Ich sehe den Wert nicht in den Tafelzeichnungen, daher poste ich ihn nicht. Wenn es Anfragen gibt, werde ich es posten. Wie auch immer, ich werde es wiederholen. Und begründete Kritik ist natürlich sehr willkommen!
GehäuseDer Fall ist ein Schmerz aller Amateur-Elektronikingenieure. Und selbst wenn Sie kein Amateur sind und sich für Ihr Geld einsetzen, werden Sie daraus.
In kleinen Chargen ist das Fräsen oder Laserschneiden die günstigste Option. Mit Metalloptionen kann es immer noch Blech biegen, aber das ist nicht mein Fall. Deshalb habe ich mich für das Fräsen von Holzteilen + das Laserschneiden von Paneelen entschieden. In Bezug auf den Klang ist eine Holzkiste auch ein großes Plus.
Das Ergebnis war dieser Teilesatz:

Besondere Aufmerksamkeit verdient die Inschrift. Nach langem Überlegen, wie man sie anwendet, wurde beschlossen, sie durch Verfugen auszuführen. Das heißt, zuerst wird mit einer dünnen Mühle die Inschrift auf der Tafel ausgewählt und dann wird dort Farbe gegossen. Nachdem die Farbe getrocknet ist, wird ihr Überschuss entfernt. Eine sehr teure Operation, aber ich hörte nicht mehr auf. Darüber hinaus eine der langlebigsten Möglichkeiten. Wenn jemand Erfahrung mit anderen Methoden zum Anbringen von Etiketten hat, teilen Sie diese bitte mit.
So sehen die resultierenden Inschriften aus.

Und hier ist das zusammengebaute Radio von innen:

Und noch ein Foto draußen:

Fazit In diesem Artikel wurden die Details der Entwicklung des Geräts mit breiten Strichen beschrieben. Es ist ziemlich schwierig, über die Details zu schreiben, einerseits durch die Tatsache, dass ihr Meer andererseits alle einzeln offensichtlich erscheinen. Ich könnte auf einem separaten Artikel über Schaltkreise, eine Leiterplatte, Firmware, die mit esp8266 und vs1053b arbeitet, schreiben, wenn ich genug Interesse bekomme, werde ich definitiv schreiben. Denn ich möchte wirklich, dass Internetradio populär wird.