Bygg ein trådlaus vêrstasjon med ESP32 og BMP180
Dagens læringsaktivitet
Du skal lage eit trådlaust sensorsystem som du programmerer i Arduino. Med eit ESP32-Devkitc-utviklingskort og ein BMP180-sensor måler du temperatur og barometrisk trykk og sender dataa til Deploii-nettsida. Dataa kan visast i sanntid på nettsida og lagrast i skya. Seinare kan du laste ned dataa i ønskt filformat (.csv, .txt osb.) og analysere dei vidare i Python eller Excel.
Slik kan eit ferdig oppsett sjå ut:
Utstyr
Til denne oppgåva treng du følgande utstyr:
ESP32-DevKitC
USB-A-til-mikro-USB-B-kabel med signallinje
pc som køyrer Windows, Mac OS eller Linux
BMP180-sensor (måler temperatur og trykk)
leidningar og koplingsbrett (breadboard)
Arduino IDE installert (versjon 2.0 eller nyare)
Deploii-biblioteket installert, og dessutan Board Manager for ESP32 (og eventuelt drivarar)
brukar på Deploii
Oppkopling
Det trengst berre fire koplingar for å drive ein BMP180. Han treng straum/VCC (3,3 volt) og jord for straumtilførsel. Dataa blir sende frå sensoren via den innebygde I2C-modulen. ESP32 blir kopla til pinnane SCL (pin 22) og SDA (pin 21) på kortet.
Sjå vedlegg for pinout-diagram av ESP32-DevKitC.
ESP32 | BMP180 |
|---|---|
| 3,3 V | VIN |
| GND | GND |
| SCL (22) | SCL |
| SDA (21) | SDA |
NDLA-boksen

Du kan òg velje å bygge prosjektet inn i ein støytsikker boks, til dømes NDLA-boksen.
Deploii-nettsida
Når alt er installert, loggar du deg inn på innloggingssida til Deploii. Deretter må du setje opp følgande (helst i rekkefølge):
eit kort av typen ESP32
fire datastraumar, gjerne kalla Temperatur, Trykk, BMP180 og Logg
ein måleserie
eit kontrollpanel med
ein graf som viser datastraumane Temperatur og Trykk
ei talvisning som viser datastraumen BMP180
ein terminal som viser datastraumen Logg
Om du lurer på noko undervegs, kan du sjekke ut dei generelle guidane for Deploii på NDLA. Dei viser deg korleis du utfører dei ulike stega i lista over. Deploii-filmane kan òg vere gode hjelpemiddel. Og så kan du sjølvsagt spørje læraren din om hjelp.
Programmering
Dømekode
Du finn ein dømekode for BMP180-sensoren i eit vedlegg sist i denne artikkelen. Denne koden får sensoren til å måle temperatur og trykk. Så blir dataa sende til Deploii. Men du må tilpasse dømekoden litt og setje opp alt rett på nettsida.
Test ut
No som du har sett opp og programmert alt, skal du teste ut systemet.
Klarer du å få inn nokre data på kontrollpanelet?
Kva slags data ser du?
I kva format synest du dataa er enklast å lese av?
Fungerer datainnsamlinga òg om du koplar ESP32-en til ein annan pc enn din eigen?
Klarer du å laste ned dataa du har målt?
Kva slags data finn du i fila du har lasta ned?
Dataanalyse med Python eller Excel
No skal du nytte kunnskapane dine til å hente ut og analysere data. Start ein ny måleserie på nettsida for datastraumane du har laga for temperatur og trykk.
Etter at du har fått eit tilstrekkeleg antal datapunkt, til dømes 200 i løpet av ein ti minutts periode, kan du laste ned måleserien.
Filene du får, vil ha same namn som datastraumane dine, og dei er stempla med dato og tid slik at du kan halde styre på kva filer som er nyast. Når filene er på pc-en din, kan du laste dei inn i Python eller Excel og t.d. lage grafar og studere dataa i større detalj.
Filer for nedlasting
Her finn du eit døme på programvare som du kan prøve ut for å få systemet til å fungere.
Relatert innhald
Deploii let deg kople mikrokontrollarar til nettsida deploii.no, slik at du kan samle inn og visualisere data via eit kontrollpanel.
For å opprette kommunikasjon mellom eit utviklarkort og Deploii må du gjere nokre grunnleggande oppsett på Deploii og programmere mikrokontrolleren din.

