Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Kabling
- Trinn 2: Konfigurer
- Trinn 3: Kode og kjøring
- Trinn 4: Testing
- Trinn 5: Montering
Video: Personlig meteorolog: 5 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
Har du noen gang lurt på om eller når meteorologen din snakker sant? Vil du ha en diskret, billig og rask måte å være din egen meteorolog … og kanskje et lite prosjekt? Ser ikke lenger! Denne forenklede enheten vil spore værforholdene fra hvilket som helst sted du ønsker og gi deg muligheten til å overvåke været med et tastetrykk.
Dette prosjektet gir deg litt øvelse med Flask, Raspberry Pis, GPIO -sensorer og HTML! Ikke bare er det morsomt å bygge, men det har mye nytte. Meteorologen din kan bare være uten jobb …
Rekvisita
- Raspberry Pi 3
- Micro SD -kort
- 1 massetråd
- 4 mannlige til mannlige ledninger
- 1 DHT11 -sensor
- 1 batteri
Hvis du planlegger å være din egen pålitelige meteorolog for flere steder, multipliserer du hver av rekvisita med hvor mange enheter du trenger. Koden for å støtte flere enheter vil imidlertid variere. Hvis du er i ferd med å bygge/teste denne enheten, er det ikke nødvendig å ha følgende … men det vil definitivt være veldig nyttig.
- En dataskjerm
- Et USB -tastatur
- Micro USB ladesett
Trinn 1: Kabling
Ved å bruke Raspberry Pi, må vi integrere hovedsensoren i Raspberry Pi -strømkilden, slik at den kan gjøre de målingene vi trenger. Hovedsensoren som ble brukt i dette prosjektet, avbildet ovenfor, registrerer temperaturen og fuktigheten i det fysiske miljøet rundt. Du kan bruke et brødbrett eller en annen monteringsenhet til å plassere denne sensoren og kjøre ledningene våre gjennom eller bare koble den via hunn-til-hunn-ledninger direkte til pinnene på Raspberry Pi-enheten.
Følg ledningsskjemaet som er vist ovenfor for å koble sensoren på riktig måte til Raspberry Pi. Vær oppmerksom på at en strømkilde er nødvendig, en batteripakke eller i nærheten av en stikkontakt.
Trinn 2: Konfigurer
Gratulerer, maskinvaren din er montert!
Vi skal nå begynne å jobbe direkte med Raspberry Pi og programvaren til prosjektet. Alt det følgende kan gjøres på Raspberry Pi med et tastatur og en skjerm eller via SSH. Følgende biblioteker er nødvendige for å sikre at all programvare kan kjøres på Raspberry Pi. Bruk kommandoen "pip install" for å la programvaren senere bruke følgende biblioteker:
- forespørsler
- RPi. GPIO
- kolbe
- flask_restful
- flask_wtf
- wtforms
Vær oppmerksom på at været kan endre seg noen ganger mens disse bibliotekene er installert … vær tålmodig, du er så nær å låse opp dine meteorologiske evner!
Nå som du har installert alle bibliotekene dine, la oss bli kjent med Flask, et lett rammeverk som gir enkel kommunikasjon mellom noder i prosjektets miljø. I dette prosjektet blir Raspberry Pi en server. Du kan bli komfortabel med Flask med det enkle applikasjonseksemplet her.
Trinn 3: Kode og kjøring
Nå som du har samlet maskinvare- og programvarebibliotekene, er du klar til å begynne å konstruere prosjektfilene.
Server: I dette prosjektet fungerer Raspberry Pi som er koblet til sensoren som server. Serveren venter på at brukeren skal fullføre en forespørsel om temperatur, fuktighet og eller grafen. Vi opprettet HTML -maler som er konfigurert til å samhandle riktig med applikasjonens forespørsel om temperatur, fuktighet, graf eller en hvilken som helst kombinasjon av de tre (se malmappen). Det betyr at hvis brukeren bare vil ha temperatur, vil han ikke se noe om fuktighet annet enn skjemaalternativet for å få en fuktighetsavlesning. Når et innlegg er laget, samler serveren informasjonen fra innlegget og utfører handlingen brukeren ba om. DHT -sensoren får avlesningene som deretter lagres og sendes inn som et ordbokargument med det nye HTML -skjemaet vi gjengir. Serveren lagrer også disse avlesningene for å lage en graf over tidligere avlesninger når brukeren ber om det.
Søknad: Programmet sender HTTP-forespørsler til Flask-serveren for å hente og gjengi temperatur, fuktighet og en visuell fremstilling av temperaturen og fuktigheten til de siste tjuefire forespørslene som ble satt fra skjemaet på brukerens forespørsel. Programmet bruker et kolbe -skjema som har tre boolske inndatafelt for hvert. Brukeren kan merke av i en boks for en hvilken som helst kombinasjon av de tre feltene de vil se. De kan ikke kontrollere noe annet enn ja/nei de vil se den informasjonen. Vi har laget en unik html -fil som vi bruker til å gjengi avhengig av brukerens forespørsel. Dette gjøres slik at bare avlesningene som viser er de som brukeren ber om. Vi vil ikke at brukeren skal be om temperatur og la dem se på en tom mal for fuktighet eller en tom graf.
Trinn 4: Testing
Enheten kjører gjennom filen: mainsense.py. Som bringer inn filen med formSense.py som inneholder vår Flask Form -klasse som brukes av programmet. Serveren gjengir først 'sense.html' og venter deretter på at brukeren skal komme med en forespørsel. mainsense.py venter deretter på å få avlesninger fra sensoren på et øyeblikk når en GET -forespørsel fra applikasjonen ber om temperatur eller fuktighet og lagre de tidligere 24 avlesningene fra brukerne. Det er også et grafalternativ som brukeren kan velge hvilke grafer de forrige avlesningene, høyst 24, gjort av brukeren. Du kan også se at html bare inneholder skjemalternativene som brukeren kan bruke til å gjøre en annen forespørsel og lesningene som ble bedt om av brukeren.
Du bør da kunne navigere til riktig URI/IP og angi riktig kommunikasjonslinje mellom applikasjonen og serveren. Du bør prøve å sende noen test GET -forespørsler og sikre at sensoren reagerer riktig med riktige avlesninger fra sensoren din. Hvis programmet ditt sporer været på timen på riktig måte, er vi offisielt klare til å slette kabelen - det vil si hvis du hang på værkanalen!
Trinn 5: Montering
Montering av enheten er ganske selvforklarende. I utgangspunktet må du bare sørge for at enheten er koblet til batteripakken eller en stikkontakt og bruke kommandostrimler for å sikre enheten på ønsket sted for å overvåke været.
Merk: Enheten må plasseres med sensoren trygg fra de harde værforholdene du befinner deg i. Når dette er fullført, bør du kunne SSH inn i enheten og begynne å kjøre serveren. Åpne nettstedet og vet at du får de mest oppdaterte værmålingene fra stedet der Raspberry Pi -serveren din er plassert.
Anbefalt:
Bygg en personlig aktivitetslogger: 6 trinn
Bygg en personlig aktivitetslogger: Min venn fra London, Paul, ønsket å finne en måte å spore maten, aktiviteten og beliggenheten i et enkelt dashbord. Det var da han kom på ideen om å lage et enkelt webskjema som ville sende data til et dashbord. Han ville sette både webskjemaet og
Hvordan lage en personlig minivifte fra en gammel datamaskin - passer i lommen: 6 trinn
Hvordan lage en personlig minivifte fra en gammel datamaskin - passer i lommen din: Jeg viser deg hvordan du lager en personlig mini -vifte av en gammel datamaskin. En bonus er at den til og med får plass i lommen. Dette er et veldig enkelt prosjekt, så det trengs ikke mye erfaring eller kompetanse. Så la oss begynne
DIY personlig værstasjonsmonitor: 6 trinn
DIY Personal Weather Station Monitor: DarkSky ,, Vår API -tjeneste for eksisterende kunder endres ikke i dag, men vi godtar ikke lenger nye registreringer. API -en vil fortsette å fungere ut slutten av 2021. http: //blog.darksky.net/Personal Weather Station Monitor vise din
Arc Reactor a La Smogdog, et veldig personlig prosjekt : 13 trinn (med bilder)
Arc Reactor a La Smogdog, et veldig personlig prosjekt …: Hva har jeg til felles med disse to gutta? Det er ikke skjegget denne gangen! Vi har alle et hull i brystet, vel jeg og Leo ble født med Pectus Excavatum, Stark måtte tjene sitt :-) Pectus Excavatum er (se her: https: // no .wikipedia.org/wik
Personlig værstasjon som bruker Raspberry Pi med BME280 i Java: 6 trinn
Personal Weather Station Using Raspberry Pi With BME280 in Java: Dårlig vær ser alltid verre ut gjennom et vindu. Vi har alltid vært interessert i å overvåke vårt lokale vær og det vi ser ut av vinduet. Vi ønsket også bedre kontroll over vårt varme- og klimaanlegg. Å bygge en personlig værstasjon er et godt