Raspberry Pi Zero USB Dongle

 Gepubliceerd door om 13:21  Hardware, Raspberry Pi
sep 222019
 

Hij valt een beetje in de categorie “niet omdat het moet, maar omdat het kan”. Ik kwam hem tegen op zoek naar wat anders op Banggood, deze USB Dongle voor de Raspberry Pi Zero. Het zijn 2 acryl plaatjes, wat schroefjes en een plaatje met een USB-connector, drie ledjes en drie “veer-pinnetjes” erop. Die veer-pinnetjes (bij gebrek aan een beter woord) maken contact met drie contactpunten aan de onderkant van de Raspberry Pi Zero. Door de veertjes wordt er voor gezorgd dat ze wél stevig (zonder solderen etc) tegen die contacten aanzitten, zonder de Raspberry Pi te beschadigen.

Je hoeft dan ook niets te solderen. Ik baalde een beetje, want ik had bij deze Raspberry Pi Zero de header namelijk als zelf gesoldeerd. En hoewel hij zo op dezelfde manier bevestigd is als altijd/standaard en ook zoals de foto’s van de dongle laten zien, zou het veel logischer zijn om in dit geval de header precies andersom (dus aan de “onderkant” van de Raspberry Pi Zero) te solderen. Dan zit de header namelijk beschermd weggewerkt langs de uitsparing die daarvoor beschikbaar is, steekt hij niet uit zoals nu het geval is en kun je hem tóch nog gebruiken als je dat wilt.

Bij de dongle zit een klein instructieboekje met aanwijzingen die zouden moeten uitleggen hoe je de verbinding met de Raspberry Pi Zero via je USB-poort tot stand zou moeten kunnen brengen. Die instructies staan ook online op hun Wiki maar zijn niet helemaal compleet. Ik heb uiteindelijk deze instructies gevolgd waarbij dus zowel config.txt als cmdline.txt aangepast is. Ook heb ik Bonjour moeten downloaden en installeren. Mijn laptop was namelijk nog helemaal vrij van iTunes (en dat gaat ook zo blijven), maar zonder Bonjour lukt toegang via de USB-poort niet.

Nadat dat allemaal geïnstalleerd en geconfigureerd was gaf mijn USB-poort aan dat er een netwerkdevice gevonden was en was de Raspberry Pi Zero vanuit bv Kitty ook bereikbaar op raspberrypi.local
Daarna heb ik deze instructie gevolgd en VNC geïnstalleerd op de Pi Zero. Op de laptop had ik VNC Viewer geïnstalleerd en ook die wist via raspberrypi.local verbinding te maken met de desktop van de Pi Zero:

Nou had ik niet persé de behoefte om desktopapplicaties te draaien op de Raspberry Pi Zero, maar als je bv een Raspberry Pi camera aansluit of andere devices die ook zichtbaar data retour willen geven, dan kan VNC handiger zijn dan SSH.

Blijft natuurlijk een beetje de vraag over: waarom?

  • Linux kan ik native op Windows 10 draaien, via Docker in de meest uiteenlopende configuraties (inclusief cross-compileren voor de Raspberry Pi en andere niet X86 platformen).
  • De andere Raspberry Pi’s hier in huis doen hun werk juist bij uitstek prima “headless”, dus zonder dat er iemand verbinding mee maakt.
  • Voor zaken als OpenCV is de Pi Zero eigenlijk niet krachtig genoeg.

Ik kan me voorstellen dat het voor situaties waarbij je in het onderwijs de Raspberry Pi wilt gebruiken als fysieke machine waarmee studenten leren met Linux omgaan, waarbij het dan toch net wat tastbaarder is dan alleen een virtuele machine op Windows, dit geschikt is.
Of zie ik iets over het hoofd en heeft iemand betere ideeën? Ik hoor het graag!

Deel dit bericht:
sep 092019
 

Niet alleen PoE, waar ik gisteren over schreef, ook de Raspberry Pi 4 was zo’n onderwerp waarmee ik hoognodig aan de slag wilde.  En er was natuurlijk maar één ding dat meteen in me op kwam om al die extra paardenkrachten mee te testen: beeldherkenning op basis van video met behulp van OpenCV, Tensorflow of een van de vele andere opties.

Een van de use-cases die ik voor ogen heb is een systeem dat kan tellen hoeveel fietsers er op een dag voor het I/O-gebouw in Nijmegen voorbij komen. Dat zal geen gemakkelijke worden vrees ik. Ook dit jaar hebben we daar het verschijnsel van de fietsfiles, maar mogelijk verplaatsten die zich zó dicht op elkaar dat ook slim systeem die niet kan tellen.

Een probleem bij de Raspberry Pi en het gebruik van OpenCV of Tenserflow is dat het (meestal) niet een kwestie van installeren is, maar dat je aan de slag moet met het van broncode af compileren van de omgevingen. Dat duurt op een Raspberry Pi in de regel heel erg lang en dan kan het zijn dat je na een uur of langer wachten tóch nog opeens een foutmelding krijgt. Dat je op de Raspberry Pi zowel Python 2 als Python 3 hebt en moet opletten wat je waar voor installeert én het gegeven dat de Raspberry Pi 4 gebruik maakt van Debian Buster, OpenCV ook een versie 3 en 4 heeft en geen van alles zomaar met elkaar samenwerkt, helpt dan ook niet.
Lees verder….

Deel dit bericht:
sep 082019
 

Het was al een tijdje zo’n “moet ik nog een keer uitproberen” onderwerp (daar heb ik er best veel van): het via een netwerkkabel van stroom (en netwerk) voorzien van een Raspberry Pi. De reden daarvoor is eenvoudig: je hebt op de plek van het apparaat geen stopcontact nodig, dat kan veel verder weg zitten dan bij het gebruik van een “normale” voeding en je hoeft maar één kabel te trekken om zowel netwerk als stroom bij de Raspberry Pi te krijgen. Nou hebben de meeste van mijn Rasberry Pi’s ingebouwde WiFi (ik heb nog een paar Raspberry Pi 1 en 2 exemplaren in gebruik, die hebben een aparte WiFi dongle nodig), maar bij bijvoorbeeld een gateway voor The Things Network, wil je eigenlijk alles wat voor storing kan zorgen uitschakelen. Daar kan een bekabelde netwerkvoorziening (en uitgeschakelde Bluetooth en WiFi) dan voor een net wat betrouwbaardere verbinding zorgen.

Uiteindelijk bleek het relatief simpel. In de video hierboven legt Andreas Spiess in meer detail uit hoe de verschillende technologieën werken. Zelf heb ik een ESCAM 48V 0.5A 24W POE Wall Plug injector besteld voor €5,15 incl. verzendkosten en een ESCAM 2.5KV Anti-interference Power Over Ethernet 48V To 5V 2.4A 12W Active POE Splitter. Deze heeft een micro USB plug zodat je hem meteen kunt gebruiken voor een Raspberry Pi 1, 2 of 3. Wil je hem gebruiken voor een Raspberry Pi 4, dan heb je deze splitter nodig met een USB-C aansluiting.

Raspberry Pi aan een PoE setup

Het aansluiten is een fluitje van een cent. De PoE Wall Plug injector heeft twee netwerkplugs:

De ene sluit je aan op je gewone router, die heeft niets speciaals nodig. Aan de andere sluit je een netwerkkabel van maximaal zo’n 100 meter op aan.

De andere kant plug je in in de netwerkaansluiting van de splitter. Die heeft dan weer een netwerkplug die in de Raspberry Pi gaat en een micro-USB of USB-C aansluiting die voor de stroomvoorziening gaat.
Na het aansluiten en inpluggen van de stekker, start het geheel op en hoef je verder niets meer te doen.

Overigens hoef je niet persé de injector op een router aan te sluiten. Je kunt de setup ook gebruiken als een manier om een lange verlengkabel te maken voor je Raspberry Pi naar een plek waar je geen stopcontact hebt. Doordat de injector 48V gebruikt kun je een grotere afstand afleggen dan met 5V en je hoeft niet persé een 220V kabel aan te leggen, en dat is dan ook wel weer prettig. Soms is het ook niet helemaal haalbaar. Op de plek waar ik bv in de tuin een Raspberry Pi “buiten” (in een waterdichte box) zou willen neerleggen vind ik die 48V wel prettig, maar is het wat moeilijker voor me om daar een bekabelde netwerkverbinding te krijgen.

 

Deel dit bericht:
aug 252019
 

Een van de dingen die niet kon met de goedkope RTL-SDR dongle uit China waar ik voor de vakantie mee aan de slag ging, was het ontvangen van ADS-B signalen van vliegtuigen. ADS-B staat voor Automatic Dependent Surveillance-Broadcast, een systeem waarbij vliegtuigen (of zweefvliegtuigen) op basis van hun GPS-locatie aan andere vliegtuigen, grondstations laten weten waar ze vliegen, welke richting en hoe had. Zie ook dit filmpje uit 2010 toen ze het systeem net gingen invoeren met uitleg over de werking:

Omdat het signaal door iedereen op te vangen is, kun je ook met een RTL-SDR dongle die signalen opvangen mits je een dongle en antenne hebt die geschikt zijn voor 1.090 Mhz. De eerste dongle die ik had kon die frequentie niet ontvangen, inmiddels heb ik ook een FlightAware Pro stick aangeschaft. Die is een stuk duurder dan de eerste die ik had, maar heeft dan ook meteen een versterker en filter ingebouwd. Dat maakt hem bij uitstek (uitsluitend?) geschikt voor het ontvangen van ADS-B signalen. Een antenne kun je zelf bouwen, maar ik kocht deze op AliExpress. Antennes via AliExpress kopen is altijd een beetje een gok, maar ik kan inmiddels bevestigen dat deze het prima doet. Daarbij is het echter wél belangrijk om de antenne buiten te plaatsen, dan is de ontvangst veel en veel beter dan binnen (ook op zolder). Ik heb hem net buiten het dakraam op zolder bevestigd met alleen een kabeltje van 2 meter ertussen. Een extra versterker of filter leverden geen voordelen op. De dongle is aangesloten via een powered USB-hub aan een Raspberry Pi met de image van FlightAware erop. Deze site heeft de info over het doorzenden van de data van dump1090-fa naar meerdere sites.

Buiten het dakraam is de ontvangst indrukwekkend. Berichten van vliegtuigen op meer dan 200km afstand worden opgepikt. Logischerwijs is de ontvangst naar het zuiden toe slechter omdat daar het dak tussen zit. En op die 200km afstand pik ik alleen vliegtuigen op die hoog genoeg vliegen. Dus een vliegtuig dat op 10km hoogte over Schiphol heen vliegt ‘hoort’ de ontvanger wel, een vliegtuig dat er landt niet, dan zitten er teveel gebouwen/obstakels tussen.

Doordat ik de data die mijn stick ontvangt automatisch deel met zowel FlightAware als met Flightradar24, ontvang ik bij Flightradar24 een ‘gratis’ business-account. Dat is cool want dan kun je daar veel en veel meer data van vluchten opvragen. Niet alleen data die je zelf opgevangen hebt, maar van alle vluchten die daar vastgelegd worden.
Lees verder….

Deel dit bericht:
jul 252019
 

Terwijl iedereen het warm heeft in Nederland en ook vandaag weer een nieuw warmterecord bereikt is, dacht ik “laat ik eens een blogpost over hitte maken”, schijnt actueel te zijn.

Was het ook voor mij, zo bleek. Sinds maandag ligt er namelijk een Raspberry Pi 1B in een (open) kistje in de tuin, verbonden aan de antenne voor de NOAA satellieten (zie dit bericht).
En die plek in de tuin wordt (zo weet ik inmiddels) overdag tamelijk warm. Elders had ik gelezen dat ook telefoons, laptops etc. problemen konden krijgen als ze het te warm krijgen (de Raspberry Pi 4 wordt uit zichzelf al snel te warm en schakelt dan terug in snelheid), dus wilde ik weten hoe warm die Raspberry Pi het had.

Uiteraard bleek al iemand anders het antwoord op die vraag uitgewerkt te hebben, in deze blogpost van Lars kun je het script vinden dat hij gebruikt. Ik zou meteen even het tweede, uitgebreidere script gebruiken dan krijg je ook de processorbelasting, het percentage gebruik van de micro-SD kaart en het geheugengebruik. Lars legt uit hoe je die informatie via MQTT kunt doorsturen. Hij stuurt het door naar een externe MQTT-server van Adafruit, ik gebruik (uiteraard) mijn eigen MQTT-server die onderdeel is van de Home Assistant installatie die de rest van de apparaten aanstuurt.

Daar bleek al snel dat de Raspberry Pi in de tuin het vandaag wel heel erg warm kreeg.

Na deze screenshot steeg de temperatuur nog door naar 101,4 °C. Dat is veel meer dan de 85 °C die als maximum voorgeschreven wordt. Het zit nog ruim onder de 125 °C die in het bericht genoemd wordt, maar voor mij was het voldoende reden om de Raspberry Pi af te sluiten en voor de rest van de dag maar even binnen neer te zetten. Er kwam een geur van de case af een beetje leek op een hete soldeerbout, lijkt me niet goed.
Ik heb de cronjob voor het script op 1 keer updaten elke 10 minuten staan. Bij gebruik van Home Assistant kan ik dan eenvoudig een waarschuwing instellen voor als de temperatuur boven de 90 °C uit komt. Niet direct noodzakelijk voor deze testopstelling die na morgen toch weer afgebroken wordt, maar handig om te weten ook voor de andere systemen die in huis in gebruik zijn. Omdat het hier om de temperatuur in de processor zelf gaat, is een graad of 40 °C hier helemaal geen probleem.

Het script werkte niet “zomaar” op mijn Raspberry Pi. Python was uiteraard al geïnstalleerd, maar voor het verkrijgen van de info en het versturen van berichten via MQTT waren twee andere libraries nodig:

sudo pip install paho-mqtt
sudo pip install psutil

Nou, en dan voor de geschiedenisboeken toch nog even een aantal andere temperaturen om het huis: De airco staat UIT op de studeerkamer op zolder, AAN op de eerste verdieping (waar de slaapkamers liggen). De serre heeft een dak van dubbellaags kunststof dus dat is een broeikast, maar zoals je ziet doet de volle zon op het balkon aan de voorkant van het huis (op het zuiden) ook haar werk.

Tja, gewoon rustig aan doen dus.

Deel dit bericht:
jul 092019
 

Het was zo’n zondagmiddagprojectje dat er al een tijdje lag: het opbouwen van een Raspberry Pi Zero met een Picam op een ZeroView van PiHut. De oorspronkelijke bedoeling was om dat met een Pi Noir te doen (voor ’s nachts) maar stap 1 was met een gewone camera. In elkaar zetten is gemakkelijk als je de PDF volgt.

Op de micro SD-kaart staat een exemplaar van het gloednieuw Raspbian Buster Lite aangevuld met RPi-Cam-Web-Interface. De setup van met name die laatste was verrassend eenvoudig. En het werkte meteen:

De interface maakt het mogelijk om via de camera (en het raam) naar buiten te kijken, foto’s en video’s te maken en deze daarna ook weer te downloaden.

Het enig wat met nog niet lukt is het instellen van de bewegingsdetectie. Als ik op “motion detection start” klik gaat het mis. Ik krijg dan een popup met foutmelding en het enige dat er dan opzit om dat te verhelpen is om de Raspberry Pi te resetten. Dus daar blijf ik nog even vanaf. Maar de interface heeft sowieso heel wat opties die ik nog niet bekeken heb, dus dat komt nog wel.

Uiteindelijk doel van de setup is niet om oninteressante shots van de tuin te maken, maar om het aantal vogels dat op de voederplank komt te tellen (of het aantal fietsers dat in Nijmegen langs het gebouw komt). Dit was stap 1. 😉

Deel dit bericht:
jun 102019
 

Het is zoiets dat bij uitstek kan gebeuren op een ietwat regenachtige vrije maandag: er komt een tweet met een vraag voorbij (zie hierboven de tweet van Ralp Crützen) en 2 minuten laten ben ìk volop op zoek naar oplossingen.  Zijn vraag: hij heeft 645 CD’s gekregen van een familielid, zónder hoesjes en boekjes en wil er een jukebox van maken, hoe begin je aan zoiets?

Lees verder….

Deel dit bericht:
mei 242019
 

Om te beginnen, credit voor de titel gaan naar AndrewS in de reacties op het bericht op raspberrypi.org. Daar kun je lezen over de breimachine van Sarah Spencer, die ze met behulp van een Raspberry Pi aan het netwerk gekoppeld heeft:

I hacked my domestic knitting machine and turned it into a network printer with the help of a Raspberry Pi. By using a floppy drive emulator written in Python and a web interface, I can send an image to the Raspberry Pi over the network, preview it in a knitting grid, and tell it to send the knitting pattern to the knitting machine via the floppy drive port.

De software heeft ze gedeeld via Github en met het nodige gevoel voor de klassiekers heeft ze het OctoKnit genoemd “n honour of a more famous and widely used tool” (OctoPrint).
Haar winkeltje op Etsy is op dit moment even dicht omdat ze met zwangerschapsverlof is. Op Raspberrypi.org toont ze een paar voorbeelden:

Maar het mooiste voorbeeld is toch wel dit tapijt dat ze zelf via Twitter deelt:

https://twitter.com/HeartOfPluto_/status/1033550777434816512

Als je geen beeld hebt van de omvang, er zit een persoon op de foto!

Een tweedehands breimachine kost zo’n 500 euro (en meer). Ik ga er even vanuit dat net als bij een lasersnijder, een snijplotter en welk apparaat dan ook waar je ogenschijnlijk heel coole dingen mee kunt maken, er heel wat debug- en uitprobeerwerk vooraf gaat aan het daadwerkelijk kunnen laten breien van zo’n mooi tapijt. Maar zeg nou zelf, hier wordt je toch vanzelf enthousiast van? En ben je dan niet blij dat je (een beetje) kunt programmeren? Dat je weet hoe programma’s, hardware, software aan elkaar geknoopt kunnen worden? Dacht ik ook. 🙂

Deel dit bericht:
mrt 032019
 

Ik moet bekennen dat ik het hele fenomeen “RetroPie” tot nu toe volledig aan me voorbij heb laten gaan. Maar ja, als je Creative Media and Game Technologies studeert dan is het niet zo vreemd als je ook belangstelling hebt voor “oude” games (lees: games van voor je geboorte!).

En dus waren we afgelopen weekend bezig met het inrichten van een Pi Zero als RetroPie systeem. De eerste poging was “handmatig” op een bestaande image, maar uiteindelijk bleek een verse installatie veel handiger. Gewoon een kwestie van de juiste image downloaden en op een micro-SD kaartje zetten zoals standaard bij een Raspberry Pi. De installatie-instructies zijn duidelijk.

Kan dat op een Pi Zero?
Ja, maar verwacht geen wonderen van een Pi Zero. Een belangrijk deel van de charme zit hem toch wel in de lage kosten van het apparaatje. Al ontkom je nu niet aan een aantal extra dingen zoals een micro-HDMI  naar HDMI dongle, een micro-USB naar USB on the go kabel, een powered USB-hub, dat maakt de Pi Zero haast even duur als een Raspberry Pi 3B+
Maar goed, als je iemand kent die die componenten allemaal in huis heeft en wel wil uitlenen dan valt dat natuurlijk altijd wel mee. 🙂

Emulators
Een RetroPie is een schil over een standaard Raspbian lite systeem. Het biedt toegang tot een verzameling emulators voor een groot aantal apparaten uit een grijs verleden. Van Sinclair ZX Spectrum, oude Atari systemen, de hele verzameling Game Boys, de Nintendo DS, MSX, de Comodore 64, kortom alle oude systemen van toen ik jong was.
Een emulator is een stuk software dat doet alsof het de oude hardware is. Dat kan als de nieuwe hardware waar die emulator op draait krachtig genoeg is, dat geldt dus niet altijd voor de Pi Zero. Er zijn een aantal berichten waar gesproken wordt over de emulatoren die goed werken.

ROMs
Een discussiepunt online is uiteraard: waar haal je de benodigde ROMS (de spellen) vandaan? Want, die spellen van vroeger, die hebben meestal nog wel een eigenaar. En een aantal van die eigenaren vindt het niet leuk dat fans van toen die spellen nu gratis en voor niks spelen. Tja.
Ik zou zeggen, kijk zelf even waar je zoekt. Er zijn sets beschikbaar van letterlijk duizenden spellen in één download.
Plekken met tips over hoe je legaal ROMs kunt vinden: hier en hier.

Controller
Oh ja, je hebt een gamecontroller nodig. Hadden wij niet in huis, met een toetsenbord kan het, maar het retro-gevoel krijg je waarschijnlijk toch echt pas als je een bijpassende controller hebt. Die kun je in Nederland kopen, maar ook hier kan een blik op de site bij AliExpress niet onverstandig zijn.

Deel dit bericht:
feb 102019
 

In de categorie “ik zou er zelf niet aan gedacht hebben om het te bouwen” vandaag een LCD paneel gemaakt van LED strips. Je weet wel, die strips zoals je die “overal” kunt kopen.

Op hackster.io kun  je lezen hoe dat kan. Nou beschrijven de auteurs van dat bericht het proces niet zomaar, want het werkt ook niet zomaar. Het is meteen ook een beetje een demo / advertentie voor een (op dit moment) aankomende Crowd Supply actie voor het benodigde controllerboard.

In de video hieronder (de audio is wat irritant, die kun je beter zacht zetten) zie je het assemblageproces en na 1:05 zie je een demo.

Het effect is (zeker op enige afstand) best goed.

Deel dit bericht: