Mündəricat:

Fanair: Otağınız üçün Hava İstasyonu: 6 Addım (Şəkillərlə)
Fanair: Otağınız üçün Hava İstasyonu: 6 Addım (Şəkillərlə)

Video: Fanair: Otağınız üçün Hava İstasyonu: 6 Addım (Şəkillərlə)

Video: Fanair: Otağınız üçün Hava İstasyonu: 6 Addım (Şəkillərlə)
Video: Японский онсэн-рёкан с водопадом напоминает старинный музей | Каябукиносато Хатаго | АСМР 2024, Noyabr
Anonim
Fanair: Otağınız üçün Hava İstasyonu
Fanair: Otağınız üçün Hava İstasyonu

Mövcud havanı öyrənmək üçün saysız -hesabsız yollar var, ancaq o zaman yalnız çöldəki havanı bilirsiniz. Evinizin içərisində, müəyyən bir otağın içərisində havanı bilmək istəyirsinizsə nə etməli? Bu layihə ilə həll etməyə çalışdığım budur.

Fanair hiss etmək üçün bir çox sensordan istifadə edir:

  • temperatur
  • rütubət
  • işıq
  • müəyyən qazlar
  • hava təzyiqi

Çox yığcamdır və dəyərləri əldə etmək, bir MySQL verilənlər bazasında saxlamaq və sonra bir veb saytında asanlıqla əldə etmək üçün Raspberry Pi 3 B -dən istifadə edir. Kodun və veb saytın yerləşdiyi yer üçün faktiki hava məlumatlarını əldə etmək bacarığıdır ki, veb sayt xaricdəki havanı da yoxlamaq üçün istifadə olunsun.

Addım 1: Bütün Lazımi Məhsulları əldə edin

Bütün Lazımi Məhsulları Alın
Bütün Lazımi Məhsulları Alın

Əvvəlcə tellər / tullanan kabellər kimi əsas elektronikaya ehtiyacınız olacaq. Daimi bir layihə olaraq hər şeyi birlikdə lehimləməyi planlaşdırırsınızsa, əlbəttə ki, hər şeyi lehimləmək üçün bir lehimləmə dəmirinə, lehimə və öz rahatlığınız üçün bir PCB -yə ehtiyacınız olacaq.

Daha konkret maddələr üçün bu material materialını hazırladım.

  • Moruq Pi 3 B
  • MPC3008-8 Kanal 10 Bitlik ADC
  • AM2301 Termometr İstilik və Nəmlik Sensoru
  • WR Rademacher WR-tyoe 930-1 PCB
  • Prototip üçün ABS qutusu (qara)
  • LDR
  • MQ135 qaz sensoru
  • 2x BC517 Darlington Transistor
  • RGB LED
  • Rezistor paketi
  • Buzzer
  • Tellər
  • BMP280 Barometr
  • Sakit USB fan (5V)

Hamısı birlikdə təxminən 110 avroya başa gəlməlidir. Ümumi qiymətin təxmini olduğunu unutmayın. Ayrıca, layihəmdə fotoşəkildə bir LCD ekran var, amma mənim vəziyyətimdə kifayət qədər yer olmadığından bağlı deyil, buna görə təlimatlandırmaya daxil edilmir.

Addım 2: Raspberry Pi -ni hazırlayın

Raspian Jessie -ni Pixel əməliyyat sistemi ilə rəsmi Raspberry Pi saytından əldə edin və yüklədikdən sonra açın. Bir şəkil faylı alacaqsınız. Pi-də əldə etmək üçün Win32 Disk Imager istifadə edərək SD Karta yazmalısınız. Quraşdırıldıqdan sonra şəkil faylını və SD Kartın yerləşdiyi sürücünü seçin. Sonra yaz düyməsini basın və bitənə qədər gözləyin.

Bitirdikdən sonra File Explorer-də SD Kartınızı vurun və 'cmdline.txt' adlı faylı açın, rootwait-dən əvvəl mətn faylının sonuna gedin və əlbəttə ki, boşluqlarla 'ip = 254.169.10.2' yazın. Saxladıqdan sonra pəncərənin içərisindəki bir yerə sağ vurmalı və 'ssh' adlı yeni bir fayl yaratmalısınız. Qeyd edək ki, bu faylın fayl uzantısı yoxdur. Bir uzantının olmadığından əmin olmaq üçün fayl araşdırıcısında 'görünüş' düyməsini basın və 'gizli faylları' yoxlayın. Adını dəyişirsə və uzantını silsə, sadəcə 'ssh' yazar.

Bunu etdikdən sonra nəhayət SD kartınızı Raspberry Pi-yə qoya bilərsiniz. Bir ssh müştərisini yükləyin (MobaXterm tövsiyə edirəm). Ssh istifadə edərək əvvəllər təyin etdiyiniz '254.169.10.2' IP ilə əlaqə qurun. İstifadəçi adı 'pi', parol 'moruq'. İstəyirsinizsə, terminalda 'sudo passwd' əmrini yazaraq və təlimatları izləyərək şifrənizi dəyişə bilərsiniz. Fanair üçün yaxşı bir SD Kart istifadə edəcəyimiz üçün 'Ətraflı Seçimlər' və sonra 'Fayl Sistemini Genişləndir' seçərək 'sudo rapi-config' yazaraq mövcud yaddaşı genişləndirməlisiniz. Yenidən başlatmaq istənirsə.

1 telli, SPI və I2C interfeysindən istifadə edəcəyik. Onlardan istifadə edə bilmək üçün əvvəlcə onları qurmalısınız!

Addım 3: Hər şeyi bir -birinə bağlayın

Hər şeyi bir -birinə bağlayın
Hər şeyi bir -birinə bağlayın
Hər şeyi bir -birinə bağlayın
Hər şeyi bir -birinə bağlayın

Bir dövrə etmək vaxtıdır! İlk dəfə bir çörək taxtasında sınamalısınız, amma buna vaxtınız yoxdursa, birlikdə lehimləməyə cəhd edə bilərsiniz.

Ehtiyacınız olan dövrə yuxarıdakı kimi görünür, rahatlıq üçün çörək taxtası versiyası da daxildir.

Addım 4: Veritabanınızı yaradın

Aldığınız bütün məlumatları səmərəli şəkildə saxlamaq üçün TSQL MySQL verilənlər bazasından istifadə edəcəyik. MySQL -i qurmadan əvvəl terminalda bir neçə əmr yazaraq hər şeyin aktual olduğundan əmin olaq:

  • 'sudo apt-get yeniləmə'
  • 'sudo apt-get upgrade'
  • 'sudo apt-get dist-upgrade'

'Y' yazaraq hər istəyi qəbul edin və daxil edin.

MySQL qurmaq üçün:

  • 'sudo apt-get mysql-server quraşdırın'
  • 'sudo apt-get mysql-client qurun'

İstədiyiniz zaman istədiyiniz kök parol yaradın.

Girişdən istifadə edərək quraşdırma başa çatdıqdan sonra:

'mysql -uroot -p'

Və şifrənizi yazın.

My Github -dan Fanair kodunu əldə edin! 'Klonla və ya endir' və sonra 'ZIP Yüklə' düyməsini basın. Seçdiyiniz qovluqdakı kodu açın. Tam işləyən verilənlər bazası yaratmaq üçün sorğu verilənlər bazası qovluğundadır. Kodu kopyalayın və MySQL açıq olaraq terminala yapışdırın. Sonra daxil edin və verilənlər bazası hazırdır!

Addım 5: Kodun vaxtıdır

Bütün sensorlardan istifadə etmək üçün bir proqram işə salmalısınız. Xoşbəxtlikdən, kod artıq hazırlanmışdır (çox hissəsi üçün) və verilənlər bazası SQL sorğusu alınarkən artıq yüklədik.

Dediyim kimi, proqramın düzgün işləməsi üçün hələ də dəyişdirilməsi / əlavə edilməsi lazım olan bir neçə şey var. Hər şeydən əvvəl proqram, uzunluq və enliyə əsaslanan hava məlumatlarını əldə etmək üçün Darksky API -dən istifadə edir. Ondan istifadə etmək üçün qeydiyyatdan keçmək lazımdır. İlk 1000 zəng pulsuzdur və sonra hər zəng üçün 0.0001 dollar təşkil edir. Eşitmişəm ki, ödəməsən, hesab bağlanacaq. Ədalətli olmaq üçün zəng başına 0.0001 dollar olduqca ucuzdur. Fanair hər saatda ən son məlumatları çağırır, bu da bir il ərzində tam zamanlı işləsəniz bunun sizə yalnız 0.876 dollara başa gələcəyi deməkdir. Fanair tam zamanlı işləsə, 41 gün pulsuz əldə edəcəksiniz.

Qeydiyyatdan keçdikdən sonra API açarınızı axtarın. Google xəritələrində yerinizin uzunluq və enlemini axtarın və ya google -da sınayın. Yeni bir mətn faylı yaradın Fanair -in kök qovluğu (dərsləri ilə, main.py…). Faylı 'key_location.txt' adlandırın. Mətn faylını açın və ilk sətirdə Darksky API açarınızı yapışdırın. İkinci sətirdə uzunluğunuzu və üçüncü sətirdə enleminizi yapışdırın (hər ikisi də decimal formatında). Bitirdikdən sonra faylı qeyd edin.

Eyni qovluqda 'database_dsn.txt' adlı başqa bir mətn faylı yaradın. İlk sətirdə 'localhost' yazılmalıdır. İkinci xətt "kök" dir. Üçüncü sətirdə əvvəllər verilənlər bazası üçün etdiyiniz şifrəni, dördüncü və son sətirdə 'fanair' yazmalısınız.

Main.py faylını sağ vurun və Düzenle seçin. 'Fanair = Fanair (5, 26, 17, 27, 22, 4, "AM2301", 1, 0, 0, 0, "key_location.txt", "database_dsn.txt")' dəyişdirilməlidir. Şəkili izləsəniz ilk 5 dəyər '5, 26, 17, 27, 22, 4' dən '20, 21, 26, 19, 13' ə dəyişdirilməlidir. '/home/muhsin/Applications/Fanair' də Fanair kök yolunuza dəyişdirilməlidir (main.py olduğu yer). "Fanair" dən sonra deyil, "ev" in qarşısına bir çizgi qoyduğunuzdan əmin olun.

İndi hər şey əladır, amma kodun Pi -yə daxil olması lazımdır. Xoşbəxtlikdən, bizim üçün sftp protokolu mövcuddur. Faylları Pi üzərinə qoymaq üçün FileZilla kimi bir sftp müştəri istifadə edin və ya MobaXterm istifadə etmək qərarına gəlsəniz, faylları terminalın solundakı sftp interfeysinə asanlıqla yükləyə bilərsiniz.

Təcrübəmdə Raspberry Pi -də həmişə doğru tarix və saatı əldə etmirəm. Doğru məlumat vaxtını alacağınızdan əmin olmaq üçün bu təlimatı izləməyi təklif edirəm: Raspberry Pi sinxronizasiya tarixi və saatı.

Və nəhayət, bir neçə kitabxananın quraşdırılması və bir neçə interfeysin aktivləşdirilməsi lazımdır:

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

Adafruit DHT:

'pip3 qurun adafruit_python_dht'

1-Tel:

  1. 'sudo raspi-config'
  2. 'İnterfeys Seçimləri'
  3. '1 Tel'
  4. Aktiv et
  5. 'sudo nano /boot/config.txt'
  6. Bu satırı fayla əlavə edin: 'dtoverlay = w1-gpio'
  7. 'sudo yenidən başladın'

SPI:

  1. 'sudo raspi-config'
  2. 'İnterfeys Seçimləri'
  3. 'SPI'
  4. Aktiv et
  5. 'sudo yenidən başladın'
  6. 'sudo nano /boot/config.txt'
  7. 'Dtparam = spi = on' sözünü axtarın və hashtagı silməklə şərhini yazın.
  8. 'sudo apt-get install python3-dev

Smbus:

  1. 'sudo raspi-config' '
  2. 'İnterfeys Seçimləri'
  3. 'I2C'
  4. Aktiv et
  5. 'sudo yenidən başladın'
  6. 'sudo apt-get install -y python-smbus'
  7. 'sudo apt-get install -y i2c-tools'
  8. 'sudo nano /boot/config.txt'
  9. Dtparam = i2c_arm = on axtarın və hashtagı silməklə şərhini yazın.

balon

pip3 Flask quraşdırın

mysql bağlayıcısı

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

spidev

'pip3 py-spidev quraşdırın'

qaranlıq

'pip3 darkskylib quraşdırın'

Addım 6: sınayın

Bunu bu yerə qədər aparmağı bacarmısınızsa, kürəyinizə vurun. İndi Fanair -in düzgün işləməsi üçün hər şey edilir. Bunu yoxlamaq üçün 'cd ""' yazın. Faylın yeri "/home/pi" dir, məsələn, ev kataloqunuza yapışdırmısınızsa. Sonra 'python3 main.py' yazın və 15 dəqiqə dayanmasına icazə verin ki, iş bitdikdə verilənlər bazasında məlumatlar olsun. Bundan sonra 'ctrl + c' düyməsini basaraq proqramı dayandırın və 'python3 Flask.py' yazın. Veb saytınızın işləyib -işləmədiyini görmək üçün Pi: '5000' yazdığınız IP ünvanına girməlisiniz (məsələn: 169.254.10.1:5000 ').

Yükləndikdən sonra avtomatik olaraq işləməsini təmin etmək üçün:

'sudo nano /etc/rc.local'

Faylın sonunda, ancaq 0 -dan çıxmadan əvvəl:

'sudo python3 "/main.py" &'

'sudo python3 "/Flask.py" &'

İndi təbrik edirik, ssenariniz başlanğıcdan başlamalı və SİZ BİTMƏSİNİZ! Layihəni davam etdirməyi planlaşdırırsınızsa və hələ etməmisinizsə, hər şeyin yerində qaldığından əmin olmaq üçün hər şeyi birlikdə lehimləməyinizi təklif edərdim. Baxmayaraq ki, onu çox gəzdirmək üçün oynamırsan, əlbəttə ki, bir çörək taxtası da işləyir.

Tövsiyə: