Innehållsförteckning:

Raspberry Pi Barometer väderklocka: 9 steg (med bilder)
Raspberry Pi Barometer väderklocka: 9 steg (med bilder)

Video: Raspberry Pi Barometer väderklocka: 9 steg (med bilder)

Video: Raspberry Pi Barometer väderklocka: 9 steg (med bilder)
Video: PinePhone KDE Community Edition smartphone with Plasma Mobile now up for pre-order $149.99 & $199.99 2024, November
Anonim
Hallon Pi Barometer Väderklocka
Hallon Pi Barometer Väderklocka

I denna instruerbara visar jag dig hur du bygger en grundläggande termometer / barometerklocka med en Raspberry Pi 2 med en BMP180 I2C -sensor som visas på en Adafruit 4 -siffrig 7 -segment I2C -skärm. Pi använder också en DS3231 realtid I2C klockmodul för att hålla tiden när Pi startas om.

Klockan går igenom fyra steg i 5 sekunder vardera. Först visar det temperaturen i Celsius, sedan i Fahrenheit sedan barometertrycket i kPa *(det går detta nummer till vänster på grund av begränsat antal siffror) och slutligen visar det en trend med barometriskt tryckförändring mellan nu och genomsnittet av föregående timme.

Det som gör den här klockan annorlunda än de flesta är att den använder en MySQL -databas på Pi för att logga data från BMP180 varje minut. Eftersom det nuvarande barometriska trycket inte är lika värdefullt som dess rörelse upp eller ner under en viss tidsperiod, använder den denna databas för att beräkna ett genomsnitt för en timme mellan 2 timmar och 1 timme sedan och jämför det med det aktuella trycket. En signifikant ökning av barometertrycket indikerade vanligtvis en förbättring av väderförhållandena jämfört med ett stort fall kan varna för en överhängande storm.

Klockan är inrymd i ett 3D -tryckt ABS -hus med BMP180 i ett ventilerat lock på baksidan av klockan för att förhindra att värmen som genereras av Pi påverkar temperaturavläsningarna. Jag tillhandahåller Autodesk 123D Design -schemat om du vill skriva ut din egen.

Klockan drivs med en vanlig USB -väggvarta och drar sammanlagt cirka 450 mA.

Jag kommer inte gå in på för mycket detaljer om den grundläggande installationen av Pi och I2C eftersom detta har täckts i många andra instruktioner som jag kommer att ge länkar till.

Steg 1: Förbered Pi

Förbered Pi
Förbered Pi

Ställ in din Raspberry Pi - Detaljer på Raspberrypi.org

  1. Ladda ner och installera din valda Linux -distribution på ett SD -kort - jag använde Raspbian
  2. Anslut pi och starta upp den
  3. Jag använde en mikro WiFi -adapter för att ansluta pi till min router när klockhuset höljer Ethernet -porten.
  4. Jag använde huvudlöst läge där du ansluter till pi med SSH så allt du behöver ansluta är strömmen.
  5. Konfigurera I2C på Pi - jag följde dessa instruktioner på Adafruit -webbplatsen.

Steg 2: Koppla upp allt

Koppla upp allt
Koppla upp allt

Alla moduler jag använder i detta projekt är 5V -toleranta och använder I2C som är ett 2 -trådsprotokoll som används för IC: er för att kommunicera med varandra, så ledningarna är ganska enkla. Anslut alla VCC till 5V, alla Grounds tillsammans och alla SCA- och SCL -linjerna tillsammans enligt schemat. Jobbet färdig.

Steg 3: Testa din I2C

Testa din I2C
Testa din I2C

En del av I2C -installationen är att köra i2cdetect som ska se ut som den bifogade bilden om allt är korrekt anslutet.

Nedan visas matchande adresser

  1. 0x70 = 7 segmentvisning
  2. 0x77 = BMP180 Termometer / barometersensor
  3. 0x68 = DS3231 modul i realtid
  4. 0x57 = DS3231 ombord på EEPROM för lagring av larmdata.

Steg 4: Installera MySQL och PhpMyAdmin

Installera MySQL och PhpMyAdmin
Installera MySQL och PhpMyAdmin

Att installera mySQL är ganska rakt fram om du följer handledningen här

sudo apt-get installera mysql-server

Jag installerade också phpMyAdmin som är en webbplats som körs på Apache som du kan använda för att skapa och hantera mySQL -databaser. Handledning här

sudo apt-get install phpmyadmin

När den väl installerades skapade jag en databas som heter BP180 med hjälp av phpMyAdmin med strukturen enligt bilden.

Jag använder också en python -modul som heter mysqlDB som du kan installera med

sudo apt-get install python-mysqldb

Steg 5: Installera Python -moduler

Ladda ner och installera nedanstående python -moduler som du kommer att använda för att ansluta till sensorerna.

  1. Adafruit_BMP085 modul
  2. SDL_DS3231 -modul
  3. Adafruit 7 segment modul

Steg 6: Kod för att logga till databas

Nedanstående kodavsnitt används för att logga temperatur och barometriskt tryck och anropas från ett cron -skript (Linux -schemalagda uppgifter) som körs var 5: e minut. För att lära dig hur du använder crond, kolla in den här självstudien.

OBS! Bry dig inte om att slänga mina kodningskunskaper, jag är ingen utvecklare så ja det finns nog en miljon bättre, snabbare, smidigare, renare sätt att göra detta

Du kommer att märka i koden temperaturen sjunker med 7 grader vilket motsvarar värmen som genereras av Raspberry Pi även med BMP180 monterad på utsidan av huset. När jag ursprungligen hade det inne i huset var det cirka 15 grader varmare än omgivande. Det verkar vara ganska linjärt, men jag har inte haft möjlighet att testa några ytterligheter. Återkoppling av dina erfarenheter uppskattas.

Steg 7: Kod för visningstemp

Kod för visningstemp
Kod för visningstemp
Kod för visningstemp
Kod för visningstemp
Kod för visningstemp
Kod för visningstemp
Kod för visningstemp
Kod för visningstemp

Denna kod kallas för att cykla genom displayen enligt introduktionen.

Återigen, jag är ingen utvecklare så koden är riktigt grov, men det fungerar

Steg 8: 3D -tryckt hölje

3D -tryckt hölje
3D -tryckt hölje
3D -tryckt hölje
3D -tryckt hölje
3D -tryckt hölje
3D -tryckt hölje
3D -tryckt hölje
3D -tryckt hölje

Nästa är utformningen av höljet. Detta var ganska utmanande eftersom formen är benägen att vrida sig eftersom delar av det yttre skalet bara är 2 mm tjocka. Jag ritade först mock -ups av Pi och alla delar och designade sedan höljet runt det. Utskriften tog cirka 7 timmar på min RapMan 3.2 (vilket är en ganska långsam skrivare) på 0,25 lager djup.

Den bifogade schemat är gjort i Autodesk 123D Design som jag tycker är en fantastisk gratis mjukvara.

Observera att några av hålen som de som behövs för att montera Pi inte är i designen, eftersom det är bättre att borra dessa efteråt om ditt tryck snedvrider lite. Stadig hand en 3 mm borr är allt du behöver. Markera djupet på biten med lite maskeringstejp så att du inte råkar gå rakt igenom ditt 7 timmars tryck som jag gjorde.

Steg 9: Saker att göra

Saker att göra
Saker att göra
  1. Realtidsklockan var ett tillägg efter att höljet trycktes för femte gången så det är för närvarande varmt limt på sidan av höljet vilket inte ser bra ut så jag skulle vilja göra om designen och lägga till en plats för den.
  2. Ljusstyrkan på 7 -segmentskärmen är för närvarande inställd på den lättaste, vilket inte är optimalt för starka ljusförhållanden. Jag skulle vilja lägga till ett fotomotstånd på toppen av höljet och justera ljusstyrkan på 7 segment baserat på omgivande ljusförhållanden.
  3. Det finns några mindre designproblem med bassprickorna som också kommer att åtgärdas.
  4. Alla idéer är välkomna.

Jag hoppas att du tyckte om detta instruerbara och tyckte att det var tillräckligt inspirerande för att få dig att gå. Tanken är att tillhandahålla en plattform som du kan använda för att lägga till dina egna idéer. Ha så kul!

Rekommenderad: