Inhaltsverzeichnis:

Pi Zero sprechendes Radio - Gunook
Pi Zero sprechendes Radio - Gunook

Video: Pi Zero sprechendes Radio - Gunook

Video: Pi Zero sprechendes Radio - Gunook
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Juli
Anonim
Image
Image
Pi Zero sprechendes Radio
Pi Zero sprechendes Radio
Pi Zero sprechendes Radio
Pi Zero sprechendes Radio
Pi Zero sprechendes Radio
Pi Zero sprechendes Radio

Dies ist ein DeWald-Tischradio aus den späten 1940er Jahren, dem ich mit einem Raspberry Pi Zero, einem Blinkt! LED-Streifen und ein Paar PC-Lautsprecher. Es liest Benachrichtigungen von einer Reihe von mit dem Internet verbundenen Diensten mithilfe der Pyvona Text-to-Speech (TTS)-Engine und der IF This Then That (IFTTT)-Integration aus. Die LEDs sind erstaunlich hell und leuchten das Zifferblatt des Radios je nach Schlüsselwörtern im Benachrichtigungstext in einer anderen Farbe, zum Beispiel "youtube" = Rot.

Ich habe dieses süße kleine Radio im Sommer bei einem Kofferraumverkauf für £ 3 gekauft - ich war sofort von seiner kompakten Größe und seinem klassischen Design begeistert und schaffte es, sein Potenzial durch das sonnengebleichte Äußere und viele Risse zu erkennen! Ich wollte schon seit einiger Zeit "etwas Anständiges fürs Wohnzimmer" schaffen und das war der ideale Ausgangspunkt. Ich habe bereits beim Rabbit Pi-Projekt mit Text-to-Speech-Benachrichtigungen experimentiert und hoffte, auf dem aufbauen zu können, was ich gelernt hatte, um etwas zu machen, das täglich "einfach funktioniert".

Falls Sie das eingebettete Video nicht sehen können, finden Sie es unter:

Schritt 1: Blinkty Pi

Blinkty Pi
Blinkty Pi
Blinkty Pi
Blinkty Pi

Ich habe vor kurzem meine ersten Pi Zeros abgeholt und war sofort von ihrer winzigen Größe begeistert! Nach dem Einlöten des GPIO-Headers und dem Anschließen der Adapter war der erste fertig. Ursprünglich hatte ich geplant, einen verbesserten Rabbit Pi zu entwickeln, aber nach einer Weile fühlte sich das mehr nach Arbeit als nach Spaß an, also habe ich es auf Eis gelegt - allerdings nicht bevor ich angefangen habe, mit einem Unicorn pHAT zu experimentieren, einer 4x8-Matrix aus programmierbaren LEDs, die ein absoluter Haufen war aus Spaß! Der einzige Nachteil war, dass die Verwendung des pHAT das Audio-Setup komplizierte und ich mein nächstes Projekt wirklich einfach halten wollte.

Beim Cambridge Raspberry Jam im September passte alles zusammen, als ich das Blinkt! zum Verkauf am Stand von Pimoroni - es ist genau wie das Unicorn pHAT, aber mit einer einzigen Reihe von 8 LEDs, perfekt dimensioniert, um auf den GPIO-Header eines pi zero zu passen. Es kommt mit einer Menge Dokumentation und Beispielen und war in kürzester Zeit einsatzbereit - jetzt war es an der Zeit, den Rest des Codes zusammenzustellen.

Schritt 2: Code sprechen

Sprechender Code
Sprechender Code

Ich begann mit einer Kopie des Hauptcodes vom Rabbit Pi, da in diesem bereits meine Ivona-Text-to-Speech-Anmeldeinformationen gespeichert waren. Sie müssen ein Ivona-Entwicklerkonto einrichten, bevor Sie den Dienst nutzen können, aber der Vorgang ist einfach, wie ich zuvor dokumentiert habe.

Der nächste Schritt war die Installation von Pyvona, dem Python-Wrapper zur Integration in den Ivona TTS-Dienst, was nicht einfacher hätte sein können (pip install pyvona).

Damit begann ich, den Rabbit Pi-Code zu ändern, indem ich die Verweise auf Motorsteuerung und Selfie-Aufnahmen entfernte, um mir nur die Bits zu überlassen, die Benachrichtigungen aus den Betreffzeilen von Gmail-Nachrichten auslesen. Die kritische Entwicklung bei diesem Code bestand darin, eine Reihe von IF-Anweisungen hinzuzufügen, um nach bestimmten Schlüsselwörtern in den Nachrichten zu suchen, damit die Blinkt! würde je nach Nachricht in verschiedenen Farben leuchten.

Das hat eine Weile gedauert, da ich immer noch mit Python auf den Beinen bin, aber meine Schlüsselwörter ("Cloudy", "Sunset", "Showers", "Facebook", "Twitter", "Youtube" und "Sunny") definiert habe. Ich konnte das Blinkt! Farbe je nach vorgelesenem Text.

Der einfache, wenn auch unelegante Code, den ich verwendet habe, befindet sich auf GitHub, obwohl ich bereits weitere Schlüsselwörter und Farben hinzugefügt habe! Ich habe es außerhalb des Gehäuses mit einem batteriebetriebenen Lautsprecher getestet - mehr zum Audio-Setup später. Der letzte Schritt bestand darin, das Python-Skript radiot.py so einzustellen, dass es beim Start ausgeführt wird.

Schritt 3: Benachrichtigungszentrale

Benachrichtigungszentrale
Benachrichtigungszentrale

Jetzt, da der Pi zuverlässig Nachrichten vorlieste und verschiedene Farben leuchtete, musste ich die Benachrichtigungen so einrichten, dass sie spontan durchkamen - ich erinnere mich, dass in einem alten Tom & Jerry-Cartoon das Radio nur gelegentlich auftauchte (Jerry's Diary (1949) - gleiche Zeit wie das Radio!) und das ist der Effekt, den ich wollte, dass es in der Ecke sitzt und schön aussieht, gelegentlich aufleuchtet und Benachrichtigungen vorliest, die ich sonst nicht auf meinem Telefon abholen würde.

Zuerst habe ich ein separates Gmail-Konto eingerichtet, um die Benachrichtigungs-E-Mails zu erhalten - das bedeutete, dass ich nicht mit neuen E-Mail-Benachrichtigungen bombardiert werde oder meinen bestehenden Posteingang mit Hunderten von automatisch generierten Nachrichten verschmutze.

Als nächstes ging ich zu IFTTT (IF This Then That), um die Automatisierung einzurichten. Mit IFTTT können Sie ganz einfach mehrere „Kanäle“mit Ihrem Konto verbinden und sie mithilfe von „Rezepten“so einstellen, dass sie miteinander interagieren. Ich habe den "Dann das"-Teil der Rezepte so angepasst, dass alle eine E-Mail an das Gmail-Konto senden, das ich für Benachrichtigungen eingerichtet habe, und den Abschnitt "Zutaten" verwendet, um sicherzustellen, dass die wichtigsten Informationen im E-Mail-Betreff enthalten sind, der Teil, der ausgelesen wird. Im Moment habe ich die folgenden IFTTT-Rezepte eingerichtet, aber diese werden ständig hinzugefügt!

  • Jeden Tag um 21 Uhr das Wetter von morgen per E-Mail senden
  • Senden Sie jeden Tag bei Sonnenuntergang Datum und Uhrzeit per E-Mail
  • WENN ich auf einem Facebook-Foto markiert bin, sende eine E-Mail
  • WENN mein Telefon angeschlossen/nicht angeschlossen ist, senden Sie den Akkuprozentsatz per E-Mail
  • WENN ich ein geografisches Gebiet betrete, senden Sie eine E-Mail "MisterM ist bei der Arbeit angekommen!"
  • WENN ich ein YouTube-Video hochlade, sende eine E-Mail
  • WENN eine bestimmte Person twittert, senden Sie es per E-Mail
  • WENN ein Google Kalender-Ereignis beginnt, senden Sie es per E-Mail
  • WENN das aktuelle Wetter auf Regen umstellt, senden Sie eine E-Mail ("Achtung, es fängt gleich an zu regnen!"
  • WENN die intelligente Steckdose ein- oder ausgeschaltet ist, senden Sie eine E-Mail
  • WENN eine neue SMS-Nachricht empfangen wird, senden Sie diese per E-Mail
  • WENN der Akku des Telefons unter 15 % sinkt, senden Sie eine E-Mail ("Laden Sie Ihr Telefon auf, du Idiot")
  • WENN ich einen neuen Twitter-Follower habe oder erwähne, eine E-Mail zu senden

Es ist eine großartige Mischung aus vorhersehbaren täglichen Ereignissen und unerwarteten Ankündigungen - mein Favorit ist die Sonnenuntergangsbenachrichtigung, zu dieser Jahreszeit ist es interessant zu sehen, wie sich ihre Zeit täglich ändert. Die Twitter-Benachrichtigungen machen am meisten Spaß, im Moment werden alle neuen Tweets von "Beef & Dairy Network", "Very British Problems", "My Sweary Cat" und "Henry Thoreau" vorgelesen (obwohl einige davon in die IFTTT-App in höflicher Gesellschaft). Das Auslesen bestimmter Twitter-Accounts macht es wirklich flexibel, und diese können über IFTTT angepasst werden, anstatt den Pi jedes Mal neu programmieren zu müssen.

Schritt 4: Audiooptionen

Audiooptionen
Audiooptionen
Audiooptionen
Audiooptionen
Audiooptionen
Audiooptionen
Audiooptionen
Audiooptionen

Als nächstes musste ich das Audio sortieren, mit zwei Herausforderungen! Erstens, wie man das Audio aus dem Pi bekommt. Im Gegensatz zu seinem größeren Bruder hat der Pi Zero keinen 3,5-mm-Audioausgang, daher musste ich eine Art Adapter verwenden. Anfangs dachte ich, ich würde einen HDMI-zu-VGA + Audio-Anschluss verwenden, aber das schien übertrieben (und ich brauchte ihn für ein anderes Projekt!), also habe ich einen billigen USB-Audioadapter verwendet. Dies war ziemlich einfach einzurichten, nur um die USB-Soundkarte als Standard-ALSA-Gerät auf dem Pi einzustellen. Dies bedeutete, dass ich einen USB-Hub zur Unterbringung des WiFi-Adapters benötigte, aber ich schaffte es, einen alten, den ich herumliegen hatte, zu zerlegen und wiederzuverwenden.

Zweitens musste ich eine Verstärker/Lautsprecher-Kombination wählen, die eine gute Klangqualität liefert und ständig eingeschaltet ist. Ich habe zuvor batteriebetriebene Lautsprecher verwendet, aber ein regelmäßiges Aufladen wäre nicht gut für den "immer eingeschalteten" Einsatz, auch hatten sie oft ein merkliches Hintergrundrauschen. Ich habe in der Vergangenheit auch alte iPod-Docks ausgeschlachtet, aber diese neigten dazu, Stromsparfunktionen zu haben und wurden nach ein paar Minuten Stille ausgeschaltet.

Am Ende habe ich mich für etwas Neues entschieden, ein Paar PC-Lautsprecher zum Schnäppchenpreis von 6,99 £. Ich habe nicht zu viel erwartet, aber die Klangqualität war absolut in Ordnung, ohne Zischen oder Timing. Der zusätzliche Bonus der PC-Lautsprecher war, dass sie einen Ein / Aus-Schalter und einen Lautstärkeregler enthielten, von denen ich hoffte, dass sie mit den ursprünglichen Bedienelementen des Radios verbunden werden können. Auf der Bank hat alles funktioniert, also war es jetzt an der Zeit, es in den Koffer zu legen!

Schritt 5: Retrofitting

Retrofitting
Retrofitting
Retrofitting
Retrofitting
Retrofitting
Retrofitting

Als ich das Radio zum ersten Mal nach Hause brachte, entfernte ich die ursprünglichen Schaltkreise, die an manchen Stellen buchstäblich Toast waren. Beeindruckt war ich jedoch von der Originalkonstruktion, sie war offensichtlich so konzipiert, dass sie leicht demontiert und befestigt werden konnte, da nach dem Lösen einiger Schrauben die gesamte Baugruppe auf einer Art Chassis herausrutschte. Ich entschied mich für den gleichen Ansatz und setzte die neuen Komponenten auf einer Basis zusammen, die dann in das Gehäuse geschoben und wie das Original befestigt werden konnte.

Ich begann mit einem dünnen Holzregal aus einem alten DVD-Rack, schnitt es zu und bohrte Löcher für die Gehäuseschrauben. Als nächstes zerlegte ich die Lautsprecher und schnitt die Plastikgehäuse mit einer Bügelsäge und einem Drehwerkzeug ab. Die nun schlanken Lautsprecher wurden mit einer 90-Grad-Halterung aus Meccano am Holzsockel befestigt. Als nächstes kam die Verstärkerschaltung - aus Platzgründen musste diese leider verkehrt herum montiert und etwa einen Zoll über der Basis angehoben werden. Ich musste eine Art Säulenanordnung bauen, um das Brett zu stützen und zu sichern, aber ich blieb dabei stecken, wie man das ordentlich macht. Die ideale Lösung lag direkt vor meiner Nase – ein Buntstift! Ich schneide Abschnitte des Bleistifts zurecht und paßte diese dann in Löcher, die in die Basis gebohrt wurden. Das Schöne am Buntstift ist, dass sich die "Mine" in der Mitte ganz einfach ausbohren lässt und so ein praktisches Loch für die Platinenschrauben bleibt.

Ich habe eine Kombination aus Meccano- und Lego-Stücken verwendet, um eine Halterung zum Stützen des Pi selbst herzustellen, und die verirrten Leitungen mit Kabelbindern aufgeräumt. Die Lautstärke- und Ein-/Aus-Schalter waren auf der Lautsprecherplatine weiter auseinander als die Löcher im Radiogehäuse (man kann nicht alles haben), also habe ich sie mit Abschnitten eines hohlen Plastikballons erweitert.

Schritt 6: Fallarbeit

Fallarbeit
Fallarbeit
Fallarbeit
Fallarbeit
Fallarbeit
Fallarbeit

Wie ich bereits erwähnt habe, war das Radiogehäuse in einem schrecklichen Zustand, also habe ich die schlimmsten Löcher und Risse mit Polyfilla ausgebessert und überall abgeschliffen. Ich entschied mich für eine schöne Cremefarbe für den Lack, um mit dem Braun des Stimmrads abzustimmen. Die Farbe behauptete, "Grundierung & Farbe in einem" zu sein, aber ich habe ihr zuerst ein paar Schichten Grundierung gegeben, um auf der sicheren Seite zu sein. Die Knöpfe brauchten ein bisschen Schrubben (60+ Jahre Schmutz!)

Nachdem die Farbe ausgehärtet war, war es an der Zeit, alles zusammenzusetzen - normalerweise der Teil eines Projekts, der meine Geduld am meisten fordert! Diesmal lief es sehr reibungslos, da der ganze schwierige Aufbau bereits am Sockel erledigt war, musste ich nur noch die Baugruppe in das Gehäuse schieben, mit den Schrauben befestigen und die Knöpfe montieren.

Die hintere Abdeckung des Radios fehlte, also habe ich aus einem alten Bilderrahmen eine neue gemacht und sie in der gleichen Cremefarbe gestrichen.

Schritt 7: Radiozeiten

Radiozeiten
Radiozeiten
Radiozeiten
Radiozeiten
Radiozeiten
Radiozeiten

Es hat wirklich Spaß gemacht, dieses Projekt zu bauen, es war gut, die Dinge ziemlich einfach zu halten und sich darauf zu konzentrieren, es so sauber wie möglich zu machen. Manchmal war ich versucht, ein Mikrofon für die Alexa-Integration hinzuzufügen, und dachte sogar ernsthaft darüber nach, Chromecast Audio (für meine Lieblings-Neuzeit-Podcasts im Stil des alten Radios) einzubauen, aber ich bin froh, dass ich es einfach gehalten habe und Ich bin vom Ergebnis begeistert.

Es ist jetzt auf einem Lautsprecher in der Ecke des Wohnzimmers installiert, leuchtet und spricht gelegentlich, wie ich es mir erhofft hatte. Der einzige kleine Nachteil ist, dass das creme-braune, durchscheinende Zifferblatt es schwieriger macht, die brillante Farbpalette der Blinkt! Es ist ziemlich offensichtlich für Sonnenuntergangsbenachrichtigungen (orange) und Textnachrichten (violett), aber die Wetternachrichten sind ein bisschen gleich - ich muss nur mit verschiedenen RGB-Farbcodes experimentieren, denke ich!

Wenn Ihnen dieses Projekt gefällt und Sie mehr sehen möchten, können Sie meine Website für laufende Projektupdates unter bit.ly/OldTechNewSpec besuchen, auf Twitter @OldTechNewSpec mitmachen oder den wachsenden YouTube-Kanal unter bit.ly/oldtechtube abonnieren - Give einige Ihrer alten Technologien eine neue Spezifikation!

IoT-Builder-Wettbewerb
IoT-Builder-Wettbewerb
IoT-Builder-Wettbewerb
IoT-Builder-Wettbewerb

Zweiter Preis beim IoT Builders Contest

Empfohlen: