Category Archives: tech

Nieuwe camera (51/100)

Vorig jaar heeft mijn cameraatje afgezien in Nepal. Tijdens de filmpjes op de bus (naar Banepa en terug en met de politie) is er veel stof in de lens gekropen. Hij ging niet meer dicht, dus ik vreesde het ergste. Toen ik thuiskwam werkte hij terug als tevoren. Voor even…

Nu ik bijna terug vertrek vond ik het tijd voor een nieuwe camera en aangezien ik een waterbestendige action cam heb, ga ik die gebruiken voor stoffige filmpjes. Dus heb ik een systeemcamera gekocht, een Fuji XT-10.

 

Spiegeltje spiegeltje aan de wandVoorlopig nog alles automatisch, maar dat zal snel veranderen.

Mijn testsubject wordt Julien:

Juien Schoenaerts

Julien Schoenaerts

Wat als… Je auto gehackt wordt? (40/100)

Een dik jaar geleden zag ik deze reportage van The Motherboard:

Een hacker neemt de controle over een wagen over en laat hem stoppen en achteruit rijden op een parkeerterrein. Een klein voorproefje van wat mogelijk zou zijn in een toekomst met auto’s met internet, maar nog niet op dat moment: de makers geven toe dat ze de wagen hebben aangepast.

Een dik jaar later lees ik Highway to hack: Why we’re just at the beginning of the auto-hacking era: een Jeep Cherokee gehackt via zijn onboard internetverbinding.

Dit gat is gepatcht, maar hoeveel veiligheidsgaten zijn er nog?

Waar is de zon? (38/100)

Nu de herfst duidelijk aanwezig is in het land begin je je dat meer en meer af te vragen. Ook: wanneer begint de Indian Summer?

Maar ik bedoelde eigenlijk iets anders. Ik heb ondertussen al drie timelapse video’s gemaakt van de zonsop- dan wel ondergang en voor ik daar aan begin wil ik dat toch ook wel weten. Vooral: Wanneer staat de zon waar? Wanneer begint de zonsondergang, wanneer zal het beginnen schemeren en waar staat de zon dan ongeveer op deze dag van het jaar.

Awel, het antwoord op al die vragen wordt met veel plezier gegeven door www.suncalc.net.

suncalcnoordkasteelbrug600

Screenshot_2015-09-13-07-25-34-600

Solderen in noodgevallen (28/100)

Nog eentje voor noodgevallen, maar niet omdat ik niet weet wat schrijven vandaag. Dit is gewoon een coole hack: Geen soldeerbout in de buurt (of geen elektriciteit), maar je moet iets solderen?  Meer dan een aansteker, wat koperdraad en papiertape heb je niet nodig om als een ware McGyver te solderen.

noodsoldeerbout600

Ik heb er snel zelf één gemaakt en even getest. Om twee draden aan elkaar te solderen lijkt het me efficiënter om die draden zelf even te verwarmen met een aansteker (te weinig massa), maar om een printplaat te solderen is het een handige noodoplossing vanwege de precisie.

Hedy Lamarr Hacken

Lotte is het hele weekend weg en ik heb genoeg gewast en geplast voor vandaag, dus terwijl de spaghettisaus nog een uurtje pruttelt begin ik alvast aan mijn projectje voor dit weekend. Vanavond ga ik Hedy Lamarr hacken.

Hedy Lamarr was een filmactrice en de uitvindster van Frequency Hopping Spread Spectrum en sinds twee weken ook onze WiFi-router. Voor meer informatie over zowel onze router als de origenele Hedy lees je best mijn blogpost van vanmorgen, Nieuwe huisgenoot: Hedy Lamarr. Daarin kan je onder andere lezen dat ik ons Hedy graag van een bewegingssensor had voorzien zodat ze wat kan rusten als wij toch nog niet thuis zijn of liggen slapen.

Hedy Lamarr naakt in de kast

Hedy Lamarr naakt in de kast

Omdat ik daar zin in heb, ga ik dat stapsgewijs bloggen vanavond en morgen. Een soort van semi-livebloggen.

Ik heb al een aantal stappen en functionaliteiten in mijn hoofd en die ga ik één voor één aflopen. Om eerlijk te zijn. Wat ik voornamelijk ga doen is verschillende tutorials na elkaar doorlopen en de stukken die ik nodig heb er uit halen en terug combineren.

Het uiteindelijke doel is een router die aanspringt als er mensen in huis zijn en afspringt als er niemand thuis is of als iedereen slaapt, een logje bijhoudt van al dat af en aanspringen (om te kunnen finetunen) en die ik via een knop kan doen afsluiten of resetten.

Aangezien ik twee Raspberry Pi’s heb, ga ik Hedy rustig zichzelf laten wezen in de kast en experimenteren met mijn tweede Pi. Op die manier kan ik makkelijker resetten en knoeien zonder dat ook iedere keer het internet uitvalt. En ik ga het gros van het programmeerwerk ook via SSH doen (dus door via mijn laptop in te loggen op de Raspberry Pi). Op die manier kan ik niet alleen makkelijker code kopiëren van mijn laptop naar de Pi, maar kan ik ook op het einde alles makkelijk overzetten naar Hedy.

Stap 0: De voorbereiding

Die tweede Pi had ik snel gevonden, maar waar lagen mijn SD-kaartjes nu weer? Blijkbaar ergens onderaan in een doos. En op welk kaartje stond nu weer wat?

 

Wat stond er nu weer op welk SD-kaartje?

Dus even het televisietje op tafel gezet en de eerste kaart geprobeerd. Van de eerste keer prijs. Geprobeerd om met een vast IP-adres, maar het lukte me niet om dat geregeld te krijgen in combinatie met een internetverbinding via mijn laptop, dus probeer ik het maar met een dynamisch adres. Dus laat ik de TV maar in de buurt staan, voor het geval ik hem nog nodig heb.

 

Maar ondertussen zijn we bijna twee uur verder en ga ik toch eens een stukje eten. De saus heeft al lang genoeg geprutteld, snel even wat spirelli koken, eten en dan beginnen aan stap 1. Tot zo.

Stap 1: de PIR-sensor aan de praat krijgen

Dat ga ik doen aan de hand van deze adafruit-tutorial om beweging te detecteren. Al ga ik die zoals gewoonlijk weer niet helemaal exact volgen omdat ik niet helemaal dezelfde onderdelen gebruik. Bijvoorbeeld mijn Pi Protoplate in plaats van een Pi Cobbler, maar uiteindelijk zijn dat details.

Gemakkelijk te installeren, maar werkt hij ook?

Gemakkelijk te installeren, maar werkt hij ook?

De sensor installeren was enorm gemakkelijk: gewoon het juiste draadje in het juiste gaatje en dichtvijzen maar. Daarna het “echte werk: python installeren, de code kopiëren, aanpassen en laten lopen.

Een klein voorbeeldje met een koffietas over de sensor zodat hij zeker niets kan zien:


 

Dat ging dus vlot. Verdertesten met die handel. Op naar stap 2.

Stap 2: De PIR-sensor een linuxcommando laten triggeren

Tot ik de sensor aan ons Hedy koppel, kan ik moeilijk de WiFi aan of uitschakelen met de sensor (of testen of ik dat kan), dus gebruik ik deze adafruit-tutorial om een geluid af te spelen als er beweging gedecteteerd wordt.

Voor de tutorial heb je expliciet een WAV-bestandje nodig (MP3 werkt niet) dus ik even op zoek naar een WAV-bestandje op het internet. Zo kwam ik uit bij dailywav.com. Een site met als baseline “annoying your cubemates since 1995”, bij het REC Radiocentrum zijn ze denk ik blij dat ik die site niet kende toen ik er nog werkte…

In ieder geval: snel een geluidje gekozen en gedownload. Dat werkte niet zo goed omdat het wel een wav-bestand was, maar niet van het juiste type. Grmbl. Dan maar snel wat drama van het internet geplukt met audacity en dat naar de Pi doorgesluisd.

In dit geval moest ik de code al iets meer aanpassen omdat ik geen deursensor wilde gebruiken, niet teveel wilde beginnen vijzen aan mijn sensor en toch ook even iets op het scherm wilde zien als er beweging was, maar het grootste gedeelte was nog steeds copy/paste.

Gelukkig lag Lotte’s kapotte hoofdtelefoon ook in de buurt, dus hoefde ik geen luidsprekers aan te sluiten.

Het tweede experiment met extra LED en hoofdtelefoon

Het tweede experiment met extra LED en hoofdtelefoon

De eerste test die ging zo:

Misschien iets teveel drama…

Ik vroeg me al af of het script enkel het bestand ging starten en dan doorgaan of eerst het hele bestand zou afspelen en dan pas opnieuw beginnen. Blijkbaar was het het eerste. Dan toch maar even het script aangepast en opnieuw getest.

Ook hier wordt het weer duidelijk dat de sensor nadat hij afgedekt is toch nog even blijft doorgaan. Geen idee hoe dat komt, misschien ligt het aan het script, misschien blijft de sensor zelf iets te lang doorwerken, miscchien ligt het aan de snelheid waarmee de sensor zijn signalen doorstuurt. In ieder geval heeft het normaal gezien niet al te veel invloed op wat ik van plan was, aangezien ik het internet pas na een uur wil laten uitvallen (en de sensor eerst wilde laten checken of de verbinding nog open stond of niet).

Maar goed, tijd voor de volgende stap.

Stap 3: de acties loggen

Ik wil graag ook een log creëren van de acties die uitgevoerd worden, zodat ik makkelijk kan zien wanneer het netwerk aanspringt, afspringt, de sensor getriggerd wordt en of ik die moet aanpassen.

Ik had daar al wat info over gevonden op stackoverflow, in deze thread.

Die probeer ik nu toe te passen. In eerste instantie leek me het voorbeeld dat gebruik maakt van de module Logbook wel handig, maar het lukte me niet om die op 1-2-3 te installeren en ondertussen is het na middernacht, dus heb ik ook niet teveel zin meer om te knoeien. Dus ging ik maar aan de slag met het eerste voorbeeld en weefde dat door de code van Stap 2.

Dat gaf het volgende resultaat:

Geen slecht begin, aangezien deze logger enkel de functie “print” bijhoudt, en print(“PIR ALARM!”) de enige “print” in het script is.

In eerste instantie kan ik hier mee verder, mits twee aanpassingen: een tijdsaanduiding & een “print” voor iedere verschillende actie om te kunnen differentiëren. Voor die tijdsaanduiding vond ik op stackoverflow onmiddellijk een aantal passende mogelijkheden. Ik koos voor
datetime.datetime.now().isoformat() 
En in dit script had ik maar twee mogelijkheden: “een alarm” en “geen alarm”, dus gaf ik ook een “print” voor “geen alarm”. Dat gaf het volgende resultaat:

White Russian Logbook

White Russian Logbook

Laat me stellen dat ik daar voorlopig tevreden mee kan zijn. Morgen eens kijken hoe makkelijk het is om Python te laten checken of onze WiFi nog aan staat en, indien niet om die enkel dan aan te zetten en, indien er al een uur geen beweging meer is, om dan de WiFi uit te schakelen. Maar, zoals ik al zei, dat zal voor morgen zijn. Genoeg gespeeld voor nu, tijd om nog een filmpje te kijken.

 Stap 4: op commando services checken en reageren

Tijd om er terug in te vliegen. Uiteindelijk is het de bedoeling dat de PIR-sensor er voor zorgt dat het draadloos internet aanspringt als we opstaan of als we thuiskomen en dan blijft werken tot we gaan slapen of vertrekken. Of beter gezegd: tot we een uurtje vertrokken zijn, naar dromenland, dan wel naar het werk of de Stanny.

Ik ga een delay van een uur nemen omdat ik niet wil dat het internet uitvalt terwijl we thuis zijn en ik er van uitga dat de kans enorm klein is dat we overdag een uur niet in de buurt van Hedy passeren. Ze staat namelijk in de boekenkast tussen de living en de keukenJe moet door de keuken (en dus langs die kast) om vanuit de living naar het terras, de slaapkamer of de badkamer te gaan, dus zelfs als je gewoon snel iets wil nemen om te drinken of even naar het toilet gaat is dat genoeg om een “nieuw uur internet” te starten.  Hedy kijkt ook recht op onze voordeur als die openstaat dus als we thuiskomen, wordt ze terug wakker.

Misschien moet ik hier tussendoor nog eens aangeven waarom ik zoveel moeite doe om de WiFi aan en af te doen springen. Daar zijn verschillende redenen voor. Om te beginnen kan je je afvragen waarom dat draadloos netwerk de hele tijd zou moeten uitzenden als je toch niet thuis bent of als je drie meter verder ligt te slapen. Daar komt dan ook nog eens bij dat het WiFi-dongletje dat ik nu gebruik is ook niet echt ontworpen is om continu gebruikt te worden als Access Point. Dat is gemaakt om één computer te verbinden met een netwerk, niet om het verbindingspunt met het internet te zijn voor drie of vier toestellen tegelijk en dan nog de hele dag te staan roepen “Ik ben Hedy Lamarr! Ik ben Hedy Lamarr! Ik ben Hedy Lamarr!” Dus ga ik er van uit dat dat dongletje zo nu en dan wel wat rust kan gebruiken. De laatste reden is mischien nog de belangrijkste: omdat het kan en er enorm veel door leer. Dat is uiteindelijk ook de reden waarom de Raspberry Pi ontwikkeld werd: een goedkope computer waar je makkelijk mee kan experimenteren en leren. Ok, ik val een beetje buiten de oorspronkelijke doelgroep, ik zit namelijk niet meer op school, maar dat betekent niet dat ik er minder van zou kunnen leren. Anyway.

Back to Business. Het basisidee is:

“Als er beweging is, dan is er draadloos internet voor een uur.
Als er meer dan een uur lang geen beweging is,  is er geen draadloos internet meer.”

Spijtig genoeg kan je dat niet gewoon rechtstreeks omzetten in een computerprogramma. Hoe ik dat dan wel ga doen, ga ik vandaag proberen uitvogelen. Misschien is nu dan ook het moment om even aan te geven dat mijn programmeerervaring bestaat uit “ISOLAB” in het middelbaar (een virtueel autootje kegels laten zetten of weghalen), de eerste projecten uit “Getting started with Arduino”. Niet erg veel dus. Wat ik Hedy ga proberen te laten, zal in ieder geval het ingewikkeldste zijn dat ik tot nu heb geprogrammeerd.

Python iets laten doen op basis van een beweging kan ik ondertussen al, dus ga ik eerst de andere kant van het verhaal onderzoeken: Python het draadloos internet laten regelen. Hedy gebruikt daarvoor 2 services: hostapd en isc-dhcp-server. Omdat ik mijn experimenten doe op een PI zonder WiFi, kan ik die ‘services’ niet regelen. Daarom gebruik ik als vervangmiddel respectievelijk de services ‘mysql’ en ‘php’ tijdens mijn experimenten. Die gebruik ik niet op die Pi en hebben ook geen invloed op het netwerk, dus die kan ik makkelijk gebruiken.

In principe starten die services en het pyhton-script op als Hedy Lamarr opstart, dus zou ik kunnen veronderstellen dat ze van in het begin actief zijn en de waarde “running” als beginwaarde in mijn script zetten. Maar ik ben liever zeker en wil dus dat Hedy eerst gaat controleren of het draadloos internet wel aan staat. Op Stackoverflow vond ik veel verschillende voorbeelden, het onderstaande deed van de eerste keer wat ik vroeg.

import subprocess
output = subprocess.check_output(['ps', '-A'])
if 'mysql' in output:
    print("mysql is up and running!")
else:
    print("mysql is down :(")

Dat werkt naar behoren. Volgende stap: als de service mysql niet draait, gaan we die starten. Ook daar ga ik de Subprocess-library voor gebruiken. (je kan ook OS gebruiken, maar volgens deze post op cyberciti.biz kan dat problemen geven)

import subprocess
output = subprocess.check_output(['ps', '-A'])
if 'mysql' in output:
 print("mysql is up and running!")
else:
 print("mysql was down, but is running now")
 subprocess.call(["service", "mysql", "start"])

Als je de bovenstaande code test, is dit het resultaat:

pi@raspberrypi ~ $ sudo service mysql status
[info] MySQL is stopped..
pi@raspberrypi ~ $ sudo python running2.py
mysql was down, but is running now
[ ok ] Starting MySQL database server: mysqld . ..
[info] Checking for tables which need an upgrade, are corrupt or were
not closed cleanly..
pi@raspberrypi ~ $ sudo service mysql status
[info] /usr/bin/mysqladmin Ver 8.42 Distrib 5.5.31, for debian-linux-gnu on armv7l...

En nu volgt het stuk waarvan ik zelf nog niet goed weet hoe ik het best aanpak: hoe weet het script dat het al een uur geen beweging heeft gezien?

De scriptjes die ik tot nu toe gebruikte gingen eerst iets controleren (Is er beweging? Draait mysql?), dan iets doen (een geluid afspelen, een boodschap weergeven, een service starten) en stopten of gingen “slapen” en begonnen opnieuw. Dat kan ik hier moeilijk doen.

Of beter gezegd, ik zag niet hoe ik dat deftig kon gebruiken. Maar nu denk ik dat ik een oplossing zie…

En toen was de namiddag plots voorbij…

Quick recap: Ik was van in het begin van plan om de sensor iedere seconde te checken, omdat iedere halve seconde me wat veel van het goede leek, maar meer dan een seconde wachten te tricky, aangezien je niet veel tijd nodig hebt om die sensor te passeren en hij dus misschien toch uit zou vallen gewoon omdat je op het verkeerde moment gepasseerd bent.

En na een uur mag het internet uitgeschakeld worden. Dat laatste vond ik moeilijk. hoe kon ik in 1 loop zowel “1 seconde wachten” als “1 uur wachten” integreren en dan vooral nog “als er iets gebeurd begin je terug van 0 te tellen”. Awel dat “tellen” bracht me op een idee. In een uur zitten 3600 seconden, iedere seconde checkt Hedy of er beweging is, dus als ik Hedy iedere keer als ze niets ziet een streepje laat zetten, komt ze uiteindelijk uit bij 3600 seconden waarin niets gebeurde. Als ze dan nog iedere keer alle streepjes wegveegt als ze toch iets ziet, komt ze pas op 3600 als ze een heel uur lang niets gezien heeft. Op dat moment mag ze het internet afzetten en rustig verderdoen met iedere seconde te kijken. En als er iemand thuiskomt, zal ze dat zien, braaf gaan controleren of het internet nu aanstaat of niet en aangezien dat niet het geval is dat mooi terug aanzetten. Dank u, Hedy!

Tot zover de theorie. Ik probeerde dat in de praktijk om te zetten door het scriptje met het geluidsfragment en het logbestand aan te passen. Op die manier had ik ook auditieve input, kon ik ook achteraf in het logboek gaan kijken en had ik ineens code die ik makkelijk kon aanpassen. Om het mezelf makkelijker te maken voegde ik een tweede geluidje toe dat stond voor “internet afzetten” en liet ik Hedy maar tot 6 tellen in plaats van tot 3600.

Het werkte voor geen meter. Ik weet nog steeds niet wat er precies fout is aan die code, maar Hedy maakte vooral veel lawaai, weigerde terug vanaf 0 te beginnen, maar wilde ook niet vertellen wat er scheelde. De woorden “strekenwijf” en “vrouwenlogica” komen in me op, maar die zijn hier compleet niet op zijn plaats, aangezien Hedy er zelf niets aan kan doen, ik heb dat geschreven en ze heeft het geïnterpreteerd zoals het er staat.

In ieder geval. Ik ben maar opnieuw begonnen op basis van het eerste script: als je beweging ziet, print dan “PIR ALARM!”. Geen logboek, geen geluidjes. Eenvoud. Met een extra controlemechanisme: print ook iedere keer tot hoeveel je al geteld hebt. Kwestie van te zien of ze terug van 0 zou beginnen. Dat maakte het troubleshooten in ieder geval al stukken gemakkelijker. Na veel vijven en zessen kwam ik hier op uit:

import time
import datetime
import RPi.GPIO as io
io.setmode(io.BCM)

pir_pin = 18

io.setup(pir_pin, io.IN) # activate input

count = 0

while True:
  if io.input(pir_pin):
    print datetime.datetime.now().isoformat()
    print ("PIR ALARM!")
    print count
    count = 0
    time.sleep(2)
  else:
    if count != 6:
      count += 1
      print datetime.datetime.now().isoformat()
      print("Relax dude. Everything's cool...")
      print count
      time.sleep(2)
    else:
      count += 1
      print datetime.datetime.now().isoformat()
      print("This is boring. I'm outta here!")
      print count
      time.sleep(2)

En dat werkt. Als ik hier “controleer of er WiFi is”, “zet de WiFi aan” en “zet de WiFi af” heb ik de basisfunctionaliteit die ik wilde.

Maar dat zal voor later zijn. Eerst een beetje opruimen en koken (Rogan josh, al van 2007 geleden dat ik dat nog heb klaargemaakt), want straks komt Lotte thuis en die zal wel hongerig en moe zijn van haar weekend.

 

Nieuwe huisgenoot: Hedy Lamarr

Sinds een paar weken hebben Lotte en ik een nieuwe huisgenoot: Hedy Lamarr. Het is geen tijdelijke logé of een nieuw huisdier, maar de naam van onze nieuwe WiFi-router. De vorige had al een tijdje problemen en na een tijd ben je het moe om met een kabeltje naast de modem te gaan zitten, ook al staat die modem dan naast de zetel.

En aangezien mijn twee Raspberry Pi’s (computers ter grootte van een bankkaart) voornamelijk aan het knipperen waren en ik nog een WiFi-dongle had liggen, leek het me wel een uitdaging om er een om te toveren tot een nieuwe router, op z’n minst als een tijdelijke oplossing. En omdat het beestje een naam moet hebben, heb ik haar Hedy Lamarr genoemd.

Waarom Hedy Lamarr?

Laat me eerst uitleggen waarom ik haar een “echte” naam gegeven heb. Awel, toen ik mijn tablet als Wifi-hotspot begon te gebruiken, moest ik een naam verzinnen voor die hotspot (een SSID). Aangezien ik weleens met radio bezig ben, besloot ik om dat netwerk Marconi te noemen als eerbetoon aan Gugliemo Marconi, als één van de uitvinders van de draadloze telegrafie ook een beetje de papa van alle draadloze netwerken.

Toen ik mijn huidige smartphone kocht, begon ik die natuurlijk ook als hotspot te gebruiken en had ik een nieuwe naam nodig. De inspiratie daarvoor vond ik op de Engelstalige wikipedia-pagina over Marconi. Bij zijn eerste experimenten werd hij bijgestaan door zijn butler Mignani, die als bijzondere taak had om in de lucht te schieten als een verstuurd radiosignaal was aangekomen. Een aparte maar niet onbelangrijke en vaak onderbelichte taak, dus dat werd de naam van de hotspot van mijn GSM.

Toen Lotte en ik gingen samenwonen haalde ik ook mijn (oude) WiFi-router terug van onder het stof en moest ik daar natuurlijk ook een nieuwe naam voor verzinnen. Terug naar de Engelse wiki over Marconi. In 1909 ontving Marconi tesamen met Karl Ferdinand Braun de Nobelrpijs voor de Naatuurkunde voor hun bijdragen aan de ontwikkelingen van de draadloze telegrafie. Een reden als een andere om gekozen te worden SSID.

Maar Karl Ferdinand Braun heeft ondertussen dus de geest gegeven (de echte deed dat overigens op 20 april 1918) en moest ik een nieuwe naam vinden voor mijn nieuwbakken router. Ik vond mijn lijstje zelf nogal mannelijk, dus ging ik op zoek naar een vrouw die een grote rol had gespeeld in de geschiedenis van de radio.

Original studio publicity photo of Hedy Lamarr in 1938. Wikipedia Commons

En wat voor een vrouw. Als de naam Hedy Lamarr al bij iemand die dit leest een belletje deed rinkelen, dan zal dat zijn vanwege haar filmcarrière. Filmmaker Max Reinhardt noemde haar “de mooiste vrouw in Europa” en in 1933 verscheen ze blijkbaar als eerste naakte vrouw in een speelfilm, de Tsjeschische film Ekstase (met daarin ook een close-up van haar gezicht tijdens een orgasme). Ze speelde ook de vrouwelijke hoofdrol in Algiers, maar is waarschijnlijk het meest bekend voor de rol van Delilah in Samson & Delilah.

Maar dat is niet de reden waarom ze ons draadloos internetverkeer in goede banen leidt. Die “ons draadloos internetverkeer” mag je lezen als “het draadloos internetverkeer van iedereen ter wereld”. In 1942 pantenteerde ze namelijk samen met George Antheil een geheim communicatiesysteem voor van op afstand bestuurde torpedo’s. Door de zender (de torpedobestuurder) en de ontvanger (de torpedo) synchroon van frequentie naar ferquentie te doen springen (Frequency hopping spread spectrum) werd het heel moeilijk om het radiosignaal op te sporen en te verstoren. Ze gaf het patent aan de Amerikaanse marine, maar die besloten om het niet te gebruiken voor torpedo’s. Andere uitvinders gingen er echter wel mee aan de slag en daardoor hebben we vandaag GPS, WiFi en Bluetooth, slechts drie van de technologieën die verderbouwen op haar patent. Dus ook de router in onze boekenkast.

Is het moeilijk om zelf zo’n Raspberry Pi router te fiksen?

Als je een Raspberry Pi en een werkende WiFi-dongle hebt, is het niet zo heel moeilijk. Je vindt heel wat tutorials en wikis op het internet die je op weg helpen. Het is vooral een beetje puzzelen tot je vindt wat jij nodig hebt.

Ik begon op de RPI-Wireless-Hotspotpagina op elinux.org. Op die wiki kan je onder andere vinden welke randapparatuur je allemaal kan gebruiken in combinatie met je Raspberry Pi. Het is ook de tutorial die je vindt als je op raspberrypi.org gaat zoeken, dus het leek me een goed vertrekpunt.

Ergens halverwege de tutorial liep ik echter vast en na vanalles en nog wat geprobeerd te hebben, besloot ik om Setting up a Raspberry Pi as a WiFi access point van adafruit te gebruiken. Die is heel duidelijk en begeleid je stap voor stap, maar had in mijn geval één nadeel: adafruit gebruikt een WiFi-dongle die ze zelf verkopen en ik een Belkin N300 Micro (omdat dat de enige was die ik in de Mediamarkt kon vinden van de verified peripheralslijst op elinux.org) en die zijn gebaseerd op een andere chip en hebben dus verschillende drivers.

Daar liep ik dus ook even op vast. Om je Access Point te configureren moet je namelijk ook ergens in een bestand (hostapd.conf) de naam van de driver opgeven en die kon ik niet goed vinden. Of beter gezegd,  welke naam ik ook probeerde, niets werkte. Tot ik ergens in een forumpost las dat iemand die regel code gewoon had weggelaten en jawel: Hedy Lamarr kwam tot leven!

Ons Hedy discreet in de boekenkast.

Ons Hedy discreet in de boekenkast.

We hebben Hedy in de boekenkast gezet, redelijk discreet tussen de kook- en de buitenboeken. Dat blauwe lichtje staat te pinken op de WiFi-dongle en die rode schijn achterin is de Raspberry Pi. Voor de duidelijkheid een foto zonder boeken, maar met flits:

Hedy Lamarr naakt in de kast

Hedy Lamarr naakt in de kast

Sinds kort hebben we dus terug draadloos internet thuis, maar voor mij is het projectje nog niet afgerond. Aangezien onze router geen bak is met firmware waar je moeilijk aan (uit) kan, maar een gewone (kleine) computer, kan je er eigenlijk alles mee doen wat je wilt. Daarenboven heeft de Raspberry Pi een hoop GPIO-pins zodat je er makkelijk sensoren en knoppen aan kan koppelen. (zie ook Psst… Ik heb een webserver onder mijn zetel en hij knippert.)

Bijvoorbeeld een PIR-sensor. Dat is zo’n sensor die je tuinverlichting doet aanspringen. Ik wil die gebruiken om ons draadloos netwerk automatisch aan te zetten als er beweging is in huis en uit te zetten als er niemand thuis is of we aan het slapen zijn. Wij hebben niet zo’n reuzegroot appartement en geheel toevallig staat Hedy Lamarr op het centrale kruispunt in ons appartement en aan de voordeur, de ideale locatie voor zo’n sensor.

Links de PIR-sensor en daarnaast mijn Raspberry Pi met Protoplate en nog wat (grote) knoppen

Links de PIR-sensor en daarnaast mijn Raspberry Pi met Protoplate en nog wat (grote) knoppen

Dan heb ik ook nog wat knoppen die ik wil gebruiken om ons Hedy manueel uit te zetten of te resetten. Je kan natuurlijk ook gewoon de stroom uittrekken, maar als het kan, verkies ik toch sudo shutdown -h now (en het is gewoon leuk om overal grote knoppen in te steken).

Het is ook de eerste stap voor het BlueFi-project (waarmee ik mijn eerste Raspberry Pi gewonnen heb). De volgende stap (mijn 3G-dongle aan de praat krijgen op mijn Raspberry Pi) zal nog niet voor direct zijn (ook daar blijf ik vastlopen op drivers die ik niet aan de praat krijg), maar aangezien Lotte een weekend aan het begeleiden is met Koning Kevin heb ik dit weekend het rijk alleen en ga ik in ieder geval proberen om die bewegingssensor aan de praat te krijgen en dat hier ook online te posten. Als dat al lukt tussen de was en de plas zal ik al heel blij zijn.

Als je tot hier gelezen hebt, krijg je van mij nog een toemaatje: de Amerikaanse TV-zender CBS maakte een korte reportage getiteld Hedy Lamarr: Inventor of WiFi met daarin een overzicht over het leven van Hedy Lamarr en haar uitvinding en ook een paar beelden uit Ekstase. Nothing too offensive, maar toch lichtjes NSFW.

En als je nog een idee hebt voor een knop, lampje, sensor of andere functionaliteit om te integreren in Hedy Lamarr, laat het dan maar weten.

Wat is geohashing?

Nog een postje in de categorie “Geek my nerd”/”terwijl Lotte op Krinkel zat”: geohashing.

UPDATE: Deze blogpost schreef ik voor ik gisteravond mijn enkel brak en gaat over een motorritje van eind augustus, niet dat van gisteravond.

Geocaching is ondertussen een redelijk bekende term (als het je niets zegt, kan je mijn blogpost over de Geocaching Leap Day even lezen), maar geohashing gaat toch nog een paar stappen verder.

De oorsprong is een cartoon van XKCD:

Dit is het idee: op basis van de datum en de openingswaarde van de Dow Jones van die dag (die kan je niet op voorhand weten dus kan je ook moeilijk beginnen vooruitlopen) wordt een MD5-hash gegenereerd. Dat is een soort van cryptografische omzetting, die bijvoorbeeld gebruikt wordt om te controleren of een groot bestand dat je gedownload hebt, geen downloadfouten bevat. Met andere woorden: de datum wordt omgezet in een code. Continue reading

Psst… Ik heb een webserver onder mijn zetel en hij knippert.

Of beter gezegd: er zit een Raspberry Pi onder mijn zetel, ik heb hem geconfigureerd als webserver en hij kan ook knipperen. (want ik kan hem nog niet laten knipperen via een webpagina)

Onlangs weer iets teveel gerief besteld bij Adafruit (je bestelt altijd teveel, maar het moet ook de moeite waard zijn om het op te sturen nietwaar). Onder andere een Makey Makey, dat had je misschien al gelezen, maar ook een proto pi plate en een tweede Raspberry Pi (de eerste heb ik gewonnen met deze blogpost en de tweede was een cadeautje van Adafruit).

Wat is een Raspberry Pi? Een volledige computer in bankkaartformaat, ideaal om mee te leren of te spelen. Omdat een Raspberry Pi goedkoop is (35 euro) en omdat hij een aantal Interface pins heeft: je kan er knoppen, LEDs en sensoren aanhangen (wat iets ingewikkelder is met een gewone computer.

een Raspberry Pi (computer ter grootte van een bankkaart)

Omdat kabels vastmaken aan die pinnetjes daar bovenaan niet erg handig is, heb ik een prototyping pi plate besteld. Een prototyping-bord dat ik bovenop een Raspberry Pi kan bevestigen en dat het mogelijk maakt om iets makkelijker en sneller dingen zoals sensoren en lampjes te bevestigen.

Ik wil die Pi namelijk gebruiken als testbank om mee te leren en te experimenteren. Ondertussen heb ik al wat geëxperimenteerd: ik heb er m’n eerste webserver via SSH op geïnstalleerd en er een lampje mee doen knipperen. Continue reading

Makey Makey!

De laatste tijd heb ik nogal zwaar “mijn nerd gegeekt”, maar ik sta nog wat achter in mijn blogposts. Hoog tijd om daar terug in te vliegen.

Er zijn een aantal redenen voor al dat gegeek, maar de voornaamste was toch eigenlijk dat Lotte een dikke week op Krinkel zat als één van de hoofdredacteurs van de Klinker. Ik vond dat een goede aanleiding om nog snel een pakketje met “gerief” te bestellen bij Adafruit en om wat te oefenen met mijn moto (en ook daar vond ik een geeky uitdaging voor). Maar goed, als je een hoop gerief bestelt, moet je daar ook iets mee doen: testen en spelen bijvoorbeeld. Het eerste wat ik bovenhaalde uit mijn postpakket was een Makey Makey.

Wat is een Makey Makey?

Vraag je je nu waarschijnlijk af. Simpel gesteld is het een klein plaatje dat er een beetje uitziet als een ‘bakske’ van een oude spelcomputer en dat je heel eenvoudig kan aansluiten op je computer om er dingen mee te besturen zoals computerspelletjes, soundboards, … door een elektrisch circuit te openen en te sluiten.

Makey Makey Continue reading

Nog 36 uur te gaan, maar nog veel belastingbrieven in te vullen zo te zien.

Op 7 juli 2011 vulde ik mijn belastingbrief online in op mijn toenmalige macbook en dat ging niet van een leien dakje. Ik schreef er een blogpost over omdat de helpdesk me wel vriendelijke had geholpen, maar het toch  nogal ingewikkeld in elkaar zat allemaal.

Die pagina is ondertussen lichtelijk verouderd om het zacht uit te drukken, maar wordt nog steeds druk bezocht. Om niet te zeggen dat hij vanaf 14 april geen enkele dag niet bezocht werd en sinds 6 mei iedere dag minstens 10 keer per dag werd weergegeven. Je kan er redelijk goed op zien vanaf wanneer Belgen/mac-gebruikers proberen om in te loggen met hun eID en in de problemen komen. Zo was er duidelijk een piek in de laatst week van juni en zakte het daarna voor een weekje, de vakantieuittocht.

grafiekje

Continue reading