Innholdsfortegnelse:
- Trinn 1: Få alle de nødvendige elementene
- Trinn 2: Gjør din Raspberry Pi klar
- Trinn 3: Koble alt sammen
- Trinn 4: Lag din database
- Trinn 5: Tid for koden
- Trinn 6: Prøv det
Video: Fanair: en værstasjon for rommet ditt: 6 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:20
Det er utallige måter å finne ut gjeldende vær, men da vet du bare været utenfor. Hva om du vil vite været inne i huset ditt, inne i et bestemt rom? Det er det jeg prøver å løse med dette prosjektet.
Fanair bruker flere sensorer for å registrere:
- temperatur
- luftfuktighet
- lys
- visse gasser
- Lufttrykk
Den er veldig kompakt og bruker Raspberry Pi 3 B for å få verdiene, lagre dem i en MySQL -database og deretter gjøre dem lett tilgjengelige på et nettsted. Inkludert i koden og nettstedet er muligheten til å få faktiske værdata for posisjonen din, slik at nettstedet også kan brukes til å kontrollere vær utenfor.
Trinn 1: Få alle de nødvendige elementene
Først av alt trenger du grunnleggende elektronikk som ledninger / jumperkabler. Hvis du planlegger å lodde alt sammen som et permanent prosjekt, vil du åpenbart også trenge et loddejern, loddetinn, og for din egen komfort en PCB å lodde alt til.
For mer spesifikke varer lagde jeg denne materialliste.
- Raspberry Pi 3 B
- MPC3008-8-kanals 10-biters ADC
- AM2301 Termometer temperatur- og fuktighetssensor
- WR Rademacher WR-tyoe 930-1 PCB
- ABS -deksel for prototyping (svart)
- LDR
- MQ135 gassensor
- 2x BC517 Darlington -transistor
- RGB LED
- Motstandspakke
- Summer
- Ledninger
- BMP280 Barometer
- Stille USB -vifte (5V)
Til sammen bør dette koste ca € 110. Husk at den totale prisen er en tilnærming. Prosjektet mitt har også en LCD -skjerm på bildet, men det er ikke tilkoblet siden det ikke var nok plass i mitt tilfelle, så det er ikke inkludert i instruksjonsboken.
Trinn 2: Gjør din Raspberry Pi klar
Få Raspian Jessie med Pixel -operativsystemet fra det offisielle Raspberry Pi -nettstedet, og når det er lastet ned, pakker du det ut. Du får en bildefil. For å få den på Pi må du skrive den til SD-kortet ved hjelp av Win32 Disk Imager. Når den er installert, velger du bildefilen og stasjonen der du har SD-kortet. Trykk deretter på skrive og vent til det er ferdig.
Når den er ferdig, klikker du på SD-kortet i File Explorer og åpner filen som heter 'cmdline.txt'. Gå til slutten av tekstfilen like før rootwait og skriv 'ip = 254.169.10.2' med mellomrom selvfølgelig. Etter at du har lagret det, bør du høyreklikke et sted inne i vinduet og opprette en ny fil som heter 'ssh'. Legg merke til at denne filen ikke har filtypen. For å sikre at den ikke har en utvidelse, klikker du på "visning" i filutforskeren og merker av for "skjulte filer". Hvis den gir nytt navn til den og sletter utvidelsen, slik at den bare leser 'ssh'.
Etter at det er gjort kan du endelig sette SD-kortet i Raspberry Pi. Last ned en ssh -klient (jeg anbefaler MobaXterm). Og koble til med ssh med IP -en du angav tidligere '254.169.10.2'. Brukernavnet er 'pi', passordet 'bringebær'. Hvis du vil, kan du endre passordet ved å skrive kommandoen 'sudo passwd' i terminalen og følge instruksjonene. Siden vi skal bruke en god del av SD-kortet for Fanair, bør du utvide tilgjengelig lagringsplass ved å skrive 'sudo rapi-config' ved å velge 'Avanserte alternativer' og deretter 'Utvid filsystem'. Hvis du blir bedt om det, start på nytt.
Vi bruker grensesnittet 1-wire, SPI og I2C. For å kunne bruke dem må du først sette dem opp!
Trinn 3: Koble alt sammen
Det er på tide å lage en krets! Første gang bør du sannsynligvis prøve det på et brødbrett, men hvis du ikke har tid til det, kan du prøve å lodde det sammen.
Kretsen du trenger ser ut som den ovennevnte. For enkelhets skyld er en brødbrettversjon også inkludert.
Trinn 4: Lag din database
For effektivt å lagre alle dataene du mottar, bruker vi en TSQL MySQL -database. Før du installerer MySQL, la oss kontrollere at alt er oppdatert ved å skrive inn noen få kommandoer i terminalen:
- 'sudo apt-get update'
- 'sudo apt-get upgrade'
- 'sudo apt-get dist-upgrade'
Godta hver ledetekst ved å skrive 'y' og skriv inn.
Slik installerer du MySQL -type:
- 'sudo apt-get install mysql-server'
- 'sudo apt-get install mysql-client'
Når du blir bedt om det, oppretter du et rotpassord etter eget valg.
Etter at det er installert pålogging ved å bruke:
'mysql -uroot -p'
Og skriver inn passordet ditt.
Få Fanair -koden fra My Github! Klikk på 'Klon eller last ned' og deretter på 'Last ned ZIP'. Pakk ut koden i en mappe du ønsker. Spørringen om å opprette den fullt operative databasen er i databasemappen. Åpne filen, kopier koden og lim den inn i terminalen med MySQL åpen. Klikk deretter enter og databasen er ferdig!
Trinn 5: Tid for koden
For å bruke alle sensorene må du åpenbart kjøre et program. Heldigvis er koden allerede utført (for det meste), og vi lastet den allerede ned når vi fikk databasen SQL -spørring.
Som jeg sa er det noen få ting som fortsatt må endres / legges til for at programmet skal fungere skikkelig. Først og fremst bruker programmet Darksky API for å få værdataene basert på lengdegrad og breddegrad. For å bruke det må du registrere deg. De første 1000 samtalene er gratis, og etterpå koster det $ 0,0001 per samtale. Jeg har hørt at hvis du ikke betaler, blir kontoen din blokkert. For å være rettferdig er $ 0,0001 per samtale ganske billig. Fanair ringer de nyeste dataene hver time, noe som betyr at hvis du kjører på heltid, vil det bare koste deg 0,876 dollar. Du får også 41 dager gratis hvis Fanair kjører på heltid.
Når du har registrert deg, se etter API -nøkkelen din. Se etter posisjonens lengdegrad og breddegrad på google maps, eller prøv å google den. Lag en ny tekstfil rotkatalogen til Fanair (med klasser, main.py …). Gi filen navnet "key_location.txt". Åpne tekstfilen og lim inn Darksky API -nøkkelen på første linje. Lim inn lengdegraden din på den andre linjen og på den tredje linjen lim inn breddegraden (begge i desimalformat). Når du er ferdig, lagrer du filen.
Opprett en annen tekstfil i samme katalog som heter 'database_dsn.txt'. Den første linjen skal si 'localhost'. Den andre linjen er 'root'. På den tredje linjen bør du skrive inn passordet ditt som du laget for databasen tidligere, og den fjerde og siste linjen bør du skrive 'fanair'.
Høyreklikk på main.py -filen og velg rediger. 'Fanair = Fanair (5, 26, 17, 27, 22, 4, "AM2301", 1, 0, 0, 0, "key_location.txt", "database_dsn.txt")' må endres. Hvis du fulgte bildet, bør de første 5 verdiene endres fra '5, 26, 17, 27, 22, 4' til '20, 21, 26, 19, 13 '. '/home/muhsin/Applications/Fanair' bør også endres til Fanair -rotbanen din (der main.py er). Sørg for å sette en skråstrek foran "hjem", men ikke etter "Fanair".
Nå er alt bra, men koden må komme inn i Pi. Heldigvis for oss eksisterer sftp -protokollen. For å sette filene på Pi bruker du en sftp -klient som FileZilla, eller hvis du bestemte deg for å bruke MobaXterm kan du enkelt laste opp filene i sftp -grensesnittet til venstre for terminalen.
Etter min erfaring får jeg ikke alltid riktig dato og klokkeslett i Raspberry Pi. For å være sikker på at du mottar riktig datotid, foreslår jeg at du følger denne guiden: Raspberry Pi -synkroniseringsdato og -tid.
Og sist men ikke minst må noen få biblioteker installeres, og noen få grensesnitt må aktiveres:
'sudo apt-get install build-essential python-dev'
Adafruit DHT:
'pip3 installer adafruit_python_dht'
1-ledning:
- 'sudo raspi-config'
- 'Grensesnittalternativer'
- '1 ledning'
- Muliggjøre
- 'sudo nano /boot/config.txt'
- Legg til denne linjen i filen: 'dtoverlay = w1-gpio'
- 'sudo reboot'
SPI:
- 'sudo raspi-config'
- 'Grensesnittalternativer'
- 'SPI'
- Muliggjøre
- 'sudo reboot'
- 'sudo nano /boot/config.txt'
- Søk etter 'dtparam = spi = on' og kommenter den ved å fjerne hashtaggen.
- 'sudo apt-get install python3-dev
Smbus:
- 'sudo raspi-config' '
- 'Grensesnittalternativer'
- 'I2C'
- Muliggjøre
- 'sudo reboot'
- 'sudo apt-get install -y python-smbus'
- 'sudo apt-get install -y i2c-tools'
- 'sudo nano /boot/config.txt'
- Søk etter dtparam = i2c_arm = på og kommenter den ved å fjerne hashtaggen.
kolbe
pip3 installere kolbe
mysql -kontakt
'pip3 install -Iv mysql -connector == 2.1.4'
spidev
'pip3 install py-spidev'
mørk himmel
'pip3 installer darkskylib'
Trinn 6: Prøv det
Hvis du har klart å komme så langt, kan du trykke på deg selv på baksiden. Nå er alt gjort for å få Fanair til å fungere skikkelig. Så for å teste det, skriv 'cd ""' '. Filplasseringen er "/home/pi" for eksempel hvis du nettopp limte inn i hjemmekatalogen din. Skriv deretter 'python3 main.py' og la den hvile i 15 minutter, så den vil ha data i databasen når den er ferdig. Etter det trykker du på 'ctrl + c' stopp stopp programmet og skriver 'python3 Flask.py'. For å se om nettstedet ditt fungerer, må du surfe til Pi -IP -adressen du lagde med ': 5000' etter det (som dette: 169.254.10.1:5000 ').
Slik får du det til å kjøre automatisk etter oppstart:
'sudo nano /etc/rc.local'
På slutten av filen MEN FØR avslutt 0:
'sudo python3 "/main.py" &'
'sudo python3 "/Flask.py" &'
Gratulerer nå, skriptet ditt bør kjøres fra oppstart, og du er ferdig! Hvis du planlegger å fortsette prosjektet og ikke allerede har gjort det, vil jeg foreslå at du lodder alt sammen, bare for å være sikker på at alt holder seg. Selv om du ikke spiller for å flytte det rundt mye, fungerer også et brødbrett selvfølgelig.
Anbefalt:
NaTaLia værstasjon: Arduino solcelledrevet værstasjon gjort den riktige måten: 8 trinn (med bilder)
NaTaLia værstasjon: Arduino solcelledrevet værstasjon gjort på riktig måte: Etter 1 års vellykket drift på 2 forskjellige steder deler jeg mine solcelledrevne værstasjonsprosjektplaner og forklarer hvordan det utviklet seg til et system som virkelig kan overleve over lang tid perioder fra solenergi. Hvis du følger
Værstasjon i rommet ved hjelp av Arduino og BME280: 4 trinn
Værstasjon på rommet ved hjelp av Arduino & BME280: Tidligere delte jeg en enkel værstasjon som viste temperatur og fuktighet i lokalområdet. Problemet med det var at det ville ta tid å oppdatere og dataene var ikke nøyaktige. I denne opplæringen vil vi lage en innendørs værmonitor
Hvordan automatisere rommet ditt med Arduino? Del 1: 5 trinn
Hvordan automatisere rommet ditt med Arduino? Del 1: Jeg har alltid ønsket å kontrollere rommet mitt eksternt, så jeg bestemte meg for å lage et system som lar meg gjøre det. Hvis du vil lære å gjøre det? så inviterer jeg deg til å følge disse trinnene nedenfor
Automatiser hele rommet ditt med Google Home + Arduino, NodeMCU og Ubidots: 5 trinn
Automatiser hele rommet ditt med Google Home + Arduino, NodeMCU og Ubidots: Hei alle sammen, her skal jeg vise dere et prosjekt jeg gjorde. Det er i ferd med å kontrollere og automatisere rommet ditt med arduino og nodemcu med en IoT -plattform som jeg begynte å bruke for måneder siden og jeg synes det er fantastisk, så her deler jeg med meg min erfaring. Med dette
Hvordan automatisere rommet ditt med Google Assistant og Arduino ?: 7 trinn
Hvordan automatisere rommet ditt med Google Assistant og Arduino ?: Hei Instruerbart fellesskap, her er jeg med et annet automatiseringsprosjekt, spesielt et stemmestyrt system med Google Assistant, Arduino og noen webplattformer. Jeg var en av personene som ikke gjorde det støtte kontroll av enheter med tale, fordi