ID.nl logo
In 18 stappen een Raspberry Pi 2 als weerstation
© Reshift Digital
Zekerheid & gemak

In 18 stappen een Raspberry Pi 2 als weerstation

Door een Raspberry Pi 2 uit te rusten met sensoren en hem in een weerbestendige behuizing te plaatsen, kun je al voor enkele tientjes een weerstation bouwen. In dit artikel laten we je zien hoe je je eigen weerstation maakt, programmeert en de gegevens verwerkt.

01 Benodigdheden

Voor ons weerstation hebben we een AM2302-temperatuur- en vochtsensor nodig, evenals een BMP180-luchtdruksensor. Daarnaast enkele m/f jumperwires en een breadboard. De sensoren sluiten we via het breadboard aan op de GPIO-pinnen van de Raspberry Pi 2, die de waardes uitleest en ze naar de weerdienst Weather Underground uploadt. Voor die internetverbinding gebruiken we een TP-LINK TL-WN823N WiFi-adapter. Het geheel steken we in een weerbestendige behuizing, zodat ons persoonlijke weerstation buiten kan staan. Alle benodigdheden zijn bij Kiwi Electronics te koop.

©PXimport

02 Raspbian installeren

We gaan ervan uit dat je in de basiscursus over de Raspberry Pi 2 het besturingssysteem Raspbian met de hulp van NOOBS hebt geïnstalleerd. Heb je een ander besturingssysteem met NOOBS geïnstalleerd, zoals OpenELEC, dan is dat eenvoudig terug te draaien. Steek de voeding van je Raspberry Pi in een stopcontact en houd onmiddellijk de Shift-toets ingedrukt om het installatieprogramma opnieuw te openen. Staat er nog helemaal geen besturingssysteem op de microSD-kaart van je Pi, installeer dan NOOBS en start je Pi ervan op.

©PXimport

03 I2C kernelondersteuning

De BMP180-sensor maakt gebruik van het I2C-protocol (Inter-Integrated Circuit) voor communicatie met de Pi. Ondersteuning daarvoor moeten we eerst in de kernel inschakelen. Log in Raspbian in met gebruikersnaam pi en wachtwoord raspberry en voer dan de opdracht sudo raspi-config uit. Navigeer naar Advanced options en druk op Enter, en doe daarna hetzelfde met I2C. Op de vraag of je de I2C-interface wilt inschakelen, ga je met de pijltjestoets naar Ja en druk je op Enter. Bevestig dat je de kernelmodule automatisch wilt laden. Druk daarna in het hoofdmenu van raspi-config op Finish en zeg dat je de Pi nog niet wilt rebooten.

©PXimport

04 I2C testen

We moeten nog één kernelmodule automatisch laten inladen. Voer sudo nano /etc/modules uit en voer een regel met i2c-dev toe. Sluit het bestand en sla het op via Ctrl+X, toets J en druk op Enter. Herstart je Pi met sudo reboot. Daarna testen we of de I2C-ondersteuning werkt. Installeer daarvoor eerst enkele tools met sudo apt-get install i2c-tools. Voer daarna de opdracht sudo i2cdetect -y 1 uit om te controleren welke aangesloten apparaten je Raspberry Pi op de I2C-bus herkent. Voorlopig zijn er dat nog geen, maar het is een handige manier om te testen of de I2C-ondersteuning werkt. De opdracht mag geen foutmelding tonen.

©PXimport

05 Breadboard aansluiten

Omdat we in deze workshop meerdere sensoren gaan aansluiten op dezelfde GPIO-pinnen, gebruiken we een breadboard. We gaan nu met m/f jumperwires de drie eerste GPIO-pinnen van links van de Pi op de onderste rij, met gaatjes in het breadboard verbinden, en hetzelfde voor de derde pin van links op de bovenste rij. Noem de pinnen achtereenvolgens 3V3, SDA, SCL en GND. Bekijk de Raspberry Pinout online. Steek 3V3 in het bovenste gaatje in de linkerkolom +, GND in het bovenste gaatje in de linkerkolom -, SDA in 1a en SCL in 3a.

©PXimport

06 BMP180 aansluiten

De BMP180-sensor komt met een pinheader met zes pinnetjes. Snijd één pinnetje eraf en plaats de pinheader met vijf pinnetjes in de gaatjes van het sensorbordje (je moet ze vastsolderen, maar je kunt de pinnetjes voorlopig op de juiste plaats houden met isolatietape), met de grootste kant van de pinnetjes bovenaan. Sluit nu vier van de pinnetjes met m/f jumperwires op de juiste gaatjes in het breadboard aan. VIN op het sensorbordje steek je in de linkerkolom +, GND in de linkerkolom -, SDA in 1c en SCL in 3c. De gaatjes a tot en met e in dezelfde rij zijn immers verbonden, evenals alle gaatjes in de kolommen + en -.

©PXimport

07 Python-library installeren

Als je alles correct hebt aangesloten en je nu weer sudo i2cdetect -y 1 uitvoert, krijg je in de uitvoer van het programma het getal 77 te zien. Nu moeten we nog de software installeren om de sensor uit te lezen. Installeer eerst enkele benodigdheden met sudo apt-get install git build-essential python-dev python-smbus. Daarna downloaden we de Python-library van Adafruit, de maker van het sensorbordje, met git clone https://github.com/adafruit/Adafruit_Python_BMP.git. Installeren doen we met cd Adafruit_Python_BMP en sudo python setup.py install.

©PXimport

08 BMP180 testen

De Python-library komt met twee voorbeeldprogramma's in de directory examples. We proberen er eentje van uit om te testen of de sensor werkt. Ga naar de juiste directory met cd examples en voer het testprogramma uit met sudo python simpletest.py. Je krijgt nu de temperatuur, luchtdruk, hoogte en luchtdruk op zeeniveau te zien. Het andere voorbeeldprogramma logt de waardes van je sensor periodiek in Google Docs. Wil je dit proberen, bekijk de code dan met nano google_spreadsheet.py en vul je accountgegevens in. Dit laten we als oefening voor de lezer.

©PXimport

09 AM2302 aansluiten

De volgende sensor die we aansluiten is de AM2302 die de temperatuur en luchtvochtigheid meet. Eerst sluiten we het vierde pinnetje op de onderste rij GPIO-pinnen van links (op de Raspberry Pinout website GPCLK0 genoemd) op 5a op het breadboard aan met een m/f jumperwire. Steek de gele draad van de AM2302 nu in 5c, de rode draad in de linkerkolom + en de zwarte draad in de linkerkolom -.

©PXimport

10 Python-library installeren

Nu moeten we nog de juiste software installeren om de AM2302 uit te lezen. Ga terug naar je home-directory met cd en download daarna de Python-library met git clone https://github.com/adafruit/Adafruit_Python_DHT.git. Installeer de library met cd Adafruit_Python_DHT en sudo python setup.py install. De sensor testen gaat eenvoudig met cd examples en dan sudo ./AdafruitDHT.py 2302 4. Als alles goed gaat, krijg je nu de temperatuur en luchtvochtigheid te zien. Soms krijg je overigens geen waardes te zien. Probeer het dan opnieuw, want Raspbian kan de sensor niet altijd betrouwbaar uitlezen.

©PXimport

11 Wifi

Verzeker je ervan dat je een usb-wifi-adapter hebt die compatibel is met Raspbian. Koop je de adapter in een gespecialiseerde Pi-shop, dan zit je meestal goed. Wij hebben de TP-LINK TL-WN823N 300 Mbps draadloze mini-adapter gekozen omdat hij zo klein is. Sluit de adapter via usb aan en geef dan de opdracht iwconfig in. Zie je in de uitvoer informatie over je adapter staan, bijvoorbeeld achter de naam wlan0, dan wordt je adapter door Raspbian herkend.

©PXimport

12 Netwerkconfiguratie

Open met sudo nano /etc/network/interfaces het configuratiebestand voor je netwerkinterfaces. Vervang de regel iface wlan0 inet manual door iface wlan0 inet dhcp en wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf door wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf. Sla het bestand op en sluit het af door weer de toetscombinatie Ctrl+X te gebruiken, kies J en een druk op Enter. Start daarna sudo wpa_cli op om opdrachten te geven aan het programma wpa_supplicant voor de configuratie van je wifi-netwerk.

©PXimport

13 Wifi instellen

Scan de beschikbare wifi-netwerken met scan en toon de resultaten met scan_results. Creëer een netwerk met add_network. Je krijgt als uitvoer 0, het volgnummer van het nieuwe netwerk. Stel dan het SSID in van het netwerk waarmee je wil verbinden: set_network 0 ssid "mijnssid". Geef ook je wachtwoord in met set_network 0 psk "mijnwachtwoord". Schakel het netwerk in met enable_network 0 en sla de configuratie op met save_config. Verlaat het programma met exit en herstart je Pi met reboot. Hierna heeft je Pi draadloos toegang tot internet en kun je de ethernetkabel verwijderen.

©PXimport

14 Registreren op Weather Underground

Als je sensoren werken, gaan we ons eigen weerstation als Personal Weather Station opnemen in het netwerk van Weather Underground, zodat anderen onze metingen via internet kunnen opvragen. Creëer een account door je e-mailadres in te geven en een gebruikersnaam en wachtwoord te kiezen. Klik op de link in de bevestigingsmail. Registreer daarna een nieuw Personal Weather Station. Geef je locatie in, vul in hoeveel meter je Pi zich boven de grond bevindt (in feet) en klik op Verify Location. Vul in het volgende venster nog enkele gegevens in en klik op Submit, waarna je je Station ID krijgt.

©PXimport

15 Waardes uitlezen

Nu moeten we een scriptje schrijven om de juiste waardes uit te lezen. Voor de temperatuur gebruiken we de waardes van de BMP180 omdat die accurater zijn. Open een nieuw bestand met cd en nano lees_waardes.py en geef de code in die je op http://ct.link.ctw.nl/piweer2 vindt. Gebruik bij regels die inspringen een tab en geen spaties en voer je eigen id en wachtwoord in. Sla het bestand op met Ctrl+O en sluit het met Ctrl+X. Daarna zorgen we dat deze code elke vijf minuten uitgevoerd wordt. Typ daarvoor sudo crontab -e in en voeg onderaan de regel */5 * * * * python /home/pi/lees_waardes.py toe. Sla weer op en sluit af.

©PXimport

16 Python-scriptje

In ons script importeren we eerst enkele library's die we nodig hebben, waaronder de twee van Adafruit voor onze sensoren. Daarna lezen we de temperatuur en luchtdruk van de BMP180 in. De temperatuur rekenen we om naar Fahrenheit en de luchtdruk naar inches kwik omdat Weather Underground die eenheden verwacht. Tot slot lezen we ook de luchtvochtigheid van de AM2302 in. Daarna creëren we de url om de gegevens te uploaden. Vul hier je ID en wachtwoord in. Daarna bezoeken we die url met het programma curl en kijken of het uploaden gelukt is.

©PXimport

17 Kaartje

Als je nu op de kaart van Weather Underground naar je persoonlijke weerstation zoekt, krijg je de temperatuur, luchtvochtigheid en luchtdruk te zien. Je draagt nu bij aan het netwerk van Weather Underground door de weerparameters te uploaden zodat iedereen het weer bij je in de buurt kan opzoeken. Weather Underground houdt grafiekjes, minima, maxima en gemiddeldes bij, dus die kan iedereen ook opvragen.

©PXimport

18 Afwerken

Tot slot is het tijd om je weerstation af te werken. Soldeer de pinheader aan de BMP180 als je dat nog niet gedaan had, want anders kan de sensor weleens ophouden met werken. Plaats je Pi en het breadboard met de sensoren in een weerbestendige behuizing en zet die op een plaats in de schaduw, zodat de gemeten waardes correct zijn. Laat een stroomkabel door een van de gaatjes van de behuizing gaan om de Pi van stroom te voorzien.

©PXimport

▼ Volgende artikel
Waar voor je geld: vijf tablets met 11-inch scherm of groter
© ID.nl
Huis

Waar voor je geld: vijf tablets met 11-inch scherm of groter

Bij ID.nl zijn we gek op producten met een mooie prijs of die iets bijzonders te bieden hebben. Daarom gaan we een paar keer per week op zoek naar zulke deals. Een tablet is ideaal om op de bank of in bed een film of serie te kijken, juist vanwege het goede scherm en de lange accuduur. Wij vonden vijf grote tablets voor je met een 11-inch scherm en groter.

Met een tablet kun je tegenwoordig eigenlijk net zoveel doen als op een laptop, behalve dan misschien veel en snel typen, alhoewel je daar ook wel losse toetsenbordjes voor hebt. Maar voor het kijken van films of series is zo'n tablet ook uitstekend te gebruiken. Wij vonden vijf grote modellen voor je met minstens een 11-inch scherm en 256GB opslag, die in veel gevallen ook nog eens is uit te breiden met een extra opslagkaartje.

Honor Pad X9

Bij de Honor Pad X9 is de aandrijving in handen van een Qualcomm Snapdragon 6 Gen 1 chipset. Deze processor zorgt er in combinatie met 8 GB aan werkgeheugen voor dat je soepel kunt werken en van entertainment kunt genieten. Het scherm is 12,1 inch groot, geschikt voor allerlei taken dus. De resolutie van het display is 2000 bij 1200 pixels. Een uniek kenmerk van deze tablet is het audiosysteem met maar liefst zes luidsprekers, wat een ruimtelijk geluid kan produceren. De interne opslagruimte is 128 GB, wat je niet verder kunt uitbreiden. De batterij heeft een capaciteit van 7250 mAh.

Specificaties

Schermgrootte: 11,5 inch
Werkgeheugen: 4 GB
Opslaggeheugen: 128 GB (niet uitbreidbaar)
Gewicht: 495 gram

Xiaomi Pad 6

Als een iets compacter scherm geen bezwaar is, kun je de Xiaomi Pad 6 overwegen. Deze tablet heeft een 11-inch display, maar onderscheidt zich met een krachtige Qualcomm Snapdragon 870-processor. Deze chipset was oorspronkelijk bedoeld voor duurdere apparaten en biedt daardoor veel rekenkracht voor zwaardere taken en games. Een ander sterk punt van het scherm is de zeer hoge verversingssnelheid van 144 Hz, wat zorgt voor uitzonderlijk vloeiende animaties. De resolutie is 2880 bij 1800 pixels. Je krijgt de beschikking over 256 GB opslag en 8 GB aan werkgeheugen. De stroom wordt geleverd door een 8840 mAh accu. Verder beschikt de tablet over vier luidsprekers met Dolby Atmos-ondersteuning en draait het op MIUI 14, een software-omgeving die is gebouwd op Android 13.

Specificaties

Schermgrootte: 11 inch
Werkgeheugen: 8 GB
Opslaggeheugen: 256 GB (niet uitbreidbaar)
Gewicht: 490 gram

TCL NXTPAPER 11

TCL is bij de meesten vooral bekend vanwege hun televisies, maar ze maken ook al enige tijd tablets. Deze tablet heeft het speciale NXTPAPER 2.0-scherm. Dit 11,0-inch IPS-display met een 2000 x 1200 resolutie is ontworpen om licht te verspreiden en reflecties tegen te gaan, waardoor het meer op papier lijkt en rustiger is voor de ogen, vooral bij langdurig lezen. Binnenin wordt de tablet aangestuurd door een 8-core MediaTek-processor, gecombineerd met 4 GB aan werkgeheugen. Dit zorgt voor voldoende snelheid voor alledaagse taken en multitasking. Je hebt 128 GB aan opslagruimte tot je beschikking, die je verder kunt uitbreiden met een microSD-kaartje tot 1 TB. De tablet is uitgerust met vier luidsprekers voor een stereo geluidsbeeld en de accu heeft een capaciteit van 8000 mAh.

Specificaties

Schermgrootte: 11 inch
Werkgeheugen: 4 GB
Opslaggeheugen: 128 GB (uitbreidbaar tot 1 TB)
Gewicht: 462 gram

ssss

Samsung Galaxy Tab A9+

Wanneer je kijkt naar een alternatief dat zich meer richt op een combinatie van software-ervaring en betrouwbare hardware, is de Samsung Galaxy Tab A9+ een interessante kandidaat. Deze tablet beschikt over een 11-inch TFT LCD-scherm met een resolutie van 1920 bij 1200 pixels. De verversingssnelheid van 90 Hz zorgt voor een vloeiende weergave van bewegende beelden. Onder de motorkap zit de Qualcomm Snapdragon 695-processor, die wordt bijgestaan door 8 GB aan werkgeheugen. De interne opslagcapaciteit van 128 GB is, net als bij de andere modellen, uitbreidbaar met een microSD-kaart tot maximaal 1 TB. Voor de audio heeft Samsung de tablet voorzien van vier luidsprekers en ondersteuning voor Dolby Atmos. De stroomvoorziening wordt verzorgd door een 7.040 mAh accu. De tablet draait op Android 13 met Samsung's eigen One UI-interface, die bekend staat om zijn extra functies zoals DeX, waarmee je een desktop-achtige omgeving op je tablet kunt gebruiken.

Specificaties

Schermgrootte: 11 inch
Werkgeheugen: 8 GB
Opslaggeheugen: 128 GB (uitbreidbaar tot 1 TB)
Gewicht: 480 gram

Lenovo Tab P12

De Lenovo Tab P12 valt direct op door zijn forse beeldscherm van 12,7 inch. Dit scherm heeft een LTPS-techniek en een 3K-resolutie van 2944 bij 1840 pixels, wat zorgt voor een gedetailleerde weergave. Binnenin de tablet vind je de MediaTek Dimensity 7050, een processor met acht kernen die wordt ondersteund door 8 GB aan werkgeheugen. De opslagcapaciteit bedraagt 256 GB, ruim voldoende voor een grote verzameling apps en media, en mocht je toch meer nodig hebben, dan kun je een microSD-kaartje toevoegen. Voor de geluidsweergave zijn er vier speakers van JBL aanwezig, die overweg kunnen met Dolby Atmos. De energie wordt geleverd door een accu met een capaciteit van 10.200 mAh. Een handige extra is de meegeleverde Lenovo Tab Pen Plus, waarmee je direct op het scherm kunt schrijven of tekenen. De tablet draait op het Android 13 besturingssysteem.

Specifcaties

Schermgrootte: 12,7 inch
Werkgeheugen: 8 GB
Opslaggeheugen: 256 GB (uitbreidbaar tot 1 TB)
Gewicht: 615 gram

▼ Volgende artikel
TP-Link demonstreert eerste werkende wifi 8-verbinding
© Vladimir - stock.adobe.com
Huis

TP-Link demonstreert eerste werkende wifi 8-verbinding

TP-Link heeft met succes de eerste wifi 8-verbinding tot stand gebracht. Tijdens een test met een prototype-apparaat wist het bedrijf stabiele gegevensoverdracht te realiseren volgens de nieuwe 802.11bn-standaard. Daarmee is de haalbaarheid van wifi 8 officieel aangetoond, een belangrijke stap richting de volgende generatie draadloze netwerken.

Wifi 8, ook bekend als IEEE 802.11bn, richt zich niet op hogere pieksnelheden maar op betrouwbaarheid en stabiliteit. De nieuwe standaard is ontworpen om meer apparaten tegelijk te ondersteunen zonder dat de verbinding hapert, ook als je verder van de router zit of door het huis beweegt. Dat maakt de technologie interessant voor drukke huishoudens met veel slimme apparaten of voor toepassingen zoals videogesprekken, gaming en 8K-streaming.

Een van de belangrijkste verbeteringen is de manier waarop wifi 8 met signaalsterkte en kanaalgebruik omgaat. Met functies als Distributed Resource Units (DRU) en Enhanced Long Range (ELR) blijft de verbinding stabiel, zelfs aan de grenzen van het bereik. Unequal Modulation (UEQM) zorgt dat elk apparaat op zijn optimale snelheid werkt, waardoor één zwakke verbinding de rest niet meer vertraagt. Ook Dynamic Sub-band Operation (DSO) en Non-Primary Channel Access (NPCA) helpen drukte op het netwerk te voorkomen door kanalen slimmer te verdelen.

Hoewel wifi 8 de maximale snelheid van wifi 7 niet verder verhoogt – beide halen theoretisch tot 23 Gbit/s – ligt de nadruk nu op constante prestaties en lage vertraging (latentie). Dat moet merkbaar zijn bij taken die gevoelig zijn voor onderbrekingen, zoals videobellen of online gamen.

TP-Link zegt samen met partners te werken aan verdere ontwikkeling van wifi 8 en verwacht dat de eerste compatibele producten verschijnen zodra de standaard officieel wordt goedgekeurd. Een exacte releasedatum is nog niet bekend; dat hangt af van certificering en regionale regelgeving. Tot die tijd blijven wifi 7-routers de snelste optie voor consumenten.

©TP-Link

Wat is wifi 8 (802.11bn)?

Wifi 8 is de opvolger van wifi 7 en de eerste standaard die zich richt op Ultra High Reliability. In plaats van vooral hogere snelheden te leveren, belooft de technologie stabielere verbindingen, lagere latentie en soepel roamen tussen access points. Wifi 8 gebruikt de bestaande frequentiebanden van 2,4, 5 en 6 GHz en werkt samen met oudere apparaten, al profiteren nieuwe wifi 8-clients het meest van de verbeteringen.