Cuprins:

Fanair: o stație meteo pentru camera ta: 6 pași (cu imagini)
Fanair: o stație meteo pentru camera ta: 6 pași (cu imagini)

Video: Fanair: o stație meteo pentru camera ta: 6 pași (cu imagini)

Video: Fanair: o stație meteo pentru camera ta: 6 pași (cu imagini)
Video: 🫣😱See what high voltage does #shorts 2024, Noiembrie
Anonim
Fanair: o stație meteo pentru camera ta
Fanair: o stație meteo pentru camera ta

Există nenumărate modalități de a afla vremea actuală, dar atunci știi doar vremea de afară. Ce se întâmplă dacă doriți să cunoașteți vremea din interiorul casei dvs., în interiorul unei camere specifice? Asta încerc să rezolv cu acest proiect.

Fanair folosește mai mulți senzori pentru a detecta:

  • temperatura
  • umiditate
  • ușoară
  • anumite gaze
  • presiunea aerului

Este foarte compact și folosește Raspberry Pi 3 B, pentru a obține valorile, pentru a le salva într-o bază de date MySQL și pentru a le face apoi ușor disponibile pe un site web. Inclus în cod și site-ul web este posibilitatea de a obține date meteo reale pentru locația dvs., astfel încât site-ul web să poată fi utilizat și pentru a verifica vremea din exterior.

Pasul 1: obțineți toate articolele necesare

Obțineți toate articolele necesare
Obțineți toate articolele necesare

În primul rând, veți avea nevoie de elemente electronice de bază, cum ar fi cabluri / cabluri jumper. Dacă intenționați să lipiți totul împreună ca un proiect permanent, atunci, evident, veți avea nevoie și de un fier de lipit, de lipit și, pentru propriul confort, de un PCB pentru a lipi totul.

Pentru articole mai specifice am realizat această Declarație de materiale.

  • Raspberry Pi 3 B
  • MPC3008 - ADC pe 8 canale pe 10 biți
  • AM2301 Senzor de temperatură și umiditate al termometrului
  • WR Rademacher WR-tyoe 930-1 PCB
  • Carcasă ABS pentru prototipare (negru)
  • LDR
  • Senzor de gaze MQ135
  • 2x BC517 Darlington Tranzistor
  • LED RGB
  • Pachetul de rezistențe
  • Buzzer
  • Fire
  • Barometru BMP280
  • Ventilator USB silențios (5V)

Toate acestea ar trebui să coste aproximativ 110 EUR. Rețineți că prețul total este aproximativ. De asemenea, proiectul meu are un ecran LCD în fotografie, dar nu este conectat, deoarece nu era suficient spațiu în cazul meu, deci nu este inclus în instructabil.

Pasul 2: Pregătiți-vă Raspberry Pi

Obțineți sistemul dvs. de operare Raspian Jessie cu Pixel de pe site-ul oficial Raspberry Pi și, după descărcare, dezarhivați-l. Veți primi un fișier imagine. Pentru a-l obține pe Pi, va trebui să-l scrieți pe cardul SD folosind Win32 Disk Imager. După instalare, selectați fișierul imagine și unitatea pe care vă aflați cardul SD. Apoi apăsați scrie și așteptați până când se termină.

Când ați terminat, faceți clic pe cardul SD în File Explorer și deschideți fișierul numit „cmdline.txt”, mergeți la sfârșitul fișierului text chiar înainte de rootwait și scrieți „ip = 254.169.10.2”, cu spații în jur, desigur. După ce îl salvați, trebuie să faceți clic dreapta undeva în interiorul ferestrei și să creați un fișier nou numit „ssh”. Observați că acest fișier nu are o extensie de fișier. Pentru a vă asigura că nu are o extensie, faceți clic pe „vizualizare” în fișierul de explorare și bifați „fișiere ascunse”. Dacă o redenumește și șterge extensia, astfel citește doar „ssh”.

După ce ați terminat, puteți pune în cele din urmă cardul SD în Raspberry Pi. Descărcați un client ssh (recomand MobaXterm). Și conectați-vă folosind ssh cu IP-ul pe care l-ați setat mai devreme „254.169.10.2”. Numele de utilizator este „pi”, parola „zmeură”. Dacă doriți, puteți schimba parola tastând comanda „sudo passwd” în terminal și urmând instrucțiunile. Deoarece vom folosi o bucată bună de card SD pentru Fanair, ar trebui să extindeți spațiul de stocare disponibil tastând „sudo rapi-config” alegând „Opțiuni avansate” și apoi „Extindeți sistemul de fișiere”. Dacă vi se solicită reporniți.

Vom folosi interfața cu 1 fir, SPI și I2C. Pentru a le putea folosi, trebuie mai întâi să le configurați!

Pasul 3: conectați totul împreună

Conectează totul împreună
Conectează totul împreună
Conectează totul împreună
Conectează totul împreună

E timpul să faci un circuit! Prima dată ar trebui probabil să o încercați pe o placă, dar dacă nu aveți timp pentru asta, ați putea încerca să o lipiți împreună.

Circuitul de care aveți nevoie arată ca cel de mai sus, pentru comoditate, este inclusă și o versiune de panou.

Pasul 4: Creați-vă baza de date

Pentru a salva eficient toate datele pe care le veți primi, vom folosi o bază de date TSQL MySQL. Înainte de a instala MySQL să ne asigurăm că totul este actualizat, tastând câteva comenzi în terminal:

  • 'sudo apt-get update'
  • 'sudo apt-get upgrade'
  • 'sudo apt-get dist-upgrade'

Acceptați fiecare solicitare tastând „y” și introduceți.

Pentru a instala MySQL tip:

  • 'sudo apt-get install mysql-server'
  • 'sudo apt-get install mysql-client'

Când vi se solicită, creați o parolă root la alegere.

După ce ați terminat instalarea autentificării utilizând:

'mysql -uroot -p'

Și tastând parola.

Obțineți codul Fanair de la My Github! Faceți clic pe „Clonați sau descărcați” și apoi pe „Descărcați ZIP”. Dezarhivați codul într-un dosar la alegere. Interogarea pentru crearea bazei de date complet operaționale se află în folderul bazei de date. Deschideți fișierul copiați codul și lipiți-l în terminal cu MySQL deschis. Apoi faceți clic pe Enter și baza de date este gata!

Pasul 5: Timp pentru cod

Pentru a utiliza toți senzorii, trebuie să rulați un program. Din fericire, codul este deja terminat (în cea mai mare parte) și l-am descărcat deja la obținerea interogării SQL a bazei de date.

Așa cum am spus, există câteva lucruri care mai trebuie schimbate / adăugate pentru ca programul să funcționeze corect. În primul rând, programul folosește API-ul Darksky pentru a obține datele meteo pe baza longitudinii și latitudinii. Pentru a face uz de el trebuie să vă înscrieți. Primele 1000 de apeluri sunt gratuite și după aceea costă 0,0001 USD pe apel. Am auzit că dacă nu plătiți, contul dvs. este blocat. A fi corect 0,0001 USD pe apel este destul de ieftin. Fanair apelează cele mai recente date în fiecare oră, ceea ce înseamnă că într-un an, dacă rulezi cu normă întreagă, te va costa doar 0,876 USD. De asemenea, primești 41 de zile gratuite dacă Fanair rulează cu normă întreagă.

Odată înscris, căutați cheia API. Căutați longitudinea și latitudinea locației dvs. pe Google Maps sau încercați să o google. Creați un fișier text nou directorul rădăcină al Fanair (cu clase, main.py …). Denumiți fișierul „key_location.txt”. Deschideți fișierul text și lipiți pe prima linie cheia API Darksky. Pe a doua linie lipiți longitudinea și pe a treia linie lipiți latitudinea (ambele în format zecimal). Când ați terminat, salvați fișierul.

În același director, creați un alt fișier text numit „database_dsn.txt”. Prima linie ar trebui să spună „localhost”. A doua linie este „rădăcină”. În a treia linie ar trebui să tastați parola pe care ați făcut-o pentru baza de date mai devreme, iar a patra și ultima linie ar trebui să tastați „fanair”.

Faceți clic dreapta pe fișierul main.py și selectați editare. 'Fanair = Fanair (5, 26, 17, 27, 22, 4, "AM2301", 1, 0, 0, 0, "key_location.txt", "database_dsn.txt")' trebuie modificat. Dacă ați urmat imaginea, primele 5 valori ar trebui schimbate din „5, 26, 17, 27, 22, 4” în „20, 21, 26, 19, 13”. „/ home / muhsin / Applications / Fanair” ar trebui, de asemenea, să fie schimbat pe calea dvs. de rădăcină Fanair (unde este main.py). Asigurați-vă că puneți o bară în fața „acasă”, dar nu după „Fanair”.

Acum totul este minunat, dar codul trebuie să intre în Pi. Din fericire pentru noi există protocolul sftp. Pentru a pune fișierele pe Pi, utilizați un client sftp precum FileZilla sau dacă ați decis să utilizați MobaXterm puteți încărca fișierele cu ușurință în interfața sftp din stânga terminalului.

Din experiența mea, nu obțin întotdeauna data și ora potrivite în Raspberry Pi. Pentru a vă asigura că veți primi data și ora corecte, vă sugerăm să urmați acest ghid: Raspberry Pi sincronizează data și ora.

Și nu în ultimul rând, câteva biblioteci trebuie instalate și câteva interfețe trebuie activate:

'sudo apt-get install build-essential python-dev'

Adafruit DHT:

„pip3 instalează adafruit_python_dht”

1-fir:

  1. „sudo raspi-config”
  2. „Opțiuni de interfață”
  3. „1 fir”
  4. Permite
  5. „sudo nano /boot/config.txt”
  6. Adăugați această linie în fișier: „dtoverlay = w1-gpio”
  7. „sudo reboot”

SPI:

  1. „sudo raspi-config”
  2. „Opțiuni de interfață”
  3. „SPI”
  4. Permite
  5. „sudo reboot”
  6. „sudo nano /boot/config.txt”
  7. Căutați „dtparam = spi = on” și decomentați-l eliminând hashtagul.
  8. 'sudo apt-get install python3-dev

Smbus:

  1. „sudo raspi-config”
  2. „Opțiuni de interfață”
  3. „I2C”
  4. Permite
  5. „sudo reboot”
  6. 'sudo apt-get install -y python-smbus'
  7. 'sudo apt-get install -y i2c-tools'
  8. „sudo nano /boot/config.txt”
  9. Căutați dtparam = i2c_arm = on și decomentați-l eliminând hashtagul.

balon

pip3 instalați Flask

conector mysql

'pip3 install -Iv mysql-connector == 2.1.4'

spidev

„pip3 instalează py-spidev”

cer intunecat

„pip3 instalează darkskylib”

Pasul 6: Încercați

Dacă ați reușit să ajungeți până aici, atingeți-vă pe spate. Acum totul este făcut pentru ca Fanair să funcționeze corect. Deci, pentru a-l testa, tastați 'cd ""'. Locația fișierului este „/ home / pi”, de exemplu, dacă tocmai ați lipit în directorul dvs. home. Apoi tastați „python3 main.py” și lăsați-l să se odihnească timp de 15 minute, astfel încât să aibă date în baza de date atunci când ați terminat. După aceea apăsați „ctrl + c” opriți opriți programul și tastați „python3 Flask.py”. Pentru a vedea dacă site-ul dvs. funcționează, trebuie să navigați la adresa IP a lui Pi pe care ați făcut-o cu „: 5000” după acesta (așa: 169.254.10.1:5000”).

Pentru a rula automat după pornire:

„sudo nano /etc/rc.local”

La sfârșitul fișierului DAR ÎNAINTE de ieșirea 0:

'sudo python3 "/main.py" &'

'sudo python3 "/Flask.py" &'

Felicitări, acum că scriptul ar trebui să ruleze de la pornire și ai terminat! Dacă intenționați să mențineți proiectul în desfășurare și încă nu v-aș sugera să lipiți totul împreună, doar pentru a vă asigura că totul rămâne pus. Deși, dacă nu te joci să o miști, o placă funcționează, bineînțeles.

Recomandat: