#Koekenbakker

Het zou handig zijn als zijn rookmelder kan twitteren, denkt Ernst Arbouw. Om dat voor elkaar te krijgen, moet hij in de slag met de Twitter-bureaucratie. En hij moet zichzelf leren werken met besturingssysteem Linux.

Rookmelder. Beeld afp
Rookmelder.Beeld afp

Als ik pannekoeken bak, gaat het rookalarm. Standaard. Nog voor de eerste pannekoek goed en wel op het vuur staat en nog voor er een zuchtje zichtbare rook in de keuken hangt, begint de melder te piepen. Hij piept alléén als ik pannekoeken bak - met uitzondering van die ene keer dat ik de theeketel heb drooggekookt. Negen van de tien keer veroorzaak ik m'n eigen brandmelding. Nu ik erover nadenk: zolang de boel niet in brand staat, ligt dat getal dichter bij de tien uit tien.

Wat nou als het alarm gaat terwijl ik niet thuis ben? Als niemand pannekoeken bakt of theeketels droogkookt en toch gaat de rookmelder, dan is er dus brand, maar niemand om de brandweer te bellen. Er zijn natuurlijk automatische brandmeldinstallaties die zelf de meldkamer bellen, maar die lijden ernstig aan het pannekoekenprobleem. Google maar eens 'vals brandalarm pannekoeken'.

Dat kan beter. Als de rookmelder me een mailtje of tweet zou sturen, kan ik zelf beslissen of ik de hulpdiensten waarschuw. Dat lijkt verrassend simpel uit te voeren. Het enige wat ik hoef te doen is:

1 Een rookmelder hacken.

2 De gehackte rookmelder aan een computer hangen.

3 Leren werken met Linux.

4 Een eigen Twitterprogramma schrijven.

O, joh, als dat alles is...

Vuistregel: elektrische apparaten kun je laten praten. Alles waar een luidspreker in zit, of een lampje of een chip, kan communiceren met de buitenwereld. In dit geval wil ik een rookmelder (led, pieper, chip) laten 'praten' met een Raspberry Pi, een piepkleine linuxcomputer die speciaal is ontworpen voor onderwijstoepassingen en knutselaars - een soort Arduino, maar dan met Linux. Op de Pi wil ik een programma draaien dat 'luistert' naar de brandmelder en een tweet stuurt zodra het alarm gaat.

Op het printplaatje van de rookmelder zit een chip die al het denkwerk verricht. Maar hoe precies? Om daar achter te komen, google ik het typenummer van de chip, in dit geval BL59S10. Het blijkt dat vrijwel alle optische rookmelders hetzelfde werken. Als het alarm gaat, komt er spanning te staan op de zevende pin van de chip.

Met een draadje aan pin 7 en een draadje aan de min-pool van de batterij sluit ik een transistor aan. Die transistor werkt in dit geval als een soort elektrisch bediende drukknop. Zodra er spanning op het middelste pootje staat, is de figuurlijke knop ingedrukt.

Benodigdheden

Optische rookmelder (euro 4,99)

NPN-transistor (bijv. BC 537) (euro0,10)

Weerstand 10k (euro0,05)

Raspberry Pi (euro35,00)

Aansluitdraad en kroonsteentjes

Er is één probleem. Om te kunnen twitteren met iets anders dan Twitter, moet je eerst door brandende bureaucratische hoepels springen. Twitter wil dat ik me aanmeld als ontwikkelaar en dat ik m'n app (hun woorden) registreer. In ruil daarvoor krijg ik vier verschillende sleutels en wachtwoorden, die allemaal nodig zijn om straks een tweet te kunnen versturen.

Opvallend genoeg controleert Twitter mijn aanmelding op geen enkele manier. Niemand die kijkt of ik een echte softwareontwikkelaar ben (nee dus) en niemand die kijkt of ik een app kan schrijven (eigenlijk ook niet).

De hardware is gehackt, de administratieve hordes zijn genomen, de rest is een softwareprobleem. Om de Raspberry Pi te laten praten met de rookmelder, moet ik twee zogeheten Python libraries installeren. Simpel gezegd: twee kant-en-klare stukjes programma die straks complexe taken uitvoeren zonder dat ik complex programmeerwerk hoef te doen.

Hoe installeer ik software onder Linux? Dat blijkt gelukkig simpeler dan ik dacht. Met een paar korte commando's haalt het besturingssysteem de benodigde software van internet en wordt in één moeite door de installatie uitgevoerd.

Op het web vind ik twee stukjes Pythoncode die samen de basis vormen van m'n twitterprogramma. Het eerste stukje code is een standaardvoorbeeld: sluit een drukknop aan op de Pi, druk op de knop en er verschijnt een tekst ('Er is op de knop gedrukt') in beeld. Het tweede stuk code is een voorbeeld van het versturen van een tweet. Omdat de rookmelder-met-transistor eigenlijk een drukknop is (zie boven), hoef ik alleen nog de ene code in de andere te schuiven. 'Als er op de knop wordt gedrukt, stuur dan een bericht...'

Even testen en ja hoor: in m'n tijdlijn verschijnt een rookmeldertweet. Vijf minuten solderen, een half uur stoeien met een (voor mij) nieuw besturingssysteem, 24 regels gejat programmeerwerk en een paar bureaucratische hordes en de rookmelder kan twitteren.

De Pythoncode, een uitleg over de registratie bij Twitter en de stap-voor-stap-installatie van de libraries staat op ernstarbouw.nl/rookmelder.zip

null Beeld Bier en Brood
Beeld Bier en Brood
null Beeld Bier en Brood
Beeld Bier en Brood
Meer over