Satura rādītājs:

Fanair: laika stacija jūsu istabai: 6 soļi (ar attēliem)
Fanair: laika stacija jūsu istabai: 6 soļi (ar attēliem)

Video: Fanair: laika stacija jūsu istabai: 6 soļi (ar attēliem)

Video: Fanair: laika stacija jūsu istabai: 6 soļi (ar attēliem)
Video: Дневник хранящий жуткие тайны. Переход. Джеральд Даррелл. Мистика. Ужасы 2024, Novembris
Anonim
Fanair: laika stacija jūsu istabai
Fanair: laika stacija jūsu istabai

Ir neskaitāmi veidi, kā uzzināt pašreizējos laika apstākļus, bet tad jūs zināt tikai laika apstākļus ārā. Ko darīt, ja vēlaties uzzināt laika apstākļus savā mājā, konkrētā telpā? To es mēģinu atrisināt ar šo projektu.

Fanair izmanto vairākus sensorus, lai noteiktu:

  • temperatūra
  • mitrums
  • gaisma
  • noteiktas gāzes
  • gaisa spiediens

Tas ir ļoti kompakts un izmanto Raspberry Pi 3 B, lai iegūtu vērtības, saglabātu tās MySQL datu bāzē un pēc tam padarītu tās viegli pieejamas vietnē. Kodā un vietnē ir iekļauta iespēja iegūt faktiskos laika apstākļu datus par jūsu atrašanās vietu, lai vietni varētu izmantot arī ārējo laika apstākļu pārbaudei.

1. darbība: iegūstiet visus nepieciešamos priekšmetus

Iegūstiet visus nepieciešamos priekšmetus
Iegūstiet visus nepieciešamos priekšmetus

Pirmkārt, jums būs nepieciešama pamata elektronika, piemēram, vadi / savienojuma kabeļi. Ja jūs plānojat visu lodēt kopā kā pastāvīgu projektu, acīmredzot jums būs nepieciešams arī lodāmurs, lodētava un jūsu ērtībām PCB, lai visu pielodētu.

Konkrētākām lietām es izveidoju šo materiālu sarakstu.

  • Raspberry Pi 3 B
  • MPC3008-8 kanālu 10 bitu ADC
  • AM2301 termometra temperatūras un mitruma sensors
  • WR Rademacher WR-tyoe 930-1 PCB
  • ABS korpuss prototipu veidošanai (melns)
  • LDR
  • Gāzes sensors MQ135
  • 2x BC517 Darlingtonas tranzistors
  • RGB gaismas diode
  • Rezistoru pakete
  • Signāls
  • Vadi
  • BMP280 barometrs
  • Kluss USB ventilators (5V)

Kopā tam vajadzētu izmaksāt aptuveni 110 eiro. Paturiet prātā, ka kopējā cena ir aptuvena. Arī manā projektā fotoattēlā ir LCD ekrāns, bet tas nav savienots, jo manā gadījumā nebija pietiekami daudz vietas, tāpēc tas nav iekļauts pamācībā.

2. darbība: sagatavojiet savu Raspberry Pi

Iegūstiet savu Raspian Jessie ar Pixel operētājsistēmu no oficiālās Raspberry Pi vietnes un pēc tās lejupielādēšanas izpakojiet to. Jūs saņemsiet attēla failu. Lai to iegūtu Pi, jums tas jāraksta SD kartē, izmantojot Win32 Disk Imager. Kad tas ir instalēts, atlasiet attēla failu un disku, kurā atrodas SD karte. Pēc tam nospiediet rakstīt un gaidiet, līdz tas ir pabeigts.

Kad tas ir pabeigts, noklikšķiniet uz SD kartes kartē File Explorer un atveriet failu ar nosaukumu cmdline.txt, dodieties teksta faila beigās tieši pirms rootwait un, protams, ierakstiet “ip = 254.169.10.2” ar atstarpēm. Pēc saglabāšanas ar peles labo pogu noklikšķiniet kaut kur loga iekšpusē un izveidojiet jaunu failu ar nosaukumu 'ssh'. Ņemiet vērā, ka šim failam nav faila paplašinājuma. Lai pārliecinātos, ka tam nav paplašinājuma, failu pārlūkā noklikšķiniet uz “Skatīt” un pārbaudiet “slēptie faili”. Ja tas to pārdēvē un izdzēš paplašinājumu, lai tas tikai lasītu “ssh”.

Kad tas ir izdarīts, jūs beidzot varat ievietot savu SD karti Raspberry Pi. Lejupielādējiet ssh klientu (es iesaku MobaXterm). Un izveidojiet savienojumu, izmantojot ssh, ar iepriekš iestatīto IP adresi “254.169.10.2”. Lietotājvārds ir 'pi', parole 'aveņu'. Ja vēlaties, varat nomainīt paroli, terminālī ierakstot komandu “sudo passwd” un izpildot norādījumus. Tā kā Fanair izmantosim labu SD kartes daļu, jums vajadzētu paplašināt pieejamo krātuvi, ierakstot “sudo rapi-config”, izvēloties “Papildu opcijas” un pēc tam “Izvērst failu sistēmu”. Ja tiek prasīts restartēt.

Mēs izmantosim 1 vadu, SPI un I2C saskarni. Lai tos varētu izmantot, vispirms tie ir jāiestata!

3. darbība: savienojiet visu kopā

Savienojiet visu kopā
Savienojiet visu kopā
Savienojiet visu kopā
Savienojiet visu kopā

Ir pienācis laiks izveidot ķēdi! Pirmo reizi jums, iespējams, vajadzētu to izmēģināt uz maizes dēļa, bet, ja jums nav laika, varat mēģināt to lodēt kopā.

Nepieciešamā ķēde izskatās kā iepriekš, ērtībai ir iekļauta arī maizes dēļa versija.

4. darbība: izveidojiet savu datu bāzi

Lai efektīvi saglabātu visus saņemtos datus, mēs izmantosim TSQL MySQL datu bāzi. Pirms MySQL instalēšanas pārliecinieties, vai viss ir atjaunināts, ievadot dažas komandas terminālī:

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

Pieņemiet katru uzvedni, ierakstot 'y' un ievadiet.

Lai instalētu MySQL veidu:

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

Kad tiek prasīts, izveidojiet izvēlēto saknes paroli.

Kad pieteikšanās ir pabeigta, izmantojiet:

mysql -uroot -p

Un ierakstiet savu paroli.

Iegūstiet Fanair kodu no My Github! Noklikšķiniet uz "Klonēt vai lejupielādēt" un pēc tam uz "Lejupielādēt ZIP". Izsaiņojiet kodu izvēlētajā mapē. Vaicājums, lai izveidotu pilnībā funkcionējošu datu bāzi, atrodas datu bāzes mapē. Atveriet failu, nokopējiet kodu un ielīmējiet to terminālī ar atvērtu MySQL. Pēc tam noklikšķiniet uz Enter un datu bāze ir pabeigta!

5. solis: laiks kodam

Lai izmantotu visus sensorus, jums acīmredzami jāpalaiž programma. Par laimi kods jau ir izdarīts (lielākoties), un mēs to jau lejupielādējām, iegūstot datu bāzes SQL vaicājumu.

Kā jau teicu, ir dažas lietas, kas vēl jāmaina / jāpievieno, lai programma darbotos pareizi. Pirmkārt, programma izmanto Darksky API, lai iegūtu laika apstākļu datus, pamatojoties uz garumu un platumu. Lai to izmantotu, jums jāreģistrējas. Pirmie 1000 zvani ir bez maksas, un pēc tam par zvanu jāmaksā 0,0001 USD. Esmu dzirdējis, ka, ja jūs nemaksājat, jūsu konts tiek bloķēts. Godīgi sakot, USD 0,0001 par zvanu ir diezgan lēts. Fanair katru stundu izsauc jaunākos datus, kas nozīmē, ka gada laikā, ja tas darbosies pilnu slodzi, tas jums izmaksās tikai 0,876 USD. Jūs arī saņemat 41 dienu bez maksas, ja Fanair darbojas pilnu slodzi.

Kad esat reģistrējies, meklējiet savu API atslēgu. Meklējiet savas atrašanās vietas garumu un platumu Google kartēs vai mēģiniet to ievietot Google. Izveidojiet jaunu teksta failu Fanair saknes direktorijā (ar klasēm, main.py …). Piešķiriet failam nosaukumu “key_location.txt”. Atveriet teksta failu un pirmajā rindā ielīmējiet savu Darksky API atslēgu. Otrajā rindā ielīmējiet savu garumu un trešajā rindā savu platumu (abus decimālā formātā). Kad esat pabeidzis, saglabājiet failu.

Tajā pašā direktorijā izveidojiet citu teksta failu ar nosaukumu "database_dsn.txt". Pirmajā rindā vajadzētu teikt “localhost”. Otrā rinda ir sakne. Trešajā rindā jums jāievada parole, ko iepriekš izveidojāt datu bāzei, bet ceturtajā un pēdējā rindā - fanair.

Ar peles labo pogu noklikšķiniet uz faila main.py un atlasiet rediģēt. Jāmaina 'fanair = Fanair (5, 26, 17, 27, 22, 4, "AM2301", 1, 0, 0, 0, "key_location.txt", "database_dsn.txt"). Ja sekojāt attēlam, pirmās 5 vērtības jāmaina no “5, 26, 17, 27, 22, 4” uz “20, 21, 26, 19, 13”. “/home/muhsin/Applications/Fanair” arī jāmaina uz jūsu Fanair saknes ceļu (kur atrodas main.py). Noteikti ievietojiet slīpsvītru “mājas” priekšā, bet ne aiz “Fanair”.

Tagad tas viss ir lieliski, bet kodam ir jāiekļūst Pi. Par laimi mums sftp protokols pastāv. Lai ievietotu failus Pi, izmantojiet sftp klientu, piemēram, FileZilla, vai, ja esat nolēmis izmantot MobaXterm, varat failus viegli augšupielādēt sftp saskarnē pa kreisi no termināļa.

Pēc manas pieredzes Raspberry Pi ne vienmēr iegūst pareizo datumu un laiku. Lai pārliecinātos, ka saņemsiet pareizo datuma laiku, iesaku ievērot šo rokasgrāmatu: Raspberry Pi sinhronizācijas datums un laiks.

Visbeidzot, ir jāinstalē dažas bibliotēkas un jāaktivizē dažas saskarnes:

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

Adafruit DHT:

'pip3 install adafruit_python_dht'

1 vads:

  1. "sudo raspi-config"
  2. "Saskarnes opcijas"
  3. '1 vads'
  4. Iespējot
  5. "sudo nano /boot/config.txt"
  6. Pievienojiet šai rindai failu: 'dtoverlay = w1-gpio'
  7. "sudo reboot"

SPI:

  1. "sudo raspi-config"
  2. "Saskarnes opcijas"
  3. “SPI”
  4. Iespējot
  5. "sudo reboot"
  6. "sudo nano /boot/config.txt"
  7. Meklējiet “dtparam = spi = on” un noņemiet komentārus, noņemot atsauci.
  8. 'sudo apt-get install python3-dev

Smbus:

  1. "sudo raspi-config"
  2. "Saskarnes opcijas"
  3. "I2C"
  4. Iespējot
  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. Meklējiet dtparam = i2c_arm = on un noņemiet komentārus, noņemot atsauci.

kolba

pip3 instalēt kolbu

mysql savienotājs

'pip3 instalēt -Iv mysql -savienotājs == 2.1.4'

spidev

'pip3 instalēt py-spidev'

tumšs

'pip3 install darkskylib'

6. darbība: izmēģiniet to

Ja jums ir izdevies tikt tik tālu, pieskarieties sev aizmugurē. Tagad viss ir darīts, lai Fanair darbotos pareizi. Tātad, lai to pārbaudītu, ierakstiet “cd”””. Faila atrašanās vieta ir "/home/pi", piemēram, ja jūs tikko ielīmējāt savā mājas direktorijā. Pēc tam ierakstiet “python3 main.py” un ļaujiet tai atpūsties 15 minūtes, lai pēc tam datu bāzē būtu dati. Pēc tam nospiediet “ctrl + c”, lai apturētu programmu, un ierakstiet “python3 Flask.py”. Lai redzētu, vai jūsu vietne darbojas, jums ir jāseko sērfošanai uz jūsu Pi IP adresi, kuru esat izveidojis ar “: 5000” pēc tā (piemēram, 169.254.10.1:5000 ').

Lai tas palaistu automātiski pēc palaišanas:

"sudo nano /etc/rc.local"

Faila beigās BET PIRMS izejas 0:

"sudo python3" /main.py "&"

"sudo python3" /Flask.py "&"

Apsveicam! Tagad jūsu skriptam vajadzētu darboties no sākuma, un jūs esat gatavs! Ja plānojat turpināt projektu un vēl neesat to izdarījis, es ieteiktu jums visu pielodēt kopā, lai pārliecinātos, ka viss paliek vietā. Lai gan, protams, darbojas arī maizes dēlis, ja nespēlējat to pārvietot.

Ieteicams: