Raspberry Pi Internetradio (2017)

… Ein Internetradio mit viel zu großen Ambitionen (und zu schlechten Programmierkenntnissen)

Ich war der Meinung mir ein Internetradio bauen zu müssen (fürs Bad) welches natürlich mehr können sollte als ein normales „kauf“ Radio. Ich dachte an Airplay, MPD-Deamon, diverse Smarthome-Funktionen, Gimmiks wie ein Kamerabild auf dem Display anzuzeigen (wofür auch immer ^^) und so weiter. Halbwegs gut aussehen sollte es natürlich auch…

Mittlerweile habe ich schon einige „Holzkisten“ gebaut, dank meiner Proxon-Minikreisäge und mittlerweile einem Bandschleifer (dieses Projekt ist in der Prä-Bandschleifer Ära entstanden) und die guten Toom Mini-Spannecken 🙂
Das Materal für dieses Projekt war Sperrholz für die Rückblende und Reste meines Wohnzimmer Parketbodens (Eiche).

Teile wurden testweise mal zusammengehalten – geklebt wird erst später

Im Inneren entstehen 3 Kammern (links / rechts für Lautsprecher)
In der Mitte die Technik


Die Frontplatte entsteht…

Ein Stück Plexiglas fürs Display

Das Display selbst ist ein Composite-Videodisplay von Adafruit (war zu „lazy“ damals für eine digitale Ansteuerung des Displays)

Schaut ja schonmal gar nicht so schlecht aus 🙂

Die Lautsprecher wurden in die Seitenteile eingefräst (Oberfräsensatz für Dremel)

Halteplättchen aus dem 3D-Drucker

In der Zwischenzeit mal ein kurzer Test (noch im Bild zu sehen: Mini-Röhrenmonitor als Retro-Element im Radio, Idee schnell verworfen, da zu sperrig und zu klein)

Weiterer Test-Fit

Nun beginnt das Bestücken und Verkleben der Teile…

Auf dem Raspberry Pi A+ steckt eine Wolfson-Audiokarte

Die restlichen GPIOs werden für die Tasten und die LED in der Front benötigt…

…sowie für ein Schaltrelais, welches das Display schalten kann.

Die grauen Schraub-Ecken sind wieder 3D gedruckt…

Die Rückseite soll ja auch gut aussehen: von links nach rechts – roter shutdown Taster, etwas versenkter Kontrast-Toggle Taster für Display, Micro-SD Card Extender, 5 Volt DC Buchse (Spannungsregelung der Wolfson Karte wird genutzt um Pi und Soundkarte zu versorgen sowie alle angeschlossenen Teile
Eckiges Loch oben: USB Aussparung für WLAN Adapter

Fertich…

Kurze Demo:

Fazit: das Radio kann per Airplay angesprochen werden (wichtig für mich um morgens automatisch durch die Synology Audiostation synchron im Schlafzimmer und im Bad Musik zu haben) und per MPD-Deamon Musik durch die Haussteuerung abspielen. MPD steuere ich über IO-Broker an. Die 3 Tasten regeln die Lautstärke und schalten einen (bzw. den letzten) eingestellten Sender von MPD an oder aus. Das Display tut (eingangs gesagt – komplexere Programmierungen sind nicht meine Stärke) nicht viel, zeigt nur die Lautstärke an und ein paar Statusmeldungen. Display schaltet sich nach ein paar Sekunden aus wenn nicht benötigt. Die blaue LED leuchtet wenn das Radio über den mittleren Taster eingeschaltet wurde. Das Radio spielt stabil, sonst tut es nicht viel. Von meinen Wünschen konnte ich mangels Zeit und Motivation nicht viel umsetzen. Vielleicht wird das nochmal 🙂
Zur Soundkarte: würde ich nicht empfehlen zu kaufen, da ich auf relativ alte Treiber und somit ein altes Raspian System setzen musste, was ich derweil noch nicht mal mehr updaten kann, ohne das nichts mehr funktioniert. Evtl. müsste ich mal das System komplett neu aufsetzen und schauen ob es nicht doch mittlerweile was neueres gibt. Die Audioqualität ist allerdings gut und der integrierte Verstärker hat viel Power (Netzteil sollte hier nicht zu schwach gewählt werden).
„Programmiert“ wurden die Sachen in Python, da es am schnellsten ging damals.
Mittlerweile würde ich vielleicht einen Ansatz mit einem ESP32 wagen, da man damit auch MP3 decodieren kann. Ein Display wäre damit ohne größeren Aufwand auch ansteuerbar.

Und nein, ich werde sicherlich nie wieder ein Radio bauen, soviel steht fest 😛

Machts besser als ich (ernsthaft)…

VN:F [1.9.22_1171]
Rating: 2.0/5 (1 vote cast)

Der Microprofessor MPF-1B

…Ob er wirklich ein Professor ist sei mal dahingestellt 😉

Ein Freund brachte letztens ein Goodi von einer Haushaltsauflösung eines technisch Interessierten Mitbürgers mit, der leider nicht mehr unter den Lebenden weilen darf. Es handelt sich, nach kurzer Internet Recherche, um einen Z80 basierenden Lerncomputer aus Anfang der 80er Jahre. Ich dachte bei Z80 erst sofort an „Sinclair“-Qualitäten aber leider ist dieses Gerät nicht so wohnzimmertauglich wie andere Z80 basierende Homecomputer aus der Zeit. Es beschränkt sich wirklich nur auf das rudimentäre Programmieren und Ansteuern. Gebaut wurde er damals im übrigen von Multitech, was heute Acer heißt.

So schaut das Teil aus: 80er Jahre Vintage in einer Art VHS Hülle, um es ordentlich im Bücherregal aufzubewahren.

Das Hauptboard, der MicroProfessor MPF-1B, so wie es scheint eine sehr frühe Hardwarerevision – an vielen Stellen gibt es klassische Transistoren als Treiber, welche auf späteren Boards durch DIP Chips ersetzt wurden. Angeblich wird der MicroProfessor immernoch hergestellt und auch für Lernzwecke eingesetzt. Oben rechts 2 Klinkenbuchsen für die Microfon- und Lautsprechereingänge eines externen Kassettenrecorders zum Einlesen und Speichern von Programmen. Ganz rechts: DC Buchse für die Spannungsversorgung mit 9 Volt.

Auf der anderen Seite der Hülle befindet sich eine Art IO Karte von einem Lehrmittelhersteller „Christiani“ die es heute noch gibt http://www.christiani.de/. Allerdings konnte ich leider keine weiteren Informationen zu diesem Zusatzboard finden, welches über breite Flachbandkabel an die Expansion Ports des MPF-1B Boards gesteckt wird.
Mit dem Board werden wohl ätliche Möglichkeiten der Robotersteuerung und allgemeinem IO Tätigkeiten realisiert werden können.

Falls jemand dazu was sinnvolles beizutragen hat, gerne in den Kommentaren.

Der Z80 Prozessor, darüber halb zu sehen, das Bildschirm-Programm Rom welches die Bedienung des Systems ermöglicht und die Grundfunktionen bereitstellt. Unten der Expansion Anschluss für Erweiterungen mit Zusatzboards.

Die „Tastatur“ und oben links das Display (rechts der Magnet vom Buzzer-Lautsprecher).
Die grüne LED blinkt immer wenn Tasten gedrückt werden bzw. der Lautsprecher etwas von sich gibt. Die rote LED ist wohl für den Fehlerfall – hat bisher nie geleuchtet oder geblinkt.

Jetzt kommt das Beste: das Teil kann im Grunde nur in Assembler programmiert werden oder mit einem separat erhältlichen Basic-Rom ,welches man neben dem Bildschirm-Programm Rom einsetzen kann. Es bedeutet im Klartext, dass es Leute geben muss, die so abgehoben sind, Assembler in Hex-Code Form in dieses Ding zu tippen, möglicherweise schon als Listing (wie darin kompiliert werden soll ist mir noch ein Rätsel)!!
Alles auf einer stark eingeschränkten 6 Zeichen Nummerischen LED Anzeige.
Die Leute waren schon hart im nehmen früher…

Nun denn – wäre ja zu langweilig sich nicht mal damit zu befassen was ans laufen zu bekommen auf dem Herrn Professor. Nach etwas googeln gabs auch einiges an Material was es auszutesten gab:

http://www.sbprojects.com/projects/mpf1/index.php
http://de.wikipedia.org/wiki/Microprofessor_I
http://www.8bit-homecomputermuseum.at/computer/multitech_mpf1b.html

http://oldcomputers.dyndns.org/public/pub/manuals/
http://ery.xs4all.nl/comp/mpf1/doc/index.html

… und viele mehr…

Auf sbprojects.com habe ich dann auch erstmal verstanden wie man ein Programm startet und rausgefunden, dass an der Stelle wo das Basic Rom stecken kann, ein Rom mit Demoprogrammen vorhanden war, welche ich im folgenden Video ausprobiere:

Folgendes passiert da:
erstes Programm startet bei Hex-Addresse 2000 und spielt einige Alarmtöne ab und zeigt „HELP US“ auf der Anzeige an
zweites Programm an Hex 2200 ist eine Art „BEEP“-Klavier
drittes Programm an Hex 2300 spielt eine Melodie ab

Ich denke dieses Eprom stammt auch von Christiani und stützt sich auf irgend eine „Experimentier“-Literartur. Im Originalhandbuch sind einige Beispiele für Tonerzeugung und Displayansteuerung vorhanden auf die wiederrum diese Programme abgeleitet sein dürften.

Im Übrigen habe ich hier nahezu alle wichtigen Originalunterlagen zum MicroProfessor gefunden: http://electrickery.xs4all.nl/comp/mpf1/doc/index.html

Zum Schluss noch ein weiteres Video: wir haben ein Programm „Egg Timer“ von sbprojects.com abgetippt und tatsächlich zum Laufen bekommen. Ansich liefert der Autor von sbprojects.com zu jedem seiner Programme eine MP3 Datei, die man über den Line-Out mit dem Rechner über die Kassettenrecorder-Schnittstelle direkt einlesen können sollte. Leider ist die Audioqualität der Dateien zu schlecht, so dass dies leider nie geklappt hat. Somit mussten ein paar hundert Hexaddressen von Hand abgetippt werden 🙂

Hier das Ergebnis:

Nach dem erfolgreichen Test des Programms habe ich es wieder als Audiodatei „umgewandelt“, so dass es nun auch lesbar sein sollte.
[wpdm_file id=13]

So kann man auch mal hören, wie so ein Programm klingt 😉

Ok, dass hat man nun auch mal gemacht… Reicht jetzt aber auch – in bin froh in unserer Gegenwart zu leben wo solche Grundlagenforschung nicht mehr zwingend erforderlich ist. Ein hoch auf alle die mit so einem Gerät umgehen können!

Ich programmiere jetzt wieder Homematic, Atmels (in C und Bascom), Apple Script und andere nicht assemblerartige Sprachen 😛

Falls interesse besteht kann ich gerne nochmal zeigen wie Programme ausgelesen, auf dem PC in Audacity aufgenommen und wieder zurückgelesen werden in den µPF. Bitte einfach in die Kommentare schreiben.

Bis dahin.

VN:F [1.9.22_1171]
Rating: 4.4/5 (7 votes cast)