ALSA Bluetooth mit Raspberry Pi Zero W

Puh, Multimedia und Linux ist ja immer so eine Sache … Damit ich das alles nicht gleich wieder vergesse und weil ich es bestimmt nochmal brauchen werde, hier ein paar Schritte wie es dann endlich funktioniert (unter zu Hilfenahme einiger Quellen, die ich unten nochmal verlinkt habe)

sudo apt-get install bluez pulseaudio-module-bluetooth python-gobject python-gobject-2 bluez-tools
sudo usermod -a -G lp pi

pi@raspberrypi:~ $ hcitool scan
Scanning …
00:02:3C:4D:F7:37 Creative T12 Wireless

 

/etc/asound.conf

pcm.bluetooth {
type bluetooth
device 00:02:3C:4D:F7:37 # change this MAC address to the one you wrote down
}

/etc/bluetooth/audio.conf

[General]
Enable=Sink
Disable=Socket

systemctl restart bluetooth

/etc/pulse/daemon.conf

resample-method = trivial

pulseaudio -D

bluetoothctl

power on
scan on
pair 00:02:3C:4D:F7:37
[confirm pin]
scan off
connect 00:02:3C:4D:F7:37
trust 00:02:3C:4D:F7:37

 

speaker-test -c2

Nach einem Reboot ist jetzt nur noch ein „pulseaudio -D“ und ein Druck auf den Bluetooth-Taster meines Lautsprechers notwendig – danach funktioniert Audio problemlos.

Quellen:
http://tgarc.github.io/2015/03/24/connecting-to-a-bluetooth-speaker-with-pulseaudio/
https://unix.stackexchange.com/questions/381342/bluetooth-a2dp-pulseaudio-source-to-play-sound-from-phone-to-linux-with-bluez-5

[STM32] Zweite Schritte

In der Theorie sah CubeMX gut aus, in der Praxis nicht wirklich … Vorallem generierte es Code mit einem Logikfehler, der dazu führte, dass die System-Clöcke (^^) nicht eingestellt werden konnten und der Controller stets in eine while (1) {} Error-Behandlungs-Loop hängen blieb. (hätte mein STLinkV2-Debugger nicht schon funktioniert, hätte ich den Fehler niemals gefunden!)

Zudem gefiel mir der Workflow zum Erstellen des Makefiles nicht und der Code war durchsetzt mit Kommentaren, wo man User-Funktionen, Methoden, Variablen reinschreiben darf … Das hat natürlich nur eine Relevanz, wenn man den Code nochmal mit CubeMX überarbeiten möchte, weil man z.B. eine neue Peripherie verwenden möchte, die man zuvor noch nicht konfiguriert hatte.

Das Kompilat ergab 20kB Code, ohne dass etwas gemacht wurde. Das erschien mir schon sehr aufgeblasen.

Und ein weiteres großes Manko: Viele Tutorial verwenden ST’s HAL nicht, weshalb man Code-Schnippsel ständig übersetzen müsste, worauf ich keine Lust habe.

Also flog der Kram mit HAL wieder raus und es wurde sauber ein Blinky-Projekt mit dem ARM-Eclipse-Plugin erstellt und das angepasst.

Erfreulicherweise geht die CMSIS-Standard-Library schon von einem externen 8Mhz Quartz aus, weshalb man nur noch ein Define auf 48MHz setzen musste und voila, der HSE (High-Speed-External-Clock) und die PLL sind richtig gesetzt.

Ich konnte die Firmware auch schon auf meinem „custom-Board“ testen … Es gibt ein git-Repository mit einem st-flash Tool, das zum Flashen über einen USB STLinkV2 (für 2EUR beim Chinesen) verwendet werden kann. Eine Anleitung gibt es hier

Auf den Seiten des ARM-Eclipse-Plugins folgte ich heute der Anleitung, wie man Eclipse mit OpenOCD konfiguriert und ich muss sagen, das funktioniert super! Endlich richtiges Debuggen mit Breakpoints und allem, was dazu gehört 🙂 Und das funktioniert sogar unter Linux 😉

Nach etwas Googeln konnte ich die ersten 2 PWM-Generatoren auf meinem Board in Betrieb nehmen … Morgen kommen die Schieberegister für das LED-Dot-Matrix-Display dran usw …

Morgen gibt es dann auch mal ein Foto von dem Dings, das ich überhaupt bastel …^^

STM32F103 – Erste Schritte

Lang lang ist es her, dass ich mal produktiv mit µCs gearbeitet hab. Sträflich vernachlässigt hab ich eines meiner liebsten Hobbies.

Nachdem so viel Zeit vergangen ist, hat sich auch wieder viel geändert. Die AVR 8Bit-Controller gibt es immer noch … Da hat sich erstaunlich wenig getan. Offensichtlicher sind die Entwicklungen im ARM-Bereich. Da scheinen sich die Cortex Cores stark durchgesetzt zu haben. Atmel spielt nur noch eine Nebenrolle (damals der SAM7Sxxx war der letzte, den ich noch verwendete) und von den LPCxxx hört man auch nicht mehr viel. Damals war ich auf einer Präsentation von Renesas bzgl Cortex M3 und sah die Relevanz dieser Kerne nicht. Cortex hat sich durchgesetzt und von Renesas hört man auch nichts mehr.

ST scheint wohl derzeit in zu sein, weshalb die Wahl auf die STM32-Controller fiel.

Der Controller der Wahl war schnell gefunden … Die Bauteilsuche des Shops meines vertrauens nach STM32 gefragt und nach Preis sortiert und voila da war er: Der STM32F103C8T.

Einer der Schwachbrüstigen, aber dafür günstig 😉

Mir fiel ein, dass ich ja sogar noch ein STM32F4xx-Discovery-Board irgendwo rumliegen habe, d.h. ich hatte tatsächlich schonmal etwas damit gemacht … Und tatsächlich, hatte ich da sogar mal etwas gepostet 🙂 Damals … Vor 2 Jahren^^ (Und ahja, da war noch was … Mit EM::Blocks hatte ich den Okarina-Klanggenerator schon auf dem Board laufen und wusste das kaum noch^^)

Ich denke, damals hatte ich CooCox verwendet … Das glaube ich, gibt es aber nur für Windows.

Für Linux gibt es aber ein CubeMX-Tool von ST, mit dem die ganze Peripherie-Konfiguration erschlagen werden kann. Grafisch anklicken, was man wie konfiguriert haben möchte und es erzeugt ein C-Code-Framework, das man nur noch kompilieren muss.

Das werde ich mir jetzt gleich mal anschauen 🙂

Schnell installiert und selbsterklärend, was man machen muss … Das gefällt mir schon mal! Da wird einiges an Datenblatt-lesen durch eine GUI ersetzt 🙂

Spectacle.TJ1506

Das CubeMX ist wohl nur zur Erzeugung eines C/C++ Frameworks. Es kann einige Projektfiles erzeugen, die von IDEs diverser Hersteller gelesen werden können (z.B. Keil), aber das Ziel ist der arm-gcc.

Hierfür gibt es netterweise ein Konvertierungs-Script, mit dem ein mit CubeMX erstelltes SW4STM32-Projekt in ein Makefile umgewandelt werden kann, welches dann von Eclipse mit ARM-Plugin importiert werden kann.

Zu guter letzt: Die IDE der Wahl ist natürlich Eclipse. Man installiert sich die C++/C-Variante (mit CDT) und anschließend das ARM-Eclipse-Plugin und die ARM-GCC-Toolchain. Dann lässt sich das zuvor erstellte Makefile importieren, kompilieren und (voraussichtlich) debuggen 🙂

 

Memo an mich selbst

Fokus-Schift Elektronik

Hah, ich hatte ja noch einen Blog … und den schon ziemlich lange.

Ich denke, ich werde den wieder öfters mal nutzen … Schwerpunkt-Thema dieses mal Elektronik-Entwicklung 🙂

Da erfahrungsgemäß das Interesse und die Resonanz in meinem Umfeld bezüglich solcher Themen recht bescheiden ist, gibt es vlt hier ein paar Leser, die sich dafür interessieren 🙂

Bald geht’s los, ich hab ein paar Projekte in meiner Pipeline 😀

Linux Multimedia Studio

Wieder mal getestet und wieder schockiert … Piano Roll ohne Undo-Funktion! D.h. man kann etwas löschen und es nicht mehr rückgängig machen!

Was es alles gibt … Glaub, ich geb doch mal Geld für Fruity Loops aus …

Ansonsten ist es nicht schlecht und funktioniert … naja … tut schon, was es einigermaßen soll und gibt auch viele Sample-Projekte …

Neue Kamera

Hab mir eine neue Kamera gegönnt … Eine Sony NEX5T 🙂

Gleich ein paar Test-Aufnahmen durchgeführt und erstmalig mit tollen Tools wie Lightroom nachbearbeitet 🙂

DSC00478-2 DSC00290-2 DSC00298-2 DSC00320-2 DSC00408-2 DSC00441-2

Lightroom kann man in der Testversion 30 Tage uneingeschränkt nutzen. Danach kostet es um die 100EUR oder so … Das Geld ist das Programm wirklich wert!

GMX und De-Mail schon wieder …

Schon wieder nervt mich GMX mit De-Mail … Und NEIN, ich habe sie nicht beantragt!

Echt verrückt, wie die versuchen, den Leuten diese unsinnige De-Mail unterzuschieben. Aber ist ja klar, damit haben sie eine Lebenslange Kundenbindung …

demail

Sehr geehrter Herr XYZ,

wir freuen uns, dass Sie sich für De-Mail entschieden haben. Sicherlich ein wichtiger Schritt, denn ab 2014 können Sie sich mit De-Mail einige Behördengänge sparen.

Ihre persönliche De-Mail-Adresse, bestehend aus Ihrem Vornamen: $VORNAME und Ihrem Nachnamen: $NACHNAME, können Sie jetzt kostenlos unter „Jetzt starten“ aktivieren.

 

Können die mich nicht endlich mal damit in Ruhe lassen? Ich möchte es nicht!

 

JLPT N5 – Zweitversuch

Gestern war es wieder soweit. JLPT in Stuttgart 🙂

Ich war schon am Samstag angereist, um noch auf den Stuttgarter Weihnachtsmarkt zu gehen. War echt nett dort und ich hab mir auch eine kleine Rentier-Wachsfigur gekauft 😀

Übernachter wurde im Hotel Hansa. Wenn man sich überlegt, dass man für ein paar Euro mehr gleich exponentiell soviel Luxus bekommt. Also es war nicht schlecht oder so, es war zu meiner Zufriedenheit sauber, aber es ist schon ein altes Hotel. Das sieht man überall. Die Tür ist absolut Schallundicht … Dachte zwischenzeitlich, meine Tür stände offen. Das hat mich ziemlich gestört. Aber ansonsten, jo, für das Geld schon aushaltbar.

Sonntag zur Mittagszeit war ich auf der Suche nach einem Restaurant, das offen hat. Garnicht so einfach in der Gegend. Viele haben Sonntags und Feiertags generell zu, manche erst ab 17Uhr abends offen. Es wurde dann ein Besuch in einer Dönerbude, in der ich Pizza aß.

Gegenüber war der Prüfungsort. Das hat dann perfekt gepasst.

So, zurück zum JLPT …

Es gab um 12:45 eine kurze Ansprache. Anschließend wurden Nummernblöcke aufgerufen, die dann in die Prüfungsräume geführt wurden. Alles stressfrei und perfekt organisiert.

Nachdem ich letztes Jahr um zwei Punkte gescheitert bin, hab ich dieses Jahr nochmal mein Glück versucht. Bei meiner Lernerei wurde ich von Max* unterstützt, der mir alle meiner Fragen beantworten konnte.

Lief eigentlich gleich ab wie letztes Jahr.

  • 25min Vokabeln

    Damit war ich schnell durch. Es gab ein paar gemeine Kanji, bei denen die Antwortmöglichkeiten sich nur im Detail  unterschieden. Die müssten aber alle stimmen. Jeman meinte anschließend, er wüsste nicht, wie das Kanji 英 aussieht … Ist ja auch ein sehr seltsames und seltenes 🙂

  • 50min Grammar+Reading

    Der Teil ging so. Letztes Jahr musste ich recht viele Aufgaben raten, weil mir die Zeit ausging. Dieses Jahr konnte ich die Texte lesen und hatte noch Zeit, danach die Aufgaben zu beantworten, die ich vorher ausgelassen hatte. Deutliche Verbesserung 🙂 Schwierig war es trotzdem …

  • 30min Listening

    Unverändert wie letztes Jahr – obwohl, ich war konzentrierter. Letztes Jahr bekam ich kaum noch die Fragen mit, weil ich müde war. Dieses mal war es besser.Achja, trotz 5 Frauen, die den CD-Player bedienen mussten, hat alles geklappt. Diesmal war es auch verständlicher, weil es nicht so Bass-lastig war.

Also ich hoffe, dass es diesmal gereicht hat … Ein drittes mal würde ich den N5 wohl nicht nochmal probieren …^^

Das Ergebnis wird man so gegen Ende Januar, Anfang Februar online abrufen können. Ich hab ein besseres Gefühl als letztes mal und da lag ich mit 2 Punkte daneben …

*: Wenn er jemals einen Blog hat, verlinke ich ihn 🙂