SJ4000 foto’s bewerken en verzenden met Raspberry Pi

IMG_4681

Hoewel de cameramodule van de Rapsberry Pi prima foto’s maakt, is de beeldhoek aan de krappe kant en laat de resolutie wat te wensen over. Als je in het bezit bent van een (kloon) GoPro, dan verwacht je betere beelden. Een SJ4000 bijvoorbeeld heeft een beeldhoek van ongeveer 178 graden en een resolutie van 4032×3024. Daarmee kun je aanzienlijk meer beeld tonen.

Mijn doel is om de SJ4000 te gebruiken in plaats van de cameramodule. Aan de softwarekant gebruikte ik op de Rapsberry Pi raspistill om de cameramodule te bedienen, voor een USB camera is hiervoor fswebcam. Deze installeer je met:

sudo apt-get install fswebcam

Om de SJ4000 als USB webcam te gebruiken, volstaat het om bij het aansluiten aan de Raspberry Pi (met een USB kabel) op de SJ4000 de optie Use as PC Camera te kiezen. Als de boel gelijk lijkt te ontsporen (de rode LED van de Rapsberry Pi gaat knipperen, de camera gaat gelijk weer uit of doet rare dingen) dan is de voeding van de Raspberry Pi onvoldoende. De Raspberry Pi en SJ4000 nemen gezamenlijk teveel stroom op.

Om te controleren of de opzet werkt, volstaat de volgende instructie:

fswebcam -r 4032×3024 -d /dev/video0 sj4000pic.jpg

Na enkele seconden is er een nieuwe afbeelding bewaard, genaamd sj4000pic.jpg:

sj4000pic

Foto’s maken met Raspberry Pi en uploaden via FTP

IMG_4102

Mijn Raspberry Pi B+ is uitgerust met een cameramodule en een Edimax WiFi dongle. Met wat software moet het mogelijk zijn om periodiek een foto te maken en deze te uploaden naar een website. “Moet niet ingewikkeld zijn,” dacht ik nog. Zoekend op het internet kwam ik diverse oplossingen tegen, maar uiteindelijk heb ik mijn eigen koers gevaren met de volgende stappen:

  • Foto maken met raspistill
  • Optie foto bewerken met ImageMagick‘s convert
  • Uploaden naar een website met ftp
  • Periodiek herhalen met cron

Het programma raspistill maakt een foto met de cameramodule en bewaart deze foto als een JPG. Er zijn verschillende instellingen mogelijk, hieronder enkele belangrijke:

  • Resolutie, met parameter -md, van 640×480 (mode 6) tot 2592×1944 (mode 2) en 1920×1080 (mode 1)
  • JPG kwaliteit, met parameter -q, van 0 (lage kwaliteit en klein bestand) tot 100 (hoge kwaliteit en groot bestand)
  • EXIF informatie instellen, met parameter -x, zoals GPS metadata: -x GPS.GPSLatitude=53/1,9/1,0/1 -x GPS.GPSLongitude=4/1,51/1,34/1 voor N 53° 9′ 0″ en E 4° 51′ 34″. Overigens vereist de GPS-notatie enige bewerking
  • Naam van het uitvoerbestand, met parameter -o. Handig is hierbij om bestandsnamen te nummeren of uit datum-tijd te laten bestaan, met filename=$(date -u +"%Y%m%d%H%M%S").jpg

Met een basis ftp client is het eenvoudig genoeg om een bestand te uploaden naar een website, vooringenomen dat deze over een FTP-server beschikt. Het is nog wel bewerkelijk om de commando’s binnenin de ftp client in hetzelfde script op te nemen als de andere commando’s. Het geheim zit in het omleiden van de console input: ftp << EOF.

Voor een webpagina is het handig om een afbeelding met een vaste naam te hebben. De gemaakte foto wordt daarom altijd naar ‘latest.jpg’ gekopieerd, die daarmee overschreven wordt. Ik heb geen manier gevonden om via het ftp-protocol een bestandsnaam te kopiëren, anders dan de upload twee keer te doen. Da’s wel jammer, want de foto’s zijn aardig groot.

Script capload.sh:

filename=$(date -u +"%Y%m%d%H%M%S").jpg
host=ftp.myserver.nl
user=myusername
pass=mypassword

#Capture image
raspistill -o /home/pi/images/$filename -md 2 -q 40 -x GPS.GPSLatitude=53/1,9/1,0/1 -x GPS.GPSLongitude=4/1,51/1,34/1

#Transfer image
ftp -ivn $host << EOF
user $user $pass
put /home/pi/images/$filename $filename
put /home/pi/images/$filename latest.jpg
bye
EOF

#Remove transfered image file
rm /home/pi/images/$filename

Ik gebruik de volgende cron job (crontab -e) om iedere vijftien minuten een foto te uploaden:

# Run the capload ('Capture Image and Upload') script every fifteen minutes
00 * * * * /home/pi/capload.sh
15 * * * * /home/pi/capload.sh
30 * * * * /home/pi/capload.sh
45 * * * * /home/pi/capload.sh

Hieronder een voorbeeld van een geuploade afbeelding:
Latest from Pi webcam

De Fermi Paradox

Afgelopen week kwam in de auto het onderwerp ‘buitenaardsen’ bij de kinderen op. En waar die dan wonen, op Mars ofzo. En dat er nog wel meer planeten moesten zijn bij andere sterren. Als ouder herinnerde ik me de Fermi paradox enigszins, die bekend staat als de vraag van Enrico Fermi, “waar is iedereen?”. Een goed excuus om de details nog een keer boven te halen van één van de grootste vraagstukken waar de wetenschap mee worstelt: “Is er intelligent leven op andere planeten?”

Het heelal is groot. Naar alle waarschijnlijkheid, volgens natuurkundige wetten die we nog niet begrijpen, oneindig groot. Het heelal bevat een eindig, maar nog steeds onvoorstelbaar groot aantal melkwegen. Eén van die melkwegen is de onze. Iedere melkwegstel bevat een eindig, maar echt onvoorstelbaar groot aantal zonnestelsels: een ster met nul of meerdere planeten die eromheen cirkelen. In onze eigen melkweg bevinden zich tussen de 100 en 400 miljard sterren. Er zijn naar schatting 250 miljard melkwegen in het gehele heelal. En dat maakt dat er tussen de 1022 en 1024 sterren bestaan. In vergelijking, dat zijn 10.000 sterren voor iedere korrel strandzand op aarde.

Niet alle sterren zijn van het type ‘zon’ en niet alle zonnen hebben een ‘aarde-achtige’ planeet om zich heen cirkelen. De meest conservatieve tellingen stellen dat 1% van de sterren een min-of-meer bewoonbare planeet heeft en dat maakt dat er naar schatting 100 ‘aarde-achtige’ planeten bestaan voor iedere korrel zand op aarde. Dat zijn heel veel mogelijke plaatsen waar intelligent leven kan ontstaan, heel veel planeten waar een intelligente beschaving op zou kunnen (hebben) bestaan.

Op hoeveel planeten van het type ‘aarde’ kan intelligent leven bestaan? De schattingen lopen hier weer uiteen, maar gegeven een voldoende lange tijdspanne, zou er op 1 op de 100 ‘aarde-achtige’ planeten intelligent leven kunnen zijn. Als we dan naar onze eigen melkweg kijken dan verwachten we alleen hier al 100.000 planeten met intelligente beschavingen. 100.000.

Er zijn verschillende organisaties die actief en intensief zoeken naar signalen van beschavingen op andere planeten. SETI is de bekendste. En de gezelligste, als we de Nederlandse tak mogen geloven. Als we gelijk hebben met 100.000 beschavingen en een fractie hiervan zendt (net als wij) signalen uit om contact te leggen met andere beschavingen dan zou je verwachten dat er al contact is geweest. Maar dat is niet zo. We hebben geen enkel signaal van buiten opgevangen. Geen hik.

Onze aarde is 4,54 miljard jaar oud. We zijn een planeet met een gemiddelde leeftijd. Dat betekent dat er ook veel oudere planeten zijn. De beschaving van een planeet van 6 miljard jaar oud zou wel eens 1,5 miljard jaar vóór kunnen lopen op de beschaving van de aarde. Je zou verwachten dat die beschaving in 1,5 miljard jaar het probleem van goedkoop ruimtereizen heeft opgelost en de hele melkweg bezocht en bevolkt heeft. We zouden in elk geval sporen van hun bezoek aan de aarde gevonden moeten hebben. Maar dat hebben we niet. Dit vormt de kern van de Fermi-paradox: er zijn genoeg planeten waar leven op heeft kunnen ontstaan en veel planeten hebben tijd genoeg gehad om intelligente beschavingen voort te brengen die hele melkwegen bevolkt moeten kunnen hebben. Waar is iedereen?

De Fermi-paradox heeft geen oplossing of antwoord, maar voldoende speculatie en gissingen, die in twee kampen vallen:

  • Er zijn geen sporen en signalen gevonden van buitenaardse beschavingen, omdat er geen buitenaardse beschavingen zijn
  • Er zijn buitenaardse beschavingen, maar er zijn logische verklaringen voor waarom we niets van hen hebben gehoord

Econoom Robin Hanson heeft in 1996 een artikel geschreven getiteld The Great Filter – Are We Almost Past It?, dat nog steeds het centrale werk in het eerste kamp vormt. Samengevat stelt het, dat het ontstaan van een beschaving samenhangt met een aantal onwaarschijnlijke gebeurtenissen (filtersdie maken dat er ofwel op heel weinig planeten leven kan ontstaan, of dat een beschaving na een bepaalde tijd niet meer kan overleven. Bijvoorbeeld omdat de vaardigheid om grootschalig ruimtereizen te maken meestal naijlt op overbevolking en klimaatveranderingen: de planeet is ‘op’ voordat de bewoners ervan kunnen ‘ontsnappen’. Maar Hanson is slechts één van de velen met een theorie.

Eén van mijn favoriete SF-auteurs, Alastair Reynolds, gebruikt de Fermi Paradox en het filter vaak als thema in zijn boeken. En ook hij is niet de enige.

Het tweede kamp speculeert over verschillende verklaringen, die uiteenlopen van dat de overheid contacten in een doofpot stopt, tot ‘we zijn nog niet voldoende ontwikkeld om contact te leggen’ en we worden in de gaten gehouden maar met rust gelaten.

Overigens is er nog een derde kamp, die stelt dat de wetenschap er bewust een potje van maakt en dat de aarde gewoon zo oud is als in de Bijbel wordt gesteld, namelijk 8.000 jaar.

We staan op het Maak Festival!

Op zondag 12 april 2015 is er in Groningen het Maak Festival. Het Maak Festival is hét podium voor techniek, creativiteit en vindingrijkheid dat jaarlijks wordt georganiseerd op en rondom het Ebbingekwartierterrein. Wij staan er dit jaar met een tiental verschillende elektronische schakelingen opgebouwd rondom de ATtiny85, een kleine microcontroller met grote mogelijkheden. Voor onze stand hebben we dit jaar gekozen voor een eenvoudige webpagina, in plaats van grote banners. Vorig jaar zorgden deze grote banners ervoor dat we moesten uitleggen dat we hobbyisten waren, in plaats van een import-bedrijf in 3D printers.

IMG_3361

Uitlegkaart

Rigol DS1052E oscilloscoop upgrade naar 100 MHz

De Rigol DS1052E oscilloscoop beschouw ik als één van de beste meetinstrumenten in mijn werkplaats: goede kwaliteit, brede uitrusting, veel praktische toepassingsgebieden en een lage prijs. Ik heb ‘m een paar jaar geleden op een Chinese website gekocht en het apparaat is, naast de digitale voeding en de Fluke multimeter, één van mijn drie favoriete elektronische gereedschappen.

DS1052E

Ik ben bezig de elektronica werktafel te verhuizen van de vliering naar de werkplaats in de kelder en een nadeel van de kelder ten opzichte van de vliering is het klimaat, dat in de kelder misschien minder ideaal is voor elektronische meetapparaten. Tijd om de Rigol te voorzien van een beschermende tas. Die zoektocht was over voordat hij was begonnen: Conrad heeft de originele Rigol DS-tas voor ongeveer hetzelfde bedrag als ik deze vanaf een Chinese website in huis kon krijgen. Maar in die zoektocht kwam ik wel een paar interessante reviews en aanpassingen tegen.

Gegadigden voor een filmavond

De beste science fiction films van de afgelopen twee jaar:

  1. Guardians of the Galaxy
  2. Edge of Tomorrow
  3. Moon
  4. Interstellar
  5. Gravity (Avatar scoort net hoger maar die heeft iedereen al gezien)

Alle kanshebbers voor vertoning op een filmavond in 2015:

  • About Time (time & comedy, 69% fresh, 81% like)
  • Avatar (James Cameron, alien & adventure, 83% fresh, 82% like)
  • The Boxtrolls (stop-motion, 75% fresh, 67% like)
  • Edge of Tomorrow (Tom Cruise, time & war, 90% fresh, 90% like)
  • Europa Report (mystery & suspense, 80% fresh, 56% like)
  • Gravity (Sandra Bullock & George Cloony, space & drama, 97% fresh, 80% like)
  • Guardians of the Galaxy (Marvel comic, space & adventure, 91% fresh, 93% like)
  • I Origins (drama & research, 52% fresh, 67% like)
  • Interstellar (Matthew McConaughey & Anne Hathaway, time & space, 72% fresh, 86% like)
  • Lucy (Scarlett Johansson & Morgan Freeman, action & adventure, 66% fresh, 47% like)
  • Moon (Sam Rockwell, space & suspense, 89% fresh, 89% like)
  • Oblivion (Tom Cruise & Morgan Freeman, space & adventure, 54% fresh, 61% like)
  • Prometheus (Ridley Scott, 73% fresh, 69% like)
  • Space Station 76 (Liv Tyler, comedy & drama, 67% fresh, 31% like)

Basis handgereedschap voor ongeplande klussen in huis

Klussen in huis vallen in twee categorieën: gepland en ongepland. Voor geplande klussen maak je een plan, verzamel je het benodigde materiaal en huur of leen je indien nodig het juiste gereedschap. Een ongeplande klus kent al die voorbereidingen niet en je moet het dan doen met wat je voor handen hebt. Tot ongeplande klussen reken ik bijvoorbeeld het ophangen van een lampje, monteren van stopcontacten, bijwerken van een beschadiging, ophangen van foto’s en dergelijke.

Voor ongeplande klussen is het handig om altijd een set basisgereedschap klaar te hebben liggen en dat bij elkaar te houden in een compacte gereedschapskist, waarin ook ruimte is voor verbruiksartikelen zoals kit, schroeven en lijm. Omdat zo’n basis gereedschapskist een leven lang meegaat, loont het de moeite om de inhoud zorgvuldig te kiezen.

Neem voor het materiaal van de gereedschapskist het liefst kunststof en geen metaal. Dit roest niet en maakt de kist lichter. Kies ook een relatief dure kist die tegen een stootje kan. Goede merken zijn Raaco en Curver. Gereedschapskisten zijn niet onverwoestbaar, maar met een beetje zorg houd je ze lang netjes.

curver-tyokalupakki-korkea-malli

Een paar goede schroevendraaiers behoren toch wel op de eerste plek van de top 5 van basis handgereedschap. Met drie verschillende maten kruiskopschroevendraaiers en drie maten platte schroevendraaiers kom je een heel eind. De kleinste maat kruiskopschroevendraaier moet geschikt zijn voor die kleine schroefjes van batterijvakjes van kinderspeelgoed. De kleinste platte schroevendraaier voor kroonsteentjes en de schroefjes van netstekkers. Als je altijd de juiste maat schroevendraaier gebruikt dan volstaan relatief goedkope exemplaren van enkele euro’s per stuk. Als je twijfelt aan je eigen kunnen dan zou je wat duurdere schroevendraaiers kunnen kopen. Die bieden meer weerstand tegen foutief gebruik.

Een setje inbussleutels zijn tegenwoordig in het Ikea tijdperk ook onontbeerlijk, evenals een setje steeksleutels. Reken een tientje voor elk van beide setjes. Een kleine hamer is handig, hoewel ik zelf bijna nooit een hamer gebruik. Neem er eentje met een gelakte kop en een kunststof of houten steel.

Een waterpomptang en een combinatietang. Twee zagen: een ijzerzaag met verwisselbare bladen en een handzaag voor hout. Neem voor de ijzerzaag gelijk twee reservesetjes zagen mee: een setje met grove tanden voor hout en een setje fijne tanden voor kunststof en metaal. Kies voor de handzaag eentje met teflon zijkanten. Dat gaat roest tegen en zaagt veel gemakkelijker.

Een kleine accuschroefboormachine. Met een accuschroefboormachine kun je boren en schroeven en eentje met een Lithium-Ion accu gaat lang mee. Elektrisch handgereedschap moet je zorgvuldig kiezen wil je er veel plezier van hebben. Voor de accuschroefboormachine zou ik voor een Bosch Blauw GSR 10,8-2-Li kiezen. Een grote aanschaf, maar eentje die zijn geld op de langere termijn meer dan waard is. Een set bitjes met 5 torx en 5 kruiskopbitjes is voldoende. Bosch heeft een mooi setje met een handige bithouder erbij. Kies ook voor een paar boortjes met een zes-kantige kop in de maten 1 tot 6 millimeter.

De multimeter is samen met een rolmaat, winkelhaak en een waterpas een belangrijk stuk meetgereedschap. Kies voor de rolmaat eentje van 5 meter en een waterpas die past in de gereedschapskist.

Ik twijfel over een handzaag. Een korte handzaag is onontbeerlijk als je een plank of balk wilt afkorten of bijzagen. Bij mij is dit echter nooit een ongeplande bezigheid. Maar alas, als er nog ruimte in de gereedschapskist is: een korte handzaag. Neem eentje met een teflon afwerking, die zaagt het best.

Wat er verder in de gereedschapskist thuishoort: kroonsteentjes, schroeven, diverse soorten lijm, duct tape, een paar meter installatiedraad, een paar meter electriciteitssnoer, een busje WD 40, een poetsdoek en een setje miniatuur schroevendraaiers.

Rookbommen

Vroeger maakten we rookbommen met sterretjes in een PVC pijp. Zelf heb ik dat al jaren niet meer gedaan, maar met de kinderen zo groot dat ze wel in zijn voor een eindejaars-verzetje, heb ik me er afgelopen week maar eens in verdiept.

Een ideale rookbom produceert een ontzettende hoeveelheid ondoorzichtige rook, zonder al te veel geur en bij voorkeur zonder al te veel schadelijke stoffen. Hieronder enkele recepten voor een mooie rookbom:

  • Pingpong-balletje in aluminiumfolie: bij de verbranding van het balletje ontstaat veel rook. Brand enkele seconden. Eenvoudige voorbereiding: pingpong balletje in aluminiumfolie draaien, met een potlood een rookkanaal maken en met een aansteker het geheel verwarmen
  • Kaliumnitraat, suiker en kaarsvet: de kaliumnitraat-suikermix brandt gemakkelijk en levert veel rook op. Met kaarsvet als versneller gemakkelijker verbranding en meer rook. Naast kaliumnitraat is een lont nodig. Kaliumnitraat wordt ook wel (kalie)salpeter genoemd en heet in het Engels potassium nitrate. Rookbommen maken van potassium nitrate is in Amerika een populaire bezigheid. Ook vaste raketbrandstof maak je van dezelfde ingrediënten. De bereiding kan op verschillende manieren: droog mixen en met een sterretje verpakken; mixen en oplossen in gesmolten kaarsvet: lont of sterretje erin; mixen en smelten boven een laag vuur: lont of sterretje erin
  • Sterretjes en PVC buis: door de hitte van de verbranding van de sterretjes verbrandt het PVC ook en ontstaat een stinkende, dichte rook. De consensus is wel om de metalen delen van de sterretjes alvast te verwijderen, bijvoorbeeld met een combinatietang

Steigerhouten werkbank

Bij het maken van het lijstje voor de kerstvakantie (bij ons is dat het ‘wat gaan we allemaal doen’ lijstje) kwamen de woorden ‘knutselen’ en ‘maken’ vaak voor. En omdat de wens van een grotere werkbank in de werkplaats in de kelder al langer bestond, is er op het lijstje een project toegevoegd: een steigerhouten werkbank.

Omdat de kelder vrij groot is en we altijd wel tien verschillende ‘knutsel en maak’ projectjes tegelijk hebben lopen, moest die nieuwe werkbank maar lekker groot worden. 4 meter leek een mooie lengte en 60 centimeter een mooie diepte. Op verschillende plaatsen wordt gereedschap zoals een bankschroef en boormachine bevestigd. En natuurlijk heel veel werkruimte.

Werkbank steigerhout

Het te gebruiken materiaal bestaat uit steigerplanken, die hebben afmetingen van 250 x 20 centimeter, bij een dikte van 32 millimeter. Een in vier stroken gezaagde steigerplank doet dienst als rand en houdt de planken bijeen. Een frame van steigerpalen (diameter 44 millimeter) maakt het geheel af. Ik ga gebruik maken van RVS schroeven, een stuk of 60.

Horbach heeft in het weekend weer een goede klant aan ons.

Lego Mindstorms EV3

Lego heeft met Mindstorms EV3 een nieuw robot-bouwplatform ontwikkeld dat voortborduurt op de eerdere Lego NXT en Lego RCX patronen maar voorzien is van een moderne, flexibelere aanpak. Het systeem bestaat uit een basisdoos voor thuisgebruik of onderwijs, gratis software voor thuisgebruik, licenties voor onderwijsdoeleinden en verschillende uitbreidingsmogelijkheden.

ev3homeedu-featured

Het Lego Mindstorms EV3 platform is voor twee verschillende doelgroepen ontwikkeld: thuisgebruikers en onderwijsgebruikers. Voor deze doelgroepen zijn twee verschillende basissets beschikbaar: de Mindstorms EV3 31313 voor thuisgebruik en de Mindstorms EV3 45544 voor het onderwijs. Het gebruik van beide sets kan echter ook prima omgedraaid worden: de 31313 op scholen en 45544 voor thuis.

De thuisset (31313) komt met bouwontwerpen voor 5 modellen, plus 7 bonusmodellen. De software voor thuisgebruik is vrij te downloaden.

De educatieset (45544) komt met één bouwontwerp, maar er zijn verschillende andere beschikbaar. De software moet gekocht worden.

De sets hebben in grote lijnen vergelijkbare inhoud, hoewel het aantal en type aanvullende stenen verschilt. In termen van sensoren heeft de thuisset een infraroodsensor met afstandsbediening, terwijl de educatieset een ultrasoonsensor en een gyroscoop heeft. Het is mogelijk om de sets aan te vullen: educatieset naar thuisset, of thuisset naar educatieset.

Downloads en verdere ondersteuning: