De eerste woensdag van de maand is er altijd een clubavond van de V.R.Z.A. afdeling Flevoland. Omdat de clubavond geen doorgang mag vinden hebben we een alternatieve ronde in het leven geroepen. Deze vindt plaats op de eerste woensdag van de maand om 20:00 uur. Deze keer op verzoek om 20:30 uur gaat de ronde verder op 2 meter. Dit voor de amateurs zonder DMR.
Ik had nog een display liggen die ik ooit voor een projectje had besteld en deze past prima op de Raspberry Pi zero. Van de week had ik wat problemen met de Display omdat hij los begon te raken van de printplaat. Ik heb de randen voorzichtig weer vastgeplakt met een lijm pistool.
Display vast gelijmd
De display is van “Waveshare” en is een 1.44 inch display met joystick.
We beginnen met het installeren van wat drivers die we nodig hebben.
Wat je ziet is dat we de display 180 graden draaien. Dit is omdat er een bug in deze display zit. Hij laat nl een storend randje zien aan de zijkant van de display. Als we hem 180 graden draaien zijn we van het probleem verlost.
We gaan nu de Raspberry Pi herstarten.
sudo shutdown -r now
We kunnen nu controleren of we een extra display hebben op de Raspberry Pi.
Dit heeft wat uitleg nodig. Een bash file is een script in linux waarin je allerlei commando’s uit kan voeren. Voor het opstarten van onze radio stream en het toveren van een fotootje op de display moeten we meerdere commando’s uitvoeren. Dit kun je in een bash scriptje kwijt.
De bovenste regel stuurt de foto naar de display. Dit doe je met het programma ffmpeg wat we eerder hebben geïnstalleerd. In de regel vind je de groote 128×128 en transpose zorgt er voor dat we de display weer 90 graden doordraaien. Je komt nu exact in de positie waar je het logo wilt hebben.
De bluetoothctl connect zorgt er voor dat je speaker weer connect. Let op het MAC adres is mijn MAC adres. Plaats hier het MAC adress van je eigen speaker.
sleep 10 is een pauze van 10 seconde. Ik wil nl zeker weten dat de Bluetooth speaker geconnect is. En met ffplay opennen we de stream.
De file moeten we nu executable maken zodat hij ook daadwerkelijk uitgevoerd kan worden. Dit kan met chmod.
sudo chmod +x //etc/init.d/caroline.sh
Er zijn meerdere methodes om een file uit te laten voeren bij het opstarten van de Raspberry Pi. Mijn voorkeur gaat naar het gebruik van een cronjob.
crontab -e -u pi
Kies 1 Voeg de volgende regel toe aan de cron file
@reboot sudo -u pi nohup //etc/init.d/caroline.sh
Wat staat hier precies: @rebootis na het herstarten van de Raspberry Pi. sudo, we gaan een commando uitvoeren als superuser, -u vanuit de user “pi” nohupstarten we op zonder dat we een terminal scherm nodig hebben, //etc/init.d/caroline.sh, het bash script caroline.sh welke zich bevind in de map //etc/init.d/.
We gaan nu testen. Zet je speaker aan. en herstart de Raspberry Pi.
sudo shutdown -r now
Na het opstarten komt er muziek uit je boxje en zie je op de display het logo van Radio Caroline.
Display na opstarten
Volgende keer wil ik de foto van Radio Caroline laten wisselen met een foto van het weerbericht.
In deze aflevering gaan we kijken hoe we de Bluetooth van de Raspberry Pi kunnen gebruiken om met een Bluetooth JBL speaker naar de Radio te luisteren. Ook gaan we een logo van het Radio station op de display tonen.
Allereerst gaan we ffmpeg installeren. Met dit programma kun je audio bestanden streamen. En nog veel meer. De website van FFMPEG zegt zelf: “decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created.”
Dit is dus een hele mooie tool. En nu de kracht van Linux. Type het volgende commando in.
We gaan voor de zekerheid eerst naar onze home directory.
cd
En nu installeren we FFMPEG.
sudo apt install ffmpeg
En hij is geinstalleerd.
Nu gaan we Bluealsa installeren. Met Bluealsa kun je Bluetooth apparaten registreren op je systeem.
sudo apt-get install bluealsa
sudo service bluealsa start
Schakel je JBL GO, of een ander BleuTooth device, in en druk op de Bluetooth discovery knop.
We gaan nu onze JBL GO zoeken.
sudo bluetoothctl
We komen nu in het bluetooth menu en zetten scan on.
[bluetooth] scan on
Bluetooth scan
Ik schrok van het aantal devices wat er langs komt. Dit was een behoorlijke lijst.
In de lijst zie je de Bluetooth speakers staan.
[NEW] Device 30:C0:1B:C5:25:DD JBL GO
Het MAC adress is belangrijk dus deze copieeren we even naar kladblok o.i.d.
Let op: In de voorbeelden hieronder gebruik ik het MAC adress van mijn JBL GO. Gebruik hier het MAC Adress van je eigen Bluetooth Speaker.
Nu gaan we hem pairen, trusten en connecten. Het kan zijn dat je inmiddels weer op de discovery button op je speaker moet drukken.
pcm.btreceiver { type plug slave.pcm { type bluealsa device “30:C0:1B:C5:25:DD“ profile “a2dp” } hint { show on description “Bluetooth Receiver” } }pcm.!default { type plug slave.pcm “btreceiver” }
We slaan dit op met CTRL X en Y en herstarten weer het systeem.
sudo shutdown -r now
Na de herstart weer connecten:
bluetoothctl connect 30:C0:1B:C5:25:DD
Na de herstart testen we de Radio Stream.
ffplay http://sc6.radiocaroline.net:8040
Als het goed is hoor je nu Radio Caroline. Volgende keer gaan we een logo op het display toveren.
Het OTG kabeltje is niet echt makkelijk en daarom heb ik besloten een USB aansluiting op de Raspberry Pi Zero te maken. Hier doen we de USB Stick in waarop het OS is geïnstalleerd. Voor dit projectje hebben we een USB Bus deel nodig. Op E-Bay of op een radio onderdelen markt zijn deze wel te krijgen.
USB Bus
Allereerst solderen we 4 draadjes aan de BUS. Vervolgens plakken we met een lijmpistool de bus op de achterkant van de Raspberry Pi. Leg eerst een dun laagje lijm op de Raspberry Pi als isolatie en druk de bus daar in. De buitenste rode en blauwe draad zijn de + en de -. De middelste rode en groene draad zijn de + en de – van de data.
Bedrading
Nu buigen we voorzichtig de draden naar de soldeer veldjes en strippen de uiteinde van de draden blank. Soldeer de draden volgens onderstaande afbeelding vast.
USB Bus
Ik heb ook nog een behuizing en (met open achterkant) en pennetjes gemonteerd. Op de pennen kan ik een display aansluiten. Let op, de eerste mini USB bus is voor de voedingsspanning.
Display
Het eindresultaat ziet er als bovenstaande afbeelding uit.
Volgende keer gaan we Bluetooth configureren zodat we er ook geluid uit kunnen krijgen.
In het vierde deel van Experimenteren met de Raspberry Pi Zero gaan we een bestandje aanmaken en aanpassen. Ik werk zelf het liefst met de editor nano. Uiteraard zijn er meerdere editors voor handen zoals vi (spreek uit als fie aai).
Nano
Met het commando nano gevolgd door de file naam kun je een bestand aanmaken of aanpassen. Je kunt hier ook weer een <path> aangeven, b.v. nano /etc/test
Maar we beginnen in onze eigen directory met nano test.
We kunnen hier een paar dummy regels aanmaken. Met <CTRL G> roep je de help file op en zie je dat er de nodige “short cuts” in de editor aanwezig zijn. Ik heb in mijn test file wat “shortcuts” neer gezet die ik zelf veel gebruik.
Nano
ALs we nu met <CTRL X> afsluiten en vervolgens op Y drukken dan is ons bestand opgeslagen.
Met het commando CAT kun je het bestand inzien. CAT is een afkorting voor “concatenate” wat letterlij vertaald betekend: aaneengeschakeld. We gebruiken dus CAT om een bestand in te zien.
cat test
Cat
Soms wil je alleen de laatste 10 regels van een file inkijken. Dit kun je doen met tail. Dit commando laat de laatste 10 regels van een file zien. Dit is b.v. handig om logfiles te bekijken.
tail /var/log/syslog
Op deze manier kunnen we de laatste 10 regels van de syslog file bekijken.
tail syslog
Als we een file willen copyeren gebruiken we het commando cp (Copy). Achter cp zetten we het bestand wat we willen copieeren en daarachter de bestandsnaam waarheen we het willen copieeren. Je kunt hier ook weer een path aangeven.
cp test /tmp/testcopy
Met rm verwijder je een bestand. (Remove)
rm /tmp/testcopy
Copy Remove
Een file renamen kun je doen met mv (Move).
mv test testnieuw
Als laatste tip de pijltjes toets <omhoog> en <omlaag> op je toetsenbord. Hiermee kun je snel navigeren door je laatste commando’s. Je kunt op deze manier snel commando’s herhalen.
We gaan het systeem nu herstarten of uitzetten. Dat doen we met shutdown.
Shutdown
In bovenstaand scherm zie je dat je als gebruiker pi niet zo maar een shutdown mag geven. Dit mag wel als Super User. Dus we doen sudo shutdown. Een shutdoen wordt ingepland. We moeten dus ook een tijd aangeven. Het wordt dan:
sudo shutdown now
Wil je een hetstart geven dan wordt het:
sudo shutdown -r now
Dit commando is beter dan een reboot omdat een reboot erg hard is. Een shutdown sluit zaken nog netjes af.
Volgende keer ga ik mijn hardware van de Raspberry Pi aanpassen met een normale USB aansluiting en er een display op zetten. Er moet ook nog geluid uit kunnen komen dat gaan we doen met Bluetooth.