Mündəricat:
- Addım 1: Parça Seçimi, Alətlər və Materiallar
- Addım 2: Avadanlıqlarımızı birləşdiririk
- Addım 3: Hər şeyi birləşdirmək: Pi qurmaq
- Addım 4: Proqram / Kod
- Addım 5: Kassa
Video: Həssas Veb Saytı olan RPi Hava İstasyonu: 5 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
Bir məktəb layihəsi üçün, toplanan məlumatları gözəl bir şəkildə görselleştirmek üçün bir veb saytı olan bir IoT cihazı hazırlamalı idim. Verilənlər bazası üçün cavab verən veb sayt MySQL (MariaDB) üçün Raspberry Pi 3 işləyən bir Şüşə ilə işləyən bir hava istasyonu qurmağı seçdim. və bütün sensorlarımla məlumat toplamaq üçün bir python skripti. Başdan sona başa çatdırmaq üçün təxminən 2 həftə çəkdim.
Tərəqqimizi DIY icmasının qalan üzvləri ilə bölüşmək üçün təlimatlandırmağa təşviq edildik, budur!
Addım 1: Parça Seçimi, Alətlər və Materiallar
Əvvəlcə bir hava stansiyası üçün hansı sensorların vacib olduğunu anlamalıydım və aşağıdakı məlumatların hamısını ölçmək istədiyimə qərar verdim:
- Temperatur
- Hava təzyiqi
- Rütubət
- Külək sürəti
- UV indeksi
İşdə istifadə etdiyim bütün alətlər, materiallar və hissələr
Parçalar:
- DHT22/AM2302 temperatur və nəm oxunuşları üçün. (15 EUR)
- Adafruit BMP280 Barometrik Təzyiq və temperatur üçün. (12 EUR)
- UV indeksini ölçmək üçün Adafruit SI1145. (10 EUR)
- Külək sürətini ölçmək üçün Adafruit Analog Anemometri (50 EUR)
- Analoq siqnalları rəqəmsal hala çevirmək üçün MCP3008.
- AM2302 üçün 10 kOhm Rezistor.
- Anemometrini gücləndirmək üçün 9V adapter
- Raspberry Pi üçün 5V adapter
- Moruq Pi 3 (İstənilən Pi kifayətdir)
Materiallar:
Hər şeyi saxlamaq və yağışa davamlı etmək üçün plastik bir qab
Alətlər:
- Lehimləmə dəmir və qalay
- Multimetr
- Silikon
- Biraz lent
Ümumilikdə bütün sensorlar mənə təxminən 85 Avroya başa gəlir ki, bu da olduqca dikdir, amma buna uyğun külək sürət sayğacını daxil etmək istədim, buna görə də buna dəyər olduğunu düşünürəm.
Aşağıdakı pdf -də hər şeyi satın ala biləcəyiniz mağazalarla daha ətraflı siyahı tapa bilərsiniz:)
Addım 2: Avadanlıqlarımızı birləşdiririk
Əlbəttə ki, sensorlarımızı Raspberry Pi -yə bağlamalı olacağıq. Hər şeyi düzgün bir şəkildə bağlamaq üçün izləyə biləcəyiniz dəhşətli sxemə baxa bilərsiniz.
Şematik olaraq anemometrimizin enerji mənbəyi olaraq 9V batareyanın istifadə edildiyini görə bilərsiniz, bu test üçün ən yaxşı istifadə olunur, çünki çox uzun sürməyəcək, 9V batareyanı istənilən 7-12V güc mənbəyi ilə əvəz edə bilərsiniz. seçmək.
SI1145 və BMP280 sensorlarımız həm I2C protokolu ilə idarə ediləcək, çünki işləmək ən asandır və daha az telə ehtiyac duyur.
Şematikdəki anemometr burada LDR olaraq göstərilir, çünki anemometr ilə olduqca çox oxşar naqillərə malikdir və fritzing sxemimi qoymaq üçün əsl anemometr tapa bilmədim:)
Addım 3: Hər şeyi birləşdirmək: Pi qurmaq
Hər şeydən əvvəl, İnternetə qoşulduğumuzdan əmin olmalıyıq.
Bunu terminalda etmək üçün aşağıdakı əmri işlədərək wpa_supplicant faylınıza gedə bilərsiniz: sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Faylı bu əlavə edə bilərsiniz:
network = {ssid = "Your_Wifi_SSID" psk = "Your_Wifi_Password" key_mgmt = WPA-PSK
}
Gələcəkdə daha asan daxil olmaq üçün IP ünvanınızı statik olaraq təyin etməyi də seçə bilərsiniz. Bunu etmək üçün bu əmri işlədərək dhcpcd.conf faylına daxil olmalısınız: sudo nano /etc/dhcpcd.conf
Bunu fayla əlavə edin:
wlan0static ip_address interfeysi = 192.168.0.100/24
Sonra Pi -də quraşdırılmış paketlərin tam olaraq yeniləndiyinə əmin olacağıq:
sudo apt-get update && sudo apt-get upgrade
Bu bir müddət çəkə bilər, buna görə narahat olmayın
I2C və SPI protokolunu raspi config -də aktiv etməlisiniz. Bu əmri işlədərək bunu edə bilərsiniz:
sudo raspi-config
Sonra həm I2C, həm də SPI -ni aktivləşdirmək üçün interfeys seçimlərinə keçin
Əvvəlcə layihənizi yerləşdirmək istədiyiniz bir kataloq hazırlamalısınız (buna 'hava istasyonu' deyəcəyik):
cd ~ mkdir hava istasyonu cd hava istasyonu
Sonra python3 virtual mühitimizi qururuq:
python3 -m pip quraşdır-pip setuptools təkərini təkmilləşdir -piton-rf
Sonra, hər şeyin düzgün işləməsi üçün lazım olan digər paketləri qurmalıyıq:
sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
İndi verilənlər bazamızı hazırlayacağıq:
Veritabanımızı hələ də qurmalıyıq. Bunu 'sql' qovluğunda yerləşən kodu/sql faylını işlədərək edə bilərsiniz:
sudo mariadb <sql/db_init.sql
Sql sorğusu ehtiyac duyduğumuz cədvəlləri edəcək və eyni zamanda bir neçə istifadəçini məlumat bazamızı bir az daha təhlükəsiz hala gətirəcək.
Hələ də heç bir real məlumat toplanmadıqda veb saytımızın hər şeyi düzgün göstərdiyinə əmin olmaq üçün verilənlər bazamıza bəzi nümunə tarix məlumatları qoyacaq.
Adafruit_GPIO və MyPyDHT qurmaq üçün daha çox şey etməlisiniz. Əvvəlcə istifadə qovluğuna qayıdın və sonra:
git clone https://github.com/adafruit/Adafruit_Python_GPIO.gitcd Adafruit_Python_GPIO sudo python3 setup.py quraşdırın
cd..git clone -təkrarlanan https://github.com/freedom27/MyPyDHTsudo python3 setup.py install
Addım 4: Proqram / Kod
Hava istasyonu üçün arxa tərəfi qurmalıyıq:
- Sensor oxunuşlarımı və bəzi digər kiçik şeyləri saxlamaq üçün bir mariadb verilənlər bazası- Veb saytını işlətmək üçün bir balon xidməti. lazımsız, amma giriş sistemi istədiyim üçün (bütün məlumatlar bütün istifadəçilər üçün eyni olsa da) verilənlər bazama daxil etmək qərarına gəldim.
Github -dan layihə kodumu layihə qovluğuna kopyalaya bilərsiniz. İstifadəçi qovluğuna gedin və işləyin: git clone https://github.com/BertVanhaeke/Weatherstation/ tempmv -v temp/* weatherstation/
Sonra hava istasyonundakı conf qovluğuna və qovluqdakı bütün fayllara gedin.
'USERNAME' ilə əlaqəli bütün hadisələri istifadəçi adınıza dəyişdirin
Həm də.service fayllarının hər ikisini systemd -ə kopyalamalı və bunları belə sınamalısınız:
sudo cp conf/weatherstation-*. service/etc/systemd/system/sudo systemctl daemon-reloadsudo systemctl start weatherstation-flask.servicesudo systemctl start weatherstation-sensor.service
sudo systemctl status hava istasyonu-*
Sonra nginx konfiqurasiyasını redaktə etməliyik.
sudo cp conf/nginx/etc/nginx/sites-available/weatherstationsudo rm/etc/nginx/sites-enabled/defaultsudo ln -s/etc/nginx/sites-available/weatherstation/etc/nginx/sites-enabled/weatherstationsudo systemctl nginx.servicesudo systemctl status nginx.service yenidən başladın
Hər şey yaxşı gedirsə, bunu işə salmalı və terminalda bir html çap etməlisiniz:
wget -qO - localhost
İndi hər şey yaxşı işləməlidir. Əvvəldən təyin etdiyimiz moruq Pi-nin IP ünvanına girə və giriş ekranı ilə qarşılana bilərsiniz.
Addım 5: Kassa
İndi hər şey işlədiyi üçün hər şeyi bir şeyə qoymalıyıq.
Şəffaf bir qapaqlı sadə bir plastik qutu seçdim, üstünə anemometr quraşdırılmışdır və DHT22 və BMP280 sensorlarını ehtiva edən ikinci dərəcəli kiçik bir konteyner.
Bu sensorlar ayrı bir qabın içərisinə quraşdırılmışdır, çünki onlar açıq havada olmalıdır (yağmur yağmadan), amma moruq pi -nin olması lazım deyil.
Gördüyünüz kimi, su keçirməməsi üçün kənarlarına bir az silikon əlavə etdim və içindəki təmiz havanı almaq üçün yuxarı qabda bir neçə delik açdım.
Ümid edirəm bir hava istasyonu qurmaq üçün bələdçimdən zövq aldınız, ilk dəfə belə bir bələdçi yazdığım üçün kənarları bir az kobud ola bilər, amma ümid edirəm ki, bəyənmisiniz:)
Tövsiyə:
VOCs Monitorinqi olan IoT Hava İstasyonu: 6 addım
VoC-lərin monitorinqi ilə IoT Hava İstasyonu: Bu təlimatda, Uçucu Üzvi Bileşiklərin (VOC) monitorinqi ilə Şeylərin İnterneti (IoT) hava stansiyasının necə qurulacağını göstərirəm. Bu layihə üçün Özünüz Et (DIY) dəsti hazırladım. Avadanlıq və proqram təminatı açıq mənbəyidir
NaTaLia Hava İstasyonu: Arduino Günəş Enerjili Hava İstasyonu Düzgün Edildi: 8 Addım (Şəkillərlə)
NaTaLia Hava İstasyonu: Arduino Günəş Enerjili Hava İstasyonu Düzgün Edildi: 2 fərqli yerdə 1 illik uğurlu əməliyyatdan sonra günəş enerjisi ilə işləyən hava stansiyası layihə planlarımı paylaşıram və uzun müddət ərzində həqiqətən də sağ qala biləcək bir sistemə necə çevrildiyini izah edirəm. günəş enerjisindən dövrlər. Təqib etsəniz
Wemos D1 Mini, BME280 və Həssas istifadə edən Hava İstasyonu. 6 Addım
Wemos D1 Mini, BME280 və Sensate istifadə edərək Hava İstasyonu: Əvvəlki yazılarda bir hava stansiyası qurmağın fərqli üsullarını paylaşmışam. Burada yoxlamamısınızsa bir linkdir.Bu təlimatda mən Wemos və Sensate adlı bir IoT platformasından istifadə edərək sadə bir Hava İstasyonu qurmağı nümayiş etdirəcəyəm
Məlumat Qeydiyyatı olan Hava İstasyonu: 7 addım (şəkillərlə)
Məlumat Qeydiyyatı ilə Hava İstasyonu: Bu təlimatda sizə hava stansiyası sistemini özünüz necə quracağınızı göstərəcəyəm. Lazım olan yeganə şey elektronika, proqramlaşdırma və bir az vaxt haqqında əsas biliklərdir. Bu layihə hələ də hazırlanır. Bu yalnız birinci hissədir. Yeniləmələr olacaq
Canlı Sürücü Veb Saytı və İş Nümunələrindən İstifadə Veb Sürücüsü IO Təlimatı: 8 Addım
Canlı Sürücü Veb Saytı və İş Nümunələrindən İstifadə Veb Sürücüsü IO Təlimatı: Canlı Veb Saytı və İş Nümunələrindən İstifadə edən Veb Sürücü IO Təlimatı Son Yeniləmə: 26.07.2015 (Bu təlimatları daha ətraflı və nümunələrlə yeniləyərkən tez -tez yoxlayın) mənə maraqlı bir problem təqdim etdi. Ehtiyacım vardı