Mündəricat:
- Addım 1: Materiallar
- Addım 2: Bağlantılar
- Addım 3: 3D çap
- Addım 4: Kod
- Addım 5: Verilənlər bazası
- Addım 6: Wi-Fi şəbəkəsinə qoşulun
- Addım 7: Hər şeyi bir yerə yığın
- Addım 8: Başlayın
Video: AirPi - Hava keyfiyyəti sensoru: 8 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
Niyə baş ağrısı aldığınızı heç düşündünüzmü? Və bu pis hava keyfiyyətindən qaynaqlanırsa? Bu cihazla bunun olub olmadığını yoxlaya bilərsiniz. Bu cihaz CO2 dəyərini, TVOC dəyərini, temperatur və rütubəti ölçür. Havanın keyfiyyətini LCD displeydə canlı olaraq görə bilərsiniz və təhlükəli olub olmadığını aydın şəkildə görə bilərsiniz. Bu yolla pəncərələrinizi vaxtında aça bilərsiniz.
Cihazı brauzerinizdə işə saldığınız zaman göstərilən IP ünvanını daxil etsəniz veb açılacaq. Keçmiş dəqiqələrin / saatların qrafikləri ilə birlikdə daxili mühit haqqında bir çox məlumat görə bilərsiniz. Tablosunda canlı bir göstəriş və bəzi məlumatlar və məsləhətlər də var.
Bu layihə Howest Kortrijk, NMCT (New Media and Communication Technology) tələbəsi tərəfindən hazırlanmışdır.
Addım 1: Materiallar
Bu layihəni yaratmaq üçün aldığım hər şey budur. Bu, 3D çapın qiymətindən asılı olaraq nisbətən ucuz bir layihədir. Məktəbdə çap edə bilsəniz, bu çox ucuz ola bilər. Əks təqdirdə, onu çap etdiyiniz yerdən və çap etdiyiniz materialdan asılıdır. Fərdi rezistorlar və ya LEDləri tapmaq çətin olduğu üçün toplu olaraq çox aldığımı görəcəksiniz və bu onu daha da ucuzlaşdırır. Vaxtınız varsa, əksər məhsulları aliexpress.com saytında sifariş edə bilərsiniz, çatdırılma bir müddət çəkə bilər, ancaq bu şəkildə xərclərinizi məhdudlaşdıra bilərsiniz.
Çap olmadan bu layihəyə xərclədiyim pul 81, 80 avrodur.
Ehtiyac duyduğunuz materiallar bunlardır:
Dövrə:
- Moruq Pi 3
- SD kart 8GB (minimum)
- CCS811 hava keyfiyyəti sensoru
- DHT22 temperatur və rütubət sensoru
- Potansiyometr (kontrastlı LCD)
- LCD 16x2
- Dişi -dişi tullanan tellər
- Yaşıl və qırmızı LED
- Rezistorlar (2x470ohm və 1 4700ohm)
Dava:
- 3D çap
- Vintlər
- 2 komponentli yapışqan (və ya digər isti yapışqan)
- ip kəsici alət
Yalnız PCB istifadə edirsiniz:
- Lehimleme dəmir
- Flux (asanlaşdırır)
- Qalay
- Təcrübə pcb 2x4cm
Addım 2: Bağlantılar
Telləri yuxarıdakı kimi bağlayın. Sürtünmə sənədində bir elektrik dövrəsi görə bilərsiniz. Çox mürəkkəb bir dövrə deyil, amma mümkün qədər kiçik etmək istəyirsinizsə, mütləq bir sınaq PCB lövhəsi əldə etmək istərdiniz. GND və Vin PCB lövhəsinə qoşulmayacaqsa, kabellər eyni olardı. Sensorlar qadın tullanan tellər və ya lehimləmə ilə kişilər tərəfindən bağlanacaq. Rezistoru DHT22 sensoruna lehimləməyi unutmayın.
Qısa kabellər də istifadə etməyi məsləhət görürəm, 10 sm olmalıdır. Əks təqdirdə qutu daha çox kabellə doldurulacaqdı. Çapın ölçüsü mümkün qədər kiçik olduğundan çox uzun olanlara ehtiyacınız yoxdur.
Addım 3: 3D çap
Bir iş haqqında düşünərkən başıma gələn ilk dərs 3D çap idi. Atam serverdən başqa əşyalar çap etdirdiyindən onları özü hazırladı. Birlikdə bu dizaynı yaratdıq və hər cəhətdən öyrəndik. Kifayət qədər yaxşı soyudulmalı, hər şeyi yerində yıxa bilərik, yoxsa yerə itələyə bilərik.
Hətta hər şeyin uyğun olub olmadığını yoxlamaq üçün hər bir komponenti çəkdik. Fayl hər kəs üçün əlçatandır və bəzi rəyləri eşitmək istərdik. Nəticədən çox məmnun olduq.
Addım 4: Kod
Bu layihənin kodunu Github -da tapa bilərsiniz. Digər pinlərdən istifadə etmisinizsə (məsələn, LED-lər üçün başqa bir GPIO-pin, bu dəyişənləri tənzimləməlisiniz. Veb sayt üçün web.py və sensorları oxumaq və yeniləmək üçün web.py olmaqla iki python skripti işləyəcək. Məlumat bazası LCD sinifini lcd.py -dən idxal edəcəyik.
Konfiqurasiya edilmiş moruq pi ilə işə başlaya bilərsiniz. Əvvəlcə bütün paketləri yeniləməli və təkmilləşdirməlisiniz:
sudo apt-get update && sudo apt-get upgrade
Bundan sonra aşağıdakı paketləri quraşdırmalısınız:
sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
İndi bir virtual mühit yaradın:
me@my -rpi: ~ $ python3 -m pip quraşdır -pip setuptools təkərini təkmilləşdir
me@my-rpi: ~ $ mkdir project1 && cd project1 me@my-rpi: ~/project1 $ python3 -m venv-System-site-packages env me@my-rpi: ~/project1 $ source env/bin/ aktivləşdir (env) me@my-rpi: ~/project1 $ python -m pip quraşdır mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib
Bu edildiyindən kodu GitHub -dan virtual mühitinizə kopyalaya bilərsiniz. Bu müxtəlif yollarla edilə bilər.
Conf qovluğunda, lazım olduqda tənzimləməli olduğunuz dörd fayl tapa bilərsiniz. Hər bir faylda istifadəçini və ana istiqamətini mütləq dəyişdirməlisiniz. Kodumu dəyişmədiyiniz müddətcə uWSGI ini yaxşı olmalıdır, lazım olduqda istifadəçini və virtual şəbəkəni dəyişdirdiyinizə əmin olun.
CCS811 sensoru qəsdən arduino üçün istifadə edildiyindən, bu, moruq pi sürətində i2c avtobusu ilə əlaqə qura bilməz. Konfiqurasiya faylında sürəti 10000 -ə (9600 istifadə etdim) qədər azaltmalı olacaqsınız.
Adafruit sensoru kitabxanasını da əldə etməlisiniz. Bunu burada izah edə bilərəm, amma bütün bunları çox yaxşı izah edən mükəmməl bir adafruit bələdçisi var.
Moruq bağlandıqda python skriptlərinin avtomatik işləməsini istədiyimiz üçün xidmətlərdən istifadə etməli olacaqsınız. Kodumu saxlasanız yaxşı olarlar. Onların işləməsi üçün etməniz lazım olan tək şey onları işə salmaqdır. Bunu etməzdən əvvəl son bir şey var.
Bir nginx veb serveri istifadə etdiyimiz üçün, varsayılanı deaktiv etməli və öz konfiqurasiyamızla əvəz etməli olacağıq. Bunun üçün bu addımlara əməl edilməlidir:
- conf/nginx-i *mövcud saytlara *kopyalayın
- Varsayılan konfiqurasiyaya keçidi silin
- Yeni konfiqurasiyaya keçid əlavə edin
- Dəyişiklikləri saxlamaq üçün nginx -i yenidən başladın
me@my-rpi: ~/project1 $ sudo cp conf/project1-*. service/etc/systemd/system/
me@my-rpi: ~/project1 $ sudo systemctl daemon-reload me@my-rpi: ~/project1 $ sudo systemctl start project1-* me@my-rpi: ~/project1 $ sudo systemctl status project1-*
Nginx və mysql hər zaman işləməlidir. Moruq pi ilə birlikdə başlayırlar. Veb skript və sensor skript hələ deyil.
Bunu etmək üçün hələ də bu iki xidməti bu əmrlərlə aktivləşdirməlisiniz:
sudo systemctl project1-flask.service imkan verir
sudo systemctl project1-sensor.service imkan verir
Addım 5: Verilənlər bazası
Verilənlər bazam üç cədvəldən ibarətdir. İstifadəçinin digər cədvəllərlə heç bir əlaqəsi yoxdur. Bu yalnız daxil olmaq və veb sayta giriş vermək üçün istifadə olunur. Cihaz açıldıqda, CO2 dəyəri və TVOC dəyəri hər 50 saniyədə bir verilənlər bazasına yazılacaq. Hər 5 dəqiqədə bir temperatur və rütubət. Bu şəkildə keçmişə aydın bir baxış əldə edirik.
SQL faylını burada tapa bilərsiniz, ancaq moruq pi haqqında məlumat bazasını əldə etmək üçün aşağıdakı adımları yerinə yetirməlisiniz:
Əvvəlki addımda paketlər quraşdırıldıqdan sonra mariadb/mysql dərhal işləməlidir. Bunu bu sətirlə yoxlaya bilərsiniz:
me@my-rpi: ~ $ sudo systemctl status mysql
Verilənlər bazası və istifadəçilər yaratmaq üçün koddakı sql-skriptləri GitHub-dan işlədə bilərsiniz. Bunu düzgün etsəniz, bu əmrdən istifadə edərək masalarınızı görməlisiniz:
me@my-rpi: ~ $ echo 'masaları göstər;' | mysql project1 -t -u project1 -admin -p
İndi hər şey hazırdır, hər şeyin işlədiyinə əmin olmaq üçün bunu hal olmadan sınaya bilərsiniz. Wi -Fi -ya qoşulmadığınız təqdirdə, onu bir Ethernet kabeli ilə bağlamalı və əl ilə işləməlisiniz.
Addım 6: Wi-Fi şəbəkəsinə qoşulun
Nano'da wpa ilə əlaqəli konfiqurasiya faylını açın (heç bir əhəmiyyəti yoxdur, sadəcə mətn redaktoru ilə işləyə biləcəyinizə əmin olun).
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Faylın altına gedin və aşağıdakıları əlavə edin (ssid adını və parol adını özünüzlə əvəz edin):
şəbəkə = {
ssid = "ssid-name" psk = "password-name"}
Şifrəli bir parol yaratmaq üçün wpa_passphrase istifadə edə və hər şeyi daha etibarlı etmək üçün wpa_supplicant.conf psk -ə kopyalaya bilərsiniz.
wpa_passphrase "ssid-name" "parol adı"
Bu Wi-Fi şəbəkəsinə avtomatik olaraq qoşulmasını istəyirsinizsə və konfiqurasiya faylında başqaları varsa, konfiqurasiya faylında bu xətti şəbəkəyə əlavə edərək prioriteti daha yüksək səviyyəyə dəyişdiyinizə əmin olun:
prioritet = 2
Arayüzü yenidən qurmağı unutmayın:
wpa_cli -i wlan0 yenidən konfiqurasiya edin
İndi hər şey hazırdır və wifi şəbəkəsinə qoşuldunuz.
Addım 7: Hər şeyi bir yerə yığın
Hər şey telli və lehimli olduğundan, işə gələ bilərik. Kassanı boş tellər olmadan aça biləcəyiniz üçün hazırlanmışdır. Bu, hər şeyin alt hissəyə yapışdırıldığı deməkdir. Ediləcək ilk şey moruq üçün bir az düzəlişdir. Hər küncündə deşiklər var, amma bunlar olması lazım olduğu qədər böyük deyil. Diametri 3 mm -lik bir vidaya uyğun olmalıdır. Delikləri bir az daha genişləndirmək üçün cilalamalı olduq.
Ediləcək ikinci şey, hər çuxura bir vida ipi kəsməkdir. Bu çətin görünə bilər, ancaq düzgün vasitələrlə asanlıqla edilə bilər. Bunu yerli bir hardware mağazasında etməyi məsləhət görürəm, sadəcə bir ip kəsmə aləti istəyin. Atam zərgər olduğu üçün işdə bunu etmək üçün alətlərə sahib idi. Yeni bir stl faylı yükləyə bilərəm ki, sonradan çap olunsun, amma bunun üçün çox dəqiq bir printer lazımdır.
Üçüncü addım pi -ni alt hissəyə vidalaşdırmaqdır. 3 mm diametrli 4 7 mm uzunluğunda vintlərə ehtiyacınız olacaq. Bundan sonra, PCD lövhəsini alt hissənin yuxarı hissəsindəki yerə itələyə bilərsiniz. CCS811 sensoru sol tərəfdəki təmin edilmiş yerə itələyə bilər və DHT11 sağ lövhəyə yapışdırıla bilər. Hər ikisi də kifayət qədər təcrid olunmuş və havalandırılmışdır, lakin sonradan içəridə hələ də qızdırıldığını gördük. Bu barədə daha sonra.
Sonra LED -ləri borusuna bağlamalısınız. Bunu 2 komponentli yapışqanla etdik, ancaq istədiyiniz kimi edə bilərsiniz. Orada qaldıqlarından əmin olun.
İndi LCD ekranı bağlaya bilərsiniz, əvvəlkilərlə eyni diametrli vintlərə ehtiyacınız olacaq, ancaq bir az daha uzun. Mənim boyum 1 sm idi. Dörd vida vidalanarsa, yalnız bir şey qalır. Üst hissəni yapışdırın. Lazım olan hər şey eyni diametrli 4 vintdir və bunlar 2 sm -dir. İndi hər şey yerində olmalıdır və işə başlaya bilərsiniz.
Addım 8: Başlayın
Bu layihənin başlanğıc prosesi çox asandır:
- Elektrik kabelini korpusun sol tərəfinə bağlayın. Çox görünmür, ancaq havalandırma deliklərindən görə bilərsiniz. Bir dəfə alsanız, bir daha problem olmayacaq.
- Başlamaq üçün bir az vaxt verin.
- IP ünvanı on saniyə ərzində ekranda görünəcək. Etməyiniz lazım olan tək şey, eyni şəbəkəyə qoşulduğunuzdan əmin olmaq və brauzerinizin ünvan çubuğuna IP ünvanını daxil etməkdir.
- İndi veb saytdasınız. Hələ hesabınız yoxdur, buna görə hesab yaradın.
- Qeydiyyatdan keçmisinizsə, daxil olun.
- Bitdi! Veb səhifədəki bütün məlumatları görə bilərsiniz və LCD displey cari hava keyfiyyətini göstərir.
İstilik yüksəldiyindən, sensorları korpusun altına yerləşdirdik. Bu şəkildə temperaturun qeydə alınan dəyərlərə böyük təsiri olmayacaq. Optimal ölçülər üçün cihazı ayağa qaldırın və ya sadəcə divara asın.
Tövsiyə:
Arduino UNO ilə Kapasitif Barmaq İzi Sensoru Arasında: 7 addım
Arduino UNO ilə Kapasitif Barmaq İzi Sensoru Arasında: Hey, nə var, uşaqlar! Akarsh burada CETech.Today layihələrimizə qoruyucu bir qat əlavə edəcəyik. Bunun üçün heç bir mühafizəçi təyin etməyəcəyimizdən narahat olmayın. DFRobot -dan yaraşıqlı kiçik görünüşlü barmaq izi sensoru olacaq
Arduino ilə DIY Nəfəs Sensoru (İletken Örgü Uzanma Sensoru): 7 addım (şəkillərlə)
Arduino ilə DIY Nəfəs Sensoru (İletken Örgü Stretch Sensor): Bu DIY sensoru, keçirici trikotaj uzanma sensoru şəklində olacaq. Göğsünüzü/mədənizi əhatə edəcək və sinə/mədə genişləndikdə və daralanda sensoru və nəticədə Arduino -ya verilən qidalanma məlumatlarını genişləndirəcək. Belə ki
Arduino Günəş Enerjili İstilik və Nəmlik Sensoru 433mhz Oregon Sensoru Olaraq: 6 Addım
Arduino Günəş Enerjili İstilik və Rütubət Sensoru 433mhz Oregon Sensoru olaraq: Bu günəş enerjisi ilə işləyən bir temperatur və rütubət sensoru qurğusudur. Sensor 433mhz Oregon sensorunu təqlid edir və Telldus Net şlüzündə görünür. Nə lazımdır: 1x "10-LED Günəş enerjisi hərəkət sensoru " ebaydan. 3.7v xəmir olduğunu yazdığınızdan əmin olun
Toxunma Sensoru və AC/DC işıqlarını idarə edən səs sensoru: 5 addım
Toxunma Sensoru və AC/DC İşıqlarını İdarə edən Səs Sensoru: Bu mənim ilk layihəmdir və bu iki əsas sensora əsaslanaraq işləyir, biri Sensor, ikincisi Səs sensoru, toxunma sensoruna toxunanda AC işığı dəyişəcək. AÇIQ, buraxsanız İşıq sönəcək və eyni
Su keyfiyyəti test cihazı: 5 addım
Su Keyfiyyət Test Cihazı: Bu, daha böyük bir layihədir və ultrasəs sensoru, Çözünmüş Oksigen sensoru, İnfra-Qırmızı kamera, test nəticələrinin qrafik şəkildə təqdim edilməsi üçün mobil tətbiq kimi bir çox sensoru ehtiva edir. bunu qoyun