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 162019
 

Goed, ik zal beginnen met bekennen dat ik dit ‘experiment’ wel een stuk beter had kunnen voorbereiden. Maar ja, dan was het weer zo’n formeel ding geworden in plaats van gewoon iets waar ik nieuwsgierig naar was en eigenlijk had ik ook gewoon geen tijd om het beter voor te bereiden.

Tegenwoordig ik er eigenlijk zó aan gewend dat mijn apparaten altijd weten waar ik ben, dat het me vooral ook verbaasde dat het toch nog wel het nodigde werk kostte op het moment dat je de voor de hand liggende oplossing niet bij je hebt.

Garmin Forerunner 35
Op de fiets heb ik meestal de Garmin Edge 800 bij me. Die gebruikt niet alleen GPS maar ook de trapfrequentie en snelheid via andere sensoren op de fiets om redelijk precies bij te houden waar ik fiets, gefietst heb, hoe hard, bijbehorende hartslag etc.
Een optie die ik ook vaak binnen gebruik is de Garmin Forerunner 35. Die heeft hartslagmeter en raakt niet van de slag als er géén GPS ontvangst is, maar die heeft hij gewoon ook aan boord, dus als je zonder veel poespas op een fiets wilt stappen en je route wilt opslaan (hartslag + route op basis van GPS) dan is dat apparaat ideaal. Na afloop wordt de route via de Bluetooth verbinding met mijn telefoon automatisch naar Garmin en Strava doorgestuurd.

Helaas was dat het enige apparaat dat ik niet bij me had. Hij hing nog aan de oplader en in alle hectiek voor vertrek (door omstandigheden waren alle familieleden maar net op tijd thuis) is hij daar blijven hangen.

Tijd dus om te kijken of een van de andere apparaten een bruikbaar GPS-track bestand gemaakt had. En je snapt, als het antwoord een eenvoudig “ja” was geweest, dan was dit blogbericht niet zo lang geweest.

Lees verder….

Deel dit bericht:
sep 152019
 

Afgelopen vrijdag had ik, voor de tweede keer in mijn leven, de mogelijkheid om een tocht in een luchtballon te maken. De eerste keer was samen met mijn partner, ruim 20 jaar geleden, dus nog voordat de kinderen geboren waren. Ik had tijdens de SURF Onderwijsdagen 2018 geheel onverwacht 2 tickets gewonnen voor een ballonvaart en dus besloten we 2 tickets bij te boeken en met z’n vieren te gaan.  Zoals gezegd: vrijdag 13 september was het zover.

We hadden het aantal devices wat beperkter gehouden dan maximaal mogelijk was. Geen 360-graden camera bv, maar wel de GoPro 7 Black (met de GPS-optie op aan), Olympus Tough TG-6 (die ook GPS aan boord heeft, die we tijdens het duiken nog niet gebruikt hebben), onze eigen telefoons (waarvan de Samsung Galaxy S7 en S9 prima foto’s maken) én natuurlijk de TTGO T-Beam om het bereik binnen het The Things Netwerk in kaart te brengen vanuit de ballon.

Wil je weten hoe de ballonvaart was? Dat kun je zien in foto’s hier op Twitter of als filmpje hier op YouTube

Lees verder….

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:
sep 022019
 

Ik moest vandaag met de auto, dus ook tijd om naar de radio te luisteren. Dus hoorde ik bij BNR radio vanochtend ook het item langs komen over het afschaffen / uitfaseren van ISDN door KPN. Compleet met expert aan de lijn die vertelde dat er nog bedrijven waren die hun brandmelder of alarmsysteem aan een ISDN-lijn hadden hangen (zonder dat ze het wellicht wisten) en die zou dan niet meer werken.  Het was allemaal naar aanleiding van het bericht erover op de NOS-website. Op mijn plek aangekomen zag ik op Twitter ook de nodige verontwaardigde reacties (ISDN was een tijdje trending): hoe durfde KPN het aan om zomaar zo’n dienst uit de luscht te halen.

Tja, ze hadden het al in 2017 aangekondigd, en de kortstondigde ophef van vandaag laat zien dat dit (zeggen dat ze het echt uit gaan zetten) beter werkt dan het bericht van toen, want blijkbaar zijn er nog 10-duizenden bedrijven die er gebruik van maken.

Ik wist niet eens meer dát het nog gebruikt werd, het is/was echt een technologie uit de tijd van de inbelmodems, niet meer uit de tijd van vaste internetverbindingen (via ADSL, kabel of glasvezel).

Wél van deze tijd is de oproep van Minister Van Nieuwenhuizen (Infrastructuur en Waterstaat) aan werkgevers om met hun werknemers afspraken te maken over het zakelijk MONO rijden. Dus niet reageren op app-jes en al helemaal niet terugschrijven. Nee, kan ik me iets bij voorstellen. Leek mij heel logisch dat je dat niet doet tijdens het rijden. Al zul me mij nooit horen zeggen dat ik MONO rijdt.  Komt wellicht ook omdat ik wél handsfree bel tijdens het rijden. Tenminste, korte telefoontjes. Geen telefonische overleggen van een uur waarvan ik weet dat ik mijn hoofd helemaal bij het overleg moet houden. Dan kun je niet ook nog rijden.

Ik vind het ook zo’n heerlijk Nederlands ding weer: handsfee bellen in de auto is toegestaan in de wet maar we gaan mensen oproepen om het tóch niet te doen want niet bellen is nog veiliger dan wél bellen. Verbieden willen we het niet (daar is geen draagvlak voor) dus stoppen we heel veel geld in campagnes.

En in beide gevallen is het vandaag een deel van de dag nieuws, terwijl het morgen alweer vergeten is.

Deel dit bericht:
sep 012019
 

Het is nog nét geen jaar geleden dat ik naar aanleiding van de Eindhoven Maker Faire 2018 een cool Raspberry Pi pakket van MagPi en Elektor won. Dus eigenlijk schaam ik me wel heel erg dat de Pirate Radio – Pi Zero W Project Kit die onderdeel uitmaakte van dat pakket pas vandaag in elkaar gezet is. Het solderen van 2 headers met 40 pinnen zorgde er voor dat hij steeds op niet helemaal op het “moet ik nog even doen” lijstje kwam. Ik moet wellicht toch maar eens kijken naar het “hammer header” pakket dat ze verkopen. 😉

Het in elkaar zetten van de rest de kit is voor de rest niet moeilijk, je volgt gewoon de installatie-instructies hier. Wij wilden daarna voor een setup als Spotify streaming speaker gaan. Pimoroni levert een installatiescript waarmee Mopidy geïnstalleerd wordt. Daarmee kun je lokale bestanden, online streams en via plugins ook Spotify, SoundCloud en Google Play afspelen. Het is op zichzelf “gewoon” een Python applicatie, maar met de pHAT en de Speaker van de Pirate Radio-kit kun je de muziek ook direct vanaf de Raspberry Pi afspelen (en anders sluit je er een speaker of een koptelefoon op aan).

De installatie ging redelijk probleemloos en het was voor Niek ook een introductie in het gebruik van SSH en SCP. Er kwam niet meteen geluid uit de Pirate Radio, dus hebben we de documentatie bij Mopidy er ook op nageslagen. Uiteindelijk bleek het een wachtwoordprobleem bij Spotify te zijn en daarna speelde hij probleemloos zowel de Spotify tracks als lokaal opgeslagen tracks af:

De track die je hoort is afkomstig van bensound.com, de clips met muziek van Spotify laat ik maar even niet online horen. Geluidskwaliteit is zoals je van zo’n klein (mono-) speakertje mag verwachten. De pHAT kan overigens stereogeluid aan en de equalizer geeft ook in stereo de sterkte weer.


Er wordt een stickerset bij de speaker bijgeleverd voor als je hem wilt versieren met vrolijkere kleuren, mijn 16-jarige vond dat niet nodig. De Iris browser-interface die standaard geïnstalleerd wordt (het is een extensie voor Mopidy) werkt prima op een laptop, maar ook op je telefoon. Er zit alleen helemaal geen beveiliging op. Dat betekent dat als een huisgenoot de URL weet van de interface, hij/zij er ook voor kan zorgen dat er andere muziek afgespeeld wordt. Kan ook een leuke feature zijn. Nee, niet voor ouders die dan Phil Collins opzetten, maar bv tijdens een feestje waarbij je de aanwezigen in staat stelt zelf ook de muziek aan te passen.

Hoe dan ook het was een leuk zondagmiddag project en aangezien Max zich na 21 races vlekkeloos gedrag zichzelf vanmiddag al bij de eerste bocht uitschakelde, hadden we sowieso wat meer tijd over. Nogmaals dank Elektor en MagPi!
Oh, en Maker Faire 2019 is op 28 en 29 september in Eindhoven. Een absolute aanrader voor het hele gezin!!

Deel dit bericht:
aug 282019
 

Gezichtsherkenning is hot. En iedereen kan het: met een kleine ESP32 kom je al een heel eind. In China doen ze het gewoon, in Zweden dachten ze dat een klein experiment met een klas van zo’n 20 studenten geen kwaad zou kunnen. Ze wilden uitproberen of een camera met gezichtsherkenning goed kon werken als vervanging voor de dagelijkse “roll call”, het handmatig bijhouden van de aanwezigheid van studenten bij de hogeschool. Natuurlijk vroegen ze wel netjes de studenten om toestemming voor deelname aan het experiment dat zo’n 3 weken zou duren.

De Zweedse Datainspektionen dienst leerde via de media van het experiment en ging op onderzoek uit.
Conclusie: het vragen van toestemming aan studenten was hier onvoldoende grondslag omdat er sprake is van een afhankelijke relatie tussen de student en de school (bron).

De boete die de school kreeg “viel nog mee”, het was een bedrag van  €19.000 (200.000 SEK). Het maximale boetebedrag had 5x zo hoog kunnen zijn. Maar het geeft wel aan dat ook bij onderzoek naar dit soort technologieën, waarbij gevoelige biometrische data van studenten opgeslagen wordt, je heel goed vooraf moet nadenken over hoe de data opgeslagen wordt, hoe lang hij bewaard wordt én de wijze waarop je toestemming voor deelname kunt/moet verkrijgen.

Het scheelt je waarschijnlijk ook heel wat onderzoek, want in dit geval is wel duidelijk dat in Zweden (ik neem aan in heel Europa) het gebruik van gezichtsherkenning voor het bijhouden van aanwezigheid van studenten dus uit den boze is. Want als je dit structureel in wilt voeren dan loop je tegen het probleem aan dat je niet kunt volstaan met het vragen van toestemming omdat studenten dan niet/nauwelijks kunnen weigeren.

Het is ook wel grappig want enerzijds kan ik me de publieke verontwaardiging hierover helemaal voorstellen (“dat doe je toch ook niet!”) en als je het artikel over de voorbeelden in China leest dan wíl je waarschijnlijk gewoon ook niet met dit soort technologie in de klas aan de slag.
Maar van de andere kant kan ik me ook indenken hoe de redenatie in Zweden was: “we houden nu toch ook de presentie van studenten bij, waarom dat niet eenvoudiger maken door het automatisch te doen, is toch voor iedereen prettiger?”.  😉

(getipt door The Next Web)

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:
aug 212019
 

Dit is er eentje in de categorie “probleem dat al jaren bestaat en blijkbaar niet opgelost wordt”. Reddit.com is een van de grote sites die wél nog gewoon RSS-feeds aanbiedt van de verschillende communities.

En dat is handig, want als je niet zo’n dagelijkse Reddit gebruiker bent, dan kun je via bijvoorbeeld Feedly gemakkelijk op de hoogte blijven van nieuwe berichten. Maar laat nou juist dat Feedly grote problemen hebben met het bijwerken van de Reddit RSS-feeds. Dit bericht bij Reddit is van 2 jaar geleden en ook vandaag werkt het nog niet. Je kunt een feed wel toevoegen, maar in het beste geval zie je oude berichten van een paar maanden geleden.

De reactie van Feedly was dat ze steeds geblokkeerd werden door Reddit omdat ze populaire feeds te vaak wilden bijwerken. Tja.
Als je een eigen webserver hebt waar je PHP-pagina’s kunt plaatsen dan heeft deze site daar een oplossing voor. Het idee is dat je een eenvoudige PHP pagina aanmaakt met de volgende code:

<?php
header('Content-Type: application/xml; charset=utf-8');
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
echo file_get_contents("https://www.reddit.com/r/RTLSDR/new/.xml");
?>

Deze code haalt de RSS feed van de gewenste community op, in mijn geval van https://www.reddit.com/r/RTLSDR
Wil je de feed van een andere community volgen, dan moet je een tweede, derde, vierde etc bestand maken met steeds een wat andere naam.
De URL van het bestand geef je dan uiteindelijk aan Feedly door. Dan kun je wél de RSS-feed volgen:

Het is een beetje omslachtig, maar het werkt.

Deel dit bericht: