Bygg en trådløs værstasjon med Arduino MKR WiFi 1010 og BMP280/BME280
Dagens læringsaktivitet
Du skal lage et trådløst sensorsystem som programmeres i Arduino. Du skal bruke et Arduino MKR WiFi 1010 utviklingskort og en sensor som måler temperatur, trykk og fuktighet og sender data til Deploii-nettsida.
Dataene kan vises i sanntid på nettsida og lagres i skya. Seinere kan du laste ned dataene i ønska filformat (.csv, .txt osv.) og analysere dem videre i Python eller Excel.
Slik kan et ferdig oppsett se ut:
Utstyr
Til denne oppgaven trenger du følgende utstyr:
Arduino MKR WiFi 1010
USB-A-til-mikro-USB-B-kabel med signallinje
pc som kjører Windows, Mac OS eller Linux
BMP280/BME280 sensor (måler temperatur, trykk og noen måler fuktighet)
ledninger og koplingsbrett (breadboard)
Arduino IDE installert (versjon 2.0 eller nyere)
Deploii-biblioteket installert, samt Board Manager for Arduino MKR WiFi 1010 (eventuelt også drivere)
bruker på Deploii
Oppkopling
Det trengs bare fire koplinger for å drive en BMP280/BME280. Den trenger strøm/VCC (3,3 volt) og jord for strømtilførsel. For å hente ut data gjennom I2C til sensoren må du kople sensoren til pin SCL (pin 12) og SDA (pin 11).
Se vedlegg for pinout-diagram av MKR WiFi 1010.
MKR WiFi 1010 | BME280 |
|---|---|
| VCC | VCC |
| GND | GND |
| SCL (12) | SCL |
| SDA (11) | SDA |
NDLA-boksen

Du kan også velge å bygge prosjektet inn i en støtsikker boks, for eksempel NDLA-boksen.
Deploii-nettsida
Når alt er installert, logger du deg inn på innloggingssida til Deploii. Deretter må du sette opp følgende (helst i rekkefølge):
et kort av typen Arduino MKR WiFi 1010
datastrømmer, gjerne kalt Temperatur, Trykk, Fukt og BME280
en måleserie
et kontrollpanel med
en graf som viser datastrømmene Temperatur, Trykk og Fukt
en terminal som viser datastrømmen BME280
ei tallvisning som viser datastrømmen Temperatur
ei tallvisning som viser datastrømmen Trykk
ei tallvisning som viser datastrømmen Fukt
Om du lurer på noe underveis, kan du sjekke ut de generelle guidene for Deploii på NDLA. De viser deg hvordan du utfører de forskjellige stega i lista over. Deploii-filmene kan også være gode hjelpemidler. Og så kan du selvfølgelig også spørre læreren din om hjelp.
Programmering
Eksempelkode
Du finner en eksempelkode for sensoren BME280 i et vedlegg sist i denne artikkelen. Denne koden får sensoren til å måle temperatur, trykk og fukt. Så blir dataene sendt til Deploii. Men du må tilpasse eksempelkoden litt og sette opp alt riktig på nettsida.
Har du en BMP280 uten fuktighetsmåling, må du oppdatere koden ved å fjerne kodelinjene som inneholder avlesning av fuktighet.
Test ut
Nå som du har satt opp og programmert alt, skal du teste systemet.
Klarer du å få inn noen data på kontrollpanelet?
Hva slags data ser du?
I hvilket format synes du dataene er enklest å lese av?
Fungerer datainnsamlinga også om du kopler Arduinoen din til noen andres pc?
Klarer du å laste ned dataene du har målt?
Hva slags data finner du i fila du har lasta ned?
Dataanalyse med Python eller Excel
Nå skal du bruke kunnskapene dine til å hente ut og analysere data. Start en ny måleserie på nettsida for datastrømmen du har laga for temperatur, trykk og fuktighet.
Etter at du har fått ned et tilstrekkelig antall datapunkter, for eksempel 200 i løpet av en ti minutters periode, kan du laste ned måleserien.
Fila du får, vil ha samme navn som datastrømmen din, og den er stempla med dato og tid slik at du kan holde oversikt over hvilken fil som er nyest. Når fila er på pc-en din, kan du laste den inn i Python eller Excel og for eksempel lage grafer og studere dataene i større detalj.
Filer for nedlasting
Her finner du et eksempel på programvare som kan prøves ut for å få systemet til å fungere.
Relatert innhold
Deploii lar deg kople mikrokontrollere til nettsida deploii.no, slik at du kan samle inn og visualisere data via et kontrollpanel.
For å opprette kommunikasjon mellom et utviklerkort og Deploii må du gjøre noen grunnleggende oppsett på Deploii og programmere mikrokontrolleren din.

