Mündəricat:
- Addım 1: Pi hazırlayın
- Addım 2: Hər şeyi bağlayın
- Addım 3: I2C -ni sınayın
- Addım 4: MySQL və PhpMyAdmin qurun
- Addım 5: Python Modullarını quraşdırın
- Addım 6: Veritabanına daxil olmaq üçün kod
- Addım 7: İstiliyi Göstərmək üçün Kod
- Addım 8: 3D Çaplı Kassa
- Addım 9: Ediləcək işlər
Video: Raspberry Pi Barometrli Hava Saatı: 9 Addım (Şəkillərlə birlikdə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
Bu təlimatda sizə Adafruit 4 rəqəmli 7 seqmentli I2C ekranda görünən BMP180 I2C sensoru olan Raspberry Pi 2 istifadə edərək əsas Termometr / Barometr saatının necə qurulacağını göstərəcəyəm. Pi, eyni zamanda Pi yenidən başladıqda vaxtı saxlamaq üçün DS3231 real vaxt I2C saat modulundan istifadə edir.
Saat hər biri 5 saniyə ərzində 4 mərhələdən keçir. Əvvəlcə Celsiusdakı temperaturu, sonra Fahrenheitdə sonra barometrik təzyiqi kPa *ilə göstərir (rəqəmlərin məhdud olması səbəbindən bu rəqəm sola doğru gedir) və nəhayət indiki və orta əvvəlki saat.
Bu saatı ən çox fərqləndirən cəhət, hər dəqiqə BMP180 -dən məlumatları qeyd etmək üçün Pi -də MySQL verilənlər bazasından istifadə etməsidir. Mövcud barometrik təzyiq, müəyyən bir müddət ərzində yuxarı və ya aşağı hərəkəti qədər dəyərli olmadığından, bu verilənlər bazasından istifadə edərək, 2 saat ilə 1 saat arasındakı bir saat aralığının ortalamasını hesablayır və bunu indiki təzyiqlə müqayisə edir. Barometrik təzyiqin əhəmiyyətli dərəcədə artması ümumiyyətlə hava şəraitinin yaxşılaşdığını göstərir və böyük bir düşmə yaxınlaşan bir fırtına barədə xəbərdarlıq edə bilər.
Saatda, Pi tərəfindən istehsal olunan istiliyin temperatur göstəricilərinə təsir etməməsi üçün saatın arxasındakı havalandırılmış qapaqlı BMP180 ilə 3D çaplı ABS korpusunda yerləşdirilmişdir. Özünüzü çap etmək istəyirsinizsə, Autodesk 123D Dizayn sxemini təqdim edəcəyəm.
Saat standart bir USB divar siğili ilə təchiz edilmişdir və cəmi 450 mA çəkir.
Pi və I2C -nin əsas quruluşu haqqında çox təfərrüata girməyəcəyəm, çünki bu, bağlantılar verəcəyim bir çox digər təlimatlarda əhatə olunmuşdur.
Addım 1: Pi hazırlayın
Raspberrypi -də ətraflı məlumat üçün Raspberry Pi qurun
- Seçdiyiniz Linux Dağıtımını bir SD karta yükləyin və quraşdırın - Raspbian istifadə etdim
- Pi'yi qoşun və yükləyin
- Saat korpusu Ethernet portunu örtdüyü üçün pi -ni routerimə bağlamaq üçün mikro WiFi adapterindən istifadə etdim.
- SSH istifadə edərək pi -yə qoşulduğunuz başsız rejimdən istifadə etdim, buna görə ehtiyacınız olan tək şey gücdür.
- I2C -ni Pi -də konfiqurasiya edin - Adafruit saytında bu təlimatları izlədim.
Addım 2: Hər şeyi bağlayın
Bu layihədə istifadə etdiyim bütün modullar 5V -ə dözümlüdür və IC -lərin bir -biri ilə ünsiyyət qurması üçün istifadə olunan 2 telli protokol olan I2C -dən istifadə edir, buna görə də naqillər olduqca sadədir. Bütün VCC -ni 5V -ə, bütün Zəminləri birlikdə və bütün SCA və SCL xətlərini sxemə uyğun olaraq birləşdirin. İş bitdi.
Addım 3: I2C -ni sınayın
I2C qurğusunun bir hissəsi, hər şey düzgün bir şəkildə bağlandığı təqdirdə əlavə edilmiş şəklə bənzər i2cdetect'i işə salmaqdır.
Aşağıda uyğun ünvanlar var
- 0x70 = 7 Segment Ekranı
- 0x77 = BMP180 Termometr / Barometr sensoru
- 0x68 = DS3231 Real Time Clock modulu
- 0x57 = həyəcan məlumatlarının saxlanması üçün EEPROM göyərtəsində DS3231.
Addım 4: MySQL və PhpMyAdmin qurun
Buradakı təlimatı izləsəniz, mySQL -in qurulması olduqca sadədir
sudo apt-get mysql-server qurun
MySQL verilənlər bazası yaratmaq və idarə etmək üçün istifadə edə biləcəyiniz Apache -də işləyən bir veb sayt olan phpMyAdmin də quraşdırdım. Dərslik burada
sudo apt-get phpmyadmin quraşdırın
Quraşdırıldıqdan sonra görüntüyə görə quruluşa malik phpMyAdmin istifadə edərək BP180 adlı bir verilənlər bazası qurdum.
İstifadə edərək quraşdıra biləcəyiniz mysqlDB adlı bir python modulundan da istifadə edirəm
sudo apt-get python-mysqldb quraşdırın
Addım 5: Python Modullarını quraşdırın
Sensorlara qoşulmaq üçün istifadə edəcəyiniz aşağıdakı python modullarını yükləyin və quraşdırın.
- Adafruit_BMP085 modulu
- SDL_DS3231 modulu
- Adafruit 7 Segment modulu
Addım 6: Veritabanına daxil olmaq üçün kod
Aşağıdakı kod parçası temperaturu və barometrik təzyiqi qeyd etmək üçün istifadə olunur və hər 5 dəqiqədə bir işləyən bir cron skriptindən (Linux planlı vəzifələri) çağırılır. Crond istifadə etməyi öyrənmək üçün bu təlimata baxın.
NB! Kodlaşdırma bacarıqlarımı zibilliyə salmayın, mən geliştirici deyiləm, bəli, bunu etmək üçün bir milyon daha yaxşı, daha sürətli, daha hamar və daha təmiz yollar var
Kodda, temperaturun 7 dərəcə azaldığını görürsünüz, hətta korpusun kənarına quraşdırılmış BMP180 ilə birlikdə Raspberry Pi tərəfindən istehsal olunan istiliyə bərabərdir. Əvvəlcə onu korpusun içərisində saxladığımda ətraf mühitdən təxminən 15 dərəcə isti idi. Çox xətti görünür, amma heç bir həddi sınamaq imkanım olmadı. Təcrübələrinizin rəyləri təqdir ediləcəkdir.
Addım 7: İstiliyi Göstərmək üçün Kod
Bu kod, girişə uyğun olaraq ekranda keçmək adlanır.
Yenə də geliştirici deyiləm, buna görə kod həqiqətən kobuddur, amma işləyir
Addım 8: 3D Çaplı Kassa
Sonrakı, korpusun dizaynıdır. Xarici qabığın hissələri cəmi 2 mm qalınlığa malik olduğundan forma əyilməyə meylli olduğu üçün bu olduqca çətin idi. Əvvəlcə Pi -nin və bütün hissələrinin maketlərini çəkdim və sonra ətrafındakı mühiti dizayn etdim. Çap 0.25 qat dərinlikdə olan RapMan 3.2 -də (olduqca yavaş bir printerdir) təxminən 7 saat çəkdi.
Əlavə edilmiş sxem, fantastik bir pulsuz proqram parçası olduğunu düşündüyüm Autodesk 123D Dizaynında hazırlanmışdır.
Diqqət yetirin ki, Pi -ni quraşdırmaq üçün lazım olan deliklər dizaynda deyil, çünki çapınız bir az əyilərsə bunları sonradan qazmaq daha yaxşıdır. Davamlı bir ələ ehtiyacınız olan 3 mm -lik bir qazma ucu. Təsadüfən mənim kimi 7 saatlıq çapdan keçməməyiniz üçün dərinliyi bir qədər maskalanan lentlə qeyd edin.
Addım 9: Ediləcək işlər
- Real vaxt saatı, korpus 5-ci dəfə çap edildikdən sonra bir əlavə idi, buna görə də hal-hazırda yaxşı görünməyən korpusun yan tərəfinə yapışdırılır, buna görə dizaynı yenidən etmək və bunun üçün bir yer əlavə etmək istərdim.
- 7 seqmentli ekranın parlaqlığı hazırda ən işıqlı olaraq qurulub ki, bu da güclü işıq şəraiti üçün optimal deyil. Qutunun üstünə bir fotoşəkil rezistoru əlavə etmək və ətraf işıq şəraitinə əsasən 7 seqment parlaqlığını tənzimləmək istərdim.
- Baza çatlaması ilə əlaqədar bəzi kiçik dizayn problemləri var ki, bunlar da həll olunacaq.
- Hər hansı bir fikir xoş gəlir.
Ümid edirəm ki, bu dərsdən zövq aldınız və sizi yola salacaq qədər ilham verici buldunuz. Fikir, öz fikirlərinizi əlavə etmək üçün istifadə edə biləcəyiniz bir platforma təmin etməkdir. Əylənin!
Tövsiyə:
Parlayan Hava Bubble Saatı; Powered by ESP8266: 7 Addım (Şəkillərlə birlikdə)
Parlayan Hava Bubble Saatı; ESP8266 ilə təchiz edilmişdir: "parlayan hava qabarcığı saatı" vaxtı və bəzi qrafikləri maye içərisində işıqlı hava baloncukları ilə göstərir. Led matrisli ekrandan fərqli olaraq, yavaş-yavaş sürüklənən, parlayan hava baloncukları mənə rahatlıq verəcək bir şey verir. 90-cı illərin əvvəllərində "baloncuk ekranı" xəyal edirdim. Geri alın
Gelgit və hava saatı: 9 addım (şəkillərlə birlikdə)
Gelgit və Hava Saatı: Gelgitin yüksək və ya aşağı olduğunu və ya arada bir yerdə olduğunu göstərən tək əli olan analoji gelgit saatlarını satın ala bilsəniz də, istədiyim şey aşağı gelgitin nə vaxt olacağını söyləyəcək bir şey idi. Q -yə baxa biləcəyim bir şey istədim
WiFi Saatı, Taymer və Hava İstasyonu, Blynk İdarə: 5 addım (şəkillərlə)
WiFi Clock, Timer & Weather Station, Blynk Controlled: Bu Morphing rəqəmsal saatıdır (konsepsiyası və dəyişdirmə kodu üçün Hari Wiguna sayəsində), eyni zamanda bir Analog saat, hava xəbər vermə stansiyası və mətbəx timeridir. Smartfonunuzda WiFi ilə Blynk proqramı. Tətbiq sizə imkan verir
Raspberry Pi və Weewx istifadə edərək Acurite 5 -də 1 Hava İstasyonu (digər Hava İstasyonları Uyğundur): 5 Addım (Şəkillərlə)
Raspberry Pi və Weewx istifadə edərək Acurite 5 -də 1 Hava İstasyonu (digər Hava İstasyonları Uyğundur): Acurite 5 -i 1 hava stansiyasından alanda evdən kənarda olduğum zaman havanı yoxlamaq istəyirdim. Evə gəlib qurduqda ya ekranı kompüterə bağlamalı olduğumu, ya da ağıllı mərkəzini almalı olduğumu başa düşdüm
ESP8266 Hava Saatı: 6 Addım (Şəkillərlə birlikdə)
ESP8266 Hava Saatı: Gəlişinizdən çox qürur duyuram və xoş gəldiniz