Om luchtkwaliteit te kunnen meten is alleen een sensor niet voldoende. Er is ook apparatuur (hardware) nodig om de meting te registreren, op te slaan en mogelijk te versturen via het internet. Momenteel zijn twee soorten microcomputers erg populair: de Arduino en de Raspberry Pi.  Veel van de recent ontwikkelde sensoren en meetapparaten kan op één van deze twee microcomputers worden aangesloten. 

Voor zowel de  Arduino als de Raspberry Pi zijn verschillende kits te koop die het relatief eenvoudig maken om gassensoren aan te sluiten en uit te lezen. In veel gevallen is wel soldeerwerk nodig, vaak om de verbindingspennen te monteren. Dit dient zorgvuldig te gebeuren anders kunnen er problemen optreden.

Op deze pagina worden de Arduino en de Raspberry Pi beschreven, alsmede specifieke informatie over digitale communicatie en data-opslag. 

Arduino

Arduino

De Arduino is een opensource-computerplatform, waarbij vrijwel de gehele besturingssoftware voor alle gebruikers toegankelijk is. Programmeren van een Arduino wordt gedaan door op een gewone computer een programma ('Sketch') te ontwikkelen en dit vervolgens te uploaden naar de Arduino. De taal waarin programma's voor de Arduino woden geschreven lijkt sterk op de programmeertaal C/C++. Zodra de Arduino wordt aangezet start deze met het laatst ingeladen programma.

arduino

Verschillende leveranciers leveren pakketjes waarbij soft- en hardware is gecombineerd. Via leverancier Grove [link] is een aparte module ('shield') beschibkaar waarmee tot 22 losse sensoren of meetapparaten op de Arduino kunnen worden aangesloten.

Eenmaal geprogrammeerd heeft de Arduino weinig onderhoud nodig om verschillende apparaten aan te sturen. De Arduino heeft geen opslagcapaciteit. Het opslaan van data is alleen mogelijk via een aparte datalogger. De data kan worden overgezet via een SD-kaart of een WiFi-link. Analyses uitvoeren op de Arduino wordt niet aangeraden.

Voor meer informatie over aansluiting en gebruik van de Arduino zie:

startpagina van Arduino

https://learn.sparkfun.com/tutorials/arduino-shields

http://shieldlist.org/

https://www.seeedstudio.com/Base-Shield-V2-p-1378.html

Raspberry Pi

Raspberry Pi

De Raspberry Pi is hoofdzakelijk bedoeld voor educatieve doeleinden. De microcomputer is gebaseerd op ARM-processoren. De hardware van de Raspberry Pi maakt het mogelijk om verschillende soorten besturingssytemen te gebruiken. Deze worden via een micro-SD kaart op de computer aangesloten. Veel van de beschikbare besturingssytemen zijn gebaseerd op varianten van LINUX, maar ook Chrome OS, RISC OS en Windows 3.1 zijn beschikbaar. De Raspberry Pi is dus een echte computer, in tegenstelling tot de Arduino die meer een controller is.

raspberrypi.png

Voor de Raspberry Pi is ook veel soft- en hardware beschikbaar, zo kan er een speciale versie van het operating systeem worden geinstalleerd die als aansturing voor een weerstation kan dienen. De Raspberry kans als server voor het internet dienen, als mediabox of als synthesizer. De Raspberry biedt ook de mogelijkheid om met behulp van zogenaamde "shields" randapparatuur aan te sluiten. Zo kan een Arduino worden aangesloten om data-acquisitie te doen en aan de Raspberry door te geven, kunnen Bluetooth, LoRa, 4G/3G/GPRS, RS-232 bordjes direct op de Raspberry worden aangesloten. De firma Groove levert shields om hun sensoren direct met de Raspberry te verbinden. 

Verzamelde  data kan simpel op de disk van het besturingssysteem worden opgeslagen en aldaar worden geanalyseerd. De gebruiker heeft bij de Raspberry Pi ook veel controle over de aangesloten apparatuur. Een nadeel hiervan is dat men relatief complexe software moet aanpassen en onderhouden.

Voor meer informatie over aansluiting en gebruik van de Raspberry Pi zie:

forum van de Raspberry Pi,

http://airpi.es/

http://www.dexterindustries.com/grovepi/

https://www.cooking-hacks.com/shop/raspberry-pi/shields

https://www.sparkfun.com/categories/233

https://www.raspberrypi.org/magpi/liv-pi-review/

ESP8266

ESP8266

De ESP8266 is een goedkope maar krachtige WiFi module die zowel een eigen netwerk kan opzetten als gebruik kan maken van andere WiFi netwerken. De ESP bevat een 32-bit RISC CPU, Tensilica Xtensa LX106, draaiend op een snelheid van 80-160 MHz en heeft tot 4 MB flash geheugen. De chip heeft 16 "General Purpose" IO-pins die op dezelfde manier kunnen worden gebruikt als de IO-pins van een Arduino. Er is slechts een analoge ingang maar SPI en I2C worden wel geheel ondersteund. Een van de belangrijkste nadelen van de ESP is het relatief hoge energiegebruik. Verder werkt de chip op 3.3 Volt, in tegenstelling tot de Arduino die op 5 Volt werkt. Slechts enkele van de IO-pins van de ESP zijn bestand tegen 5 Volt, een level-shifter is dan ook vaak noodzakelijk. 

Verschillende leveranciers leveren de chip voorzien van extra functionaliteit, zoals een gestabiliseerde voeding, aansluiting voor een accu, en een ingebouwde USB naar serieel interface. Voor de software leveren verschillende leveranciers meerdere oplossingen. Tegenwoordig kunnen ESP's via de gebruikersschil voor Arduino's worden geprogrammeerd. Hierbij zijn verschillende krachtige bibliotheken beschikbaar. 

Een voorbeeld van een iets uitgebreide ESP8266 is de "Adafruit Feather HUZZAH ESP8266".

Miniatuurvoorbeeld

 

De ESP8266 (van Adafruit) wordt door het RIVMRijksinstituut voor Volksgezondheid en Milieu voor verschillende toepassingen gebruikt, zowel om sensoren aan te sturen als om data door te geven aan servers op het Internet. De mogelijkheid van de ESP om zelf een eigen WiFi netwerk op te zetten geeft de mogelijkheid om via dat netwerk direct met de chip te communiceren.

Links

http://www.esp8266.com/

https://www.sparkfun.com/products/13678

https://www.adafruit.com/product/2821

Communicatie en dataopslag

Communicatie en dataopslag

De snelste manier om meetgegevens te delen is door deze, voorzien van meta-data (informatie over de aard van de data), op het internet te zetten. Meetapparatuur kan via WiFi of Bluetooth met het internet worden verbonden of meetgegevens kunnen uit logbestanden in databases worden ingevoerd. Voorbeelden van gratis dataservers zijn data.sparkfun.com en dweet.io. Allerlei soorten apparaten kunnen simpel contact maken met deze servers en daar data opslaan. Er is vaak wel een grens aan de hoeveelheid informatie die kan worden opgestuurd, zowel in snelheid als in volume. In de praktijk gaat het bij Internet of Things echter zelden om grote hoeveelheden per apparaat. Wanneer de data eenmaal op het internet staat kan deze met andere sites, zoals freeboard.io of analog.io, worden gevisualiseerd.

Een simpele manier om sensoren te laten communiceren is via de servers van Sparkfun, zie https://data.sparkfun.com/. Op deze website kan een datastroom worden gedefinieerd waarna vervolgens data kan worden ge-upload. Er kan 50MB worden opgeslagen voordat de data wordt overschreven. Er zijn voor veel soorten hardware voorbeeldprogramma's beschikbaar die de communicatie laten zien. Voor elke datastroom kan worden opgegeven of die publiek toegankelijk is. Zo ja kan iedereen die de link kent de data inzien, downloaden en plaatjes maken. Alleen degene die de stroom heeft aangemaakt kan deze veranderen of verwijderen. Sparkfun geeft zelf als informatie o.a.

"We want to bring a dose of reality to the Internet of Things hype. data.sparkfun.com is a free, robust service for use with all of your projects. The underlying engine is open source so if you don't want to use our servers you can install phant on the server of your choice. There are limits, but we wanted to give our users a good, free place to store data and give data scientists more fun things to analyze. Our hope is that you buy a SparkFun widget to connect your next beehive.

How do I use it?
We thought data storage should be as easy as string concatenation. First, create a stream and you'll receive a public url and a private key. Then, using the hardware of your choice (Ethernet shield, RasPi, BBB, Electric Imp, WiFly) simply create a string with the data you want to post. "

Miniatuurvoorbeeld

 

Tegenwoordig wordt vaak MQTT (Message Queuing Telemetry Transport) gebruikt. Wikipedia geeft als beschrijving “It is designed for connections with remote locations where a "small code footprint" is required or the network bandwidth is limited. The publish-subscribe messaging pattern requires a message broker. The broker is responsible for distributing messages to interested clients based on the topic of a message.”. Zie https://en.wikipedia.org/wiki/MQTT voor meer informatie. 

Een meer professionele en zwaardere aanpak wordt door Geonovum ontwikkeld in het SOSPilot platform (zie sensors.geonovum.nl). Op deze website worden de resultaten van het Landelijk Meetnet Luchtkwaliteit van het RIVMRijksinstituut voor Volksgezondheid en Milieu volgens de INSPIRE en Eionet standaarden gepubliceerd.

ADC

ADC

De Arduino en ESP bevatten ingangen om analoge signalen te meten door ze om te zetten naar digitale signalen, een zogenaamde Analog Digital Converter (ADC). De kleinste stapjes die worden gemeten zijn in de orde van enkele duizendsten van een Volt. Voor veel toepassingen volstaat dat, maar voor apparaten als de Alphasense NO2 is de gevoeligheid te klein. In dat geval kan een externe ADC worden gebruikt die kleinere verschillen in voltages kan meten.

Miniatuurvoorbeeld

Een van de veel gebruikte ADC's is die van de firma Adafruit, de ADS1115. Op de link https://www.adafruit.com/product/1085 kan meer gedetailleerde informatie worden gevonden.