Mündəricat:

Raspberry Pi Temperatur Monitorunu Necə Qurmaq olar: 9 addım
Raspberry Pi Temperatur Monitorunu Necə Qurmaq olar: 9 addım

Video: Raspberry Pi Temperatur Monitorunu Necə Qurmaq olar: 9 addım

Video: Raspberry Pi Temperatur Monitorunu Necə Qurmaq olar: 9 addım
Video: BTT - Manta M4P CB1 Klipper install 2024, Noyabr
Anonim
Bir Raspberry Pi İstilik Monitorunu necə qurmaq olar
Bir Raspberry Pi İstilik Monitorunu necə qurmaq olar

Temperatur və rütubət, bugünkü sənaye dünyasında həyati əhəmiyyətli məlumat nöqtələridir. İşlərin düzgün getməsi üçün server otaqları, ticarət dondurucuları və istehsal xətləri üçün ətraf mühit məlumatlarının izlənməsi lazımdır. Orada əsasdan mürəkkəbə qədər bir çox həll var və işinizin nəyə ehtiyacı olduğu və haradan başlayacağınız mövzusunda çox çətin görünə bilər.

Raspberry Pi və istifadə edə biləcəyiniz fərqli temperatur sensörləri ilə temperaturun necə izləniləcəyini öyrənəcəyik. Bura başlamaq üçün yaxşı bir yerdir, çünki bu həllər ucuzdur, etmək asandır və sizə digər ətraf mühitin monitorinqi üçün əsas yaratmaq imkanı verir.

Təchizat

  • Raspberry Pi (3, 4 və ya Sıfır WH)
  • Temperatur Sensoru (DHT2, DSB18B20, BME280 və ya Sense HAT)
  • 6 "40-pinli IDE Kişi-Dişi Uzatma Kablosu (Sense HAT Həll)
  • 10K Rezistor, Çörək Paneli, 40 Pinli Kəsmə Kartı + Şerit Kabel, Tellər (DSB18B20 Həll Üçün)

Addım 1: Raspberry Pi

Raspberry Pi, temperatur sensoru ilə əlaqə qurmağa və məlumatları vizuallaşdırma proqramına ötürməyə imkan verən ucuz bir lövhəli kompüterdir. Raspberry Pi's bir öyrənmə vasitəsi olaraq başladı və sənaye iş yeri alətinə çevrildi. Ən sürətlə inkişaf edən proqramlaşdırma dili olan Python ilə istifadə rahatlığı və kod yazma qabiliyyəti onları həll yoluna çevirdi.

İstənilən model 3, 4 və sıfır W/WH olan WiFi quraşdırılmış bir Raspberry Pi istəyəcəksiniz. Qiymət və xüsusiyyətlərə əsaslanaraq seçim edə bilərsiniz. Zero W/WH ən ucuzdur, lakin daha çox funksiyaya ehtiyacınız varsa 3 və 4 arasından seçim edə bilərsiniz. Raspberry Pi Fondunun məhdudiyyətləri səbəbindən bir anda yalnız bir Zero W/WH ala bilərsiniz. Seçdiyiniz Pi nə olursa olsun, bir şarj cihazı satın aldığınızdan əmin olun, çünki əməliyyat sisteminin quraşdırılmasını mümkün qədər asanlaşdırmaq üçün Pi və SD kartını Raspbian ilə gücləndirəcəksiniz.

İşləyə biləcək başqa tək lövhəli kompüterlər var, amma bu başqa vaxt və başqa bir məqalədir.

Addım 2: Sensorlar

Ucuz olduğu, qoşulması asan olduğu və dəqiq oxunuşlar verdiyindən istifadə etməyi tövsiyə etdiyimiz üç sensor var; DSB18B20, DHT22 və Raspberry Pi Sense HAT.

DHT22 - Bu temperatur və rütubət sensoru +/- 0,5 C temperatur dəqiqliyinə və 0 ilə 100 faiz arasında rütubət aralığına malikdir. Raspberry Pi -yə tel çəkmək asandır və heç bir müqavimət tələb etmir.

DSB18B20 - Bu temperatur sensoru Raspberry Pi ilə yaxşı işləyən rəqəmsal bir çıxışa malikdir. Üç teldən ibarətdir və əlaqə üçün çörək taxtası və rezistor tələb olunur.

BME280 - Bu sensor temperaturu, rütubəti və barometrik təzyiqi ölçür. Həm SPI, həm də I2C -də istifadə edilə bilər.

Sense HAT - Bu LED, sensorlar və kiçik bir joystickə sahib olan Raspberry Pi üçün bir əlavədir. Raspberry Pi üzərindəki GPIO -ya birbaşa bağlanır, ancaq bir lent kabeli istifadə edərək daha dəqiq temperatur oxunuşları verir.

Addım 3: Raspberry Pi Quraşdırması

Raspberry Pi -ni ilk dəfə qurursanız, Raspbian Əməliyyat Sistemini quraşdırmalı və Pi -ni WiFi -yə bağlamalı olacaqsınız. Pi -yə qoşulmaq üçün monitor və klaviatura lazımdır. Bunu işə saldıqdan və WiFI -yə qoşulduqdan sonra Pi -iniz hazırdır.

Addım 4: İlkin Dövlət Hesabı

İlkin Dövlət Hesabı
İlkin Dövlət Hesabı
İlkin Dövlət Hesabı
İlkin Dövlət Hesabı

Tarixi bir qeyd saxlamaq və real vaxt məlumat axınını görmək üçün məlumatlarınızı göndərmək üçün bir yerə ehtiyacınız olacaq, buna görə də Baş Vəziyyəti istifadə edəcəyik. Https://iot.app.initialstate.com saytına daxil olun və yeni bir hesab yaradın və ya mövcud hesabınıza daxil olun.

Sonra, Pi vəziyyətinizə Başlanğıc vəziyyət Python modulunu quraşdırmalıyıq. Əmr əmrində (əvvəlcə Pi -yə SSH yazmağı unutmayın) aşağıdakı əmri işlədin:

$ cd/ev/pi/

$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash

Əmr əmrinə curl əmrini daxil etdikdən sonra ekranda aşağıdakı çıxışa bənzər bir şey görəcəksiniz:

pi@raspberrypi ~

$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash Şifrə: ISStreamer Python Asan Quraşdırmaya Başlayırıq! Bu bir neçə dəqiqə çəkə bilər, bir az qəhvə götürün:) Ancaq geri dönməyi unutmayın, sonra suallarım olacaq! Easy_install tapıldı: setuptools 1.1.6 Tapılan pip: /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip 1.5.6 pip əsas versiyası: 1 pip kiçik versiya: 5 ISStreamer tapıldı, yenilənir … Tələblər artıq yenidir: ISStreamer /Library/Python/2.7/site-packages-də Təmizlənir … Avtomatik olaraq nümunə bir skript əldə etmək istəyirsiniz? [y/N] Nümunəni harada saxlamaq istəyirsiniz? [default:./is_example.py] Zəhmət olmasa istifadə etdiyiniz İlkin Dövlət tətbiqini seçin: 1. app.initialstate.com 2. [YENİ!] iot.app.initialstate.com Seçim 1 və ya 2 daxil edin: iot.app daxil edin.initialstate.com istifadəçi adı: iot.app.initialstate.com parolunu daxil edin:

Bir nümunə skriptini avtomatik olaraq almaq istədikdə y yazın. Bu, məlumatları Başlanğıc vəziyyətə ötürə biləcəyimizi təmin etmək üçün işləyə biləcəyimiz bir sınaq skriptini yaradacaq. Növbəti əmr nümunə faylını harada saxlamaq istədiyinizi soruşacaq. Varsayılan yeri qəbul etmək üçün xüsusi bir yerli yol yaza və ya enter düyməsini vura bilərsiniz. Nəhayət, istifadə edəcəyiniz Başlanğıc Dövlət tətbiqindən soruşulacaq. Bu yaxınlarda bir hesab yaratmısınızsa, 2 -ci seçimi seçin, istifadəçi adınızı və şifrənizi daxil edin. Bundan sonra quraşdırma tamamlanacaq.

Yaradılmış nümunə skriptə nəzər salaq.

$ nano is_example.py

15 -ci sətirdə, streamer = Streamer (bucket_… ilə başlayan bir xətt görəcəksiniz. Bu sətirlər "Python Stream Example" adlı yeni bir məlumat paketi yaradır və hesabınızla əlaqələndirilir. Bu assosiasiya access_key =”səbəbiylə baş verir …" Eyni uzunluqdakı hərflər və rəqəmlər, İlkin Dövlət hesabınıza giriş açarınızdır. Veb brauzerinizdə İlk Vəziyyət hesabınıza daxil olsanız, sağ üstdəki istifadəçi adınızı vurun və sonra "parametrlərim" ə gedin. eyni giriş açarını burada "Axın Giriş Açarları" altında tapa bilərsiniz.

Hər dəfə bir məlumat axını yaratdığınız zaman, bu giriş açarı həmin məlumat axını hesabınıza yönləndirəcək (buna görə açarınızı heç kimlə paylaşmayın).

Başlanğıc Vəziyyət hesabınıza məlumat axını yarada biləcəyimizdən əmin olmaq üçün test skriptini işə salın. Aşağıdakıları işə salın:

$ python is_example.py

Veb brauzerinizdə İlkin Dövlət hesabınıza qayıdın. Günlük rafınızda solda "Python Stream Örneği" adlı yeni bir məlumat paketi görünməli idi (səhifəni yeniləməyiniz lazım ola bilər). Test məlumatlarına baxmaq üçün bu kovanı və sonra Dalğalar simgesini vurun

Python 3 istifadə edirsinizsə, Aşağıdakı əmrdən istifadə edərək quraşdıra biləcəyiniz İlk Dövlət Streamer Modulunu quraşdıra bilərsiniz:

pip3 ISStreamer qurun

İndi temperaturu bir tablosuna ötürmək üçün temperatur sensörünü Pi ilə qurmağa hazırıq.

Addım 5: DHT22 Həll

DHT22 Həll
DHT22 Həll

DHT22 üç pinli olacaq - 5V, Gnd və data. DHT22 -də güc üçün bir pin etiketi olmalıdır (məsələn, '+' və ya '5V'). Bunu Pi -nin 2 -ci pininə (sağ üst pin 5V) bağlayın. Gnd pininə '-' və ya 'Gnd' və ya ona bərabər bir şey yazılacaq. Bunu Pi üzərindəki 6 Gnd pininə (5V pinin altındakı iki pin) bağlayın. DHT22 -də qalan pin məlumat pinidir və 'out' və ya 's' və ya 'data' olaraq etiketlənəcəkdir. Bunu GPIO4 (pin 7) kimi Pi üzərindəki GPIO pinlərindən birinə bağlayın. Bu tel bağlandıqdan sonra Pi -ni işə salın.

DHT22 sensor məlumatlarını oxumağı çox asanlaşdırmaq üçün Adafruit DHT Python modulunu əmr satırına quraşdırın:

$ sudo pip Adafruit_DHT quraşdırın

Sensor məlumatlarını oxumaq və məlumatları Başlanğıc vəziyyətə göndərmək üçün iki Python modulumuzla birlikdə quraşdırılmış əməliyyat sistemimizlə Python skriptimizi yazmağa hazırıq. Aşağıdakı skript, İlkin Dövlət məlumat paketini yaradacaq/əlavə edəcək, DHT22 sensor məlumatlarını oxuyacaq və bu məlumatları real vaxt tablosuna göndərəcək. Etməyiniz lazım olan tək şey 6-11 -ci sətirləri dəyişdirməkdir.

Adafruit_DHT idxal edin

ISStreamer. Streamer idxal Streamer idxal vaxtı# --------- İstifadəçi Ayarları --------- SENSOR_LOCATION_NAME = "Ofis" BUCKET_NAME = ": part_sunny: Otaq Temperaturu" BUCKET_KEY = "rt0129" ACCESS_KEY = "İLK DÖVLƏT GİRİŞİNİZİN ANA SƏHİFƏSİNİ BURADA YERİNƏ" MINUTES_BETWEEN_READS = 10METRIC_UNITS = False # --------------------------------- streamer = Streamer (bucket_name = BUCKET_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY) True isə: rütubət, temp_c = Adafruit_DHT.read_retry (Adafruit_DHT. DHT22, 4) əgər METRIC_UNITS: streamer.log (SENSOR_LOC): temp_f = format (temp_c * 9.0 / 5.0 + 32.0, ".2f") streamer.log (SENSOR_LOCATION_NAME + "Temperatur (F)", temp_f) rütubət = format (rütubət, ".2f") streamer.log (SENSOR_LOCATION_NAME + "Nəmlik (%)", rütubət) streamer.flush () vaxt.yuxu (60*MINUTES_BETWEEN_READS)

  • Satır 6 - Bu dəyər hər bir qovşaq/temperatur sensoru üçün unikal olmalıdır. Bu sensor qovşağınızın otaq adı, fiziki yeri, unikal identifikatoru və ya hər hansı bir şey ola bilər. Bu qovşaqdakı məlumatların tablosundakı öz məlumat axınına getməsini təmin etmək üçün hər bir qovşaq üçün unikal olduğuna əmin olun.
  • Satır 7 - Məlumat paketinin adı budur. Bu, Başlanğıc Dövlət UI -də istənilən vaxt dəyişdirilə bilər.
  • Xətt 8 - Bu, kovanın açarıdır. Eyni paneldə göstərilməsini istədiyiniz hər qovşaq üçün eyni kova düyməsi olmalıdır.
  • Satır 9 - Bu, İlkin Dövlət hesabınıza giriş açarınızdır. Bu açarı İlkin Hesab hesabınızdan kopyalayın və yapışdırın.
  • Sətir 10 - Sensorun oxunması arasındakı vaxtdır. Buna uyğun olaraq dəyişdirin.
  • 11 -ci sətir - 11 -ci sətirdə metrik və ya imperiya vahidlərini təyin edə bilərsiniz.

Pi -də Python skriptinizdə 6–11 -ci sətirləri qurduqdan sonra mətn redaktorunu qeyd edin və çıxın. Skriptini aşağıdakı əmrlə işlədin:

$ python tempsensor.py

İndi bir İlkin Dövlət tablosuna məlumat göndərəcəksiniz. Göstərici lövhənizi necə düzəltmək barədə ətraflı məlumat üçün bu məqalənin son hissəsinə keçin.

Addım 6: DSB18B20 Həll

DSB18B20 Həll
DSB18B20 Həll
DSB18B20 Həll
DSB18B20 Həll

Şerit kabel Pi üzərindəki GPIO pinlərinə bağlanır. DS18B20 üç teldən ibarətdir. Qırmızı tel 3.3V -ə qoşulur. Mavi/qara tel yerə bağlanır. Sarı tel bir çəkmə müqavimətinə/pininə 4 bağlanır. Bu tel bağlandıqdan sonra Pi-ni işə salın.

Raspbian -ın ən son versiyası (kernel 3.18), DS18B20 ilə əlaqə qurmaq üçün Pi üçün /boot/config.txt faylınıza əlavə tələb edir. Bu faylı redaktə etmək üçün aşağıdakıları işlədin:

$ sudo nano /boot/config.txt

Aşağıdakı sətir bu faylda yoxdursa (ehtimal ki, faylın altındadır), əlavə edin və faylı qeyd edin.

dtoverlay = w1-gpio, gpiopin = 4

Dəyişikliklərin qüvvəyə minməsi üçün Pi -ni yenidən başladın.

$ sudo yenidən başladın

İstilik sensoru oxumaq interfeysini işə salmaq üçün iki əmri yerinə yetirməliyik. Pi'inizə və ya SSH -də bir əmr satırına gedin. Aşağıdakı əmrləri yazın:

$ sudo modprobe w1-gpio $ sudo modprobe w1-therm

İstilik sensorunuzun çıxışı indi Pi -dəki bir fayla yazılır. Bu faylı tapmaq üçün:

$ cd/sys/bus/w1/cihazlar

Bu qovluqda "28-" ilə başlayan bir alt qovluq olacaq. "28-" dən sonra gələn şey sensorunuzun seriya nömrəsidir. cd -ni həmin qovluğa daxil edin. Bu kataloqun içərisində w1_slave adlı bir fayl sensorunuzun çıxışını ehtiva edir. Faylın məzmununu görmək üçün nano istifadə edin. Dosyaya daxil olduqdan sonra belə bir şey görünəcək:

a2 01 4b 46 7f ff 0e 10 d8: crc = d8 YESa2 01 4b 46 7f ff 0e 10 d8 t = 26125

"T =" dən sonra gələn rəqəm istədiyimiz rəqəmdir. Bu, 1/1000 dərəcə Selsi temperaturdur (yuxarıdakı nümunədə, temperatur 26.125 C -dir). Sadəcə bu faylı oxuyan və bu nömrəni təhlil edən sadə bir proqrama ehtiyacımız var. Buna bir saniyə ərzində nail olacağıq.

Məlumat axınına başlamağımız üçün hər şey hazırdır. Mətn redaktorunu açmaq üçün əmr satırına aşağıdakıları yazın:

$ nano temperatur.py

Aşağıdakı kodu kopyalayın və mətn redaktoruna yapışdırın.

id id

ISStreamer. Streamer idxal qlobal idxal vaxtı Streamerstreamer = Streamer (bucket_name = "Temperature Stream", bucket_key = "piot_temp_stream031815", access_key = "PUT_YOUR_ACCESS_KEY_HERE") os.system ('modprobe w1-gpio) -therm ') base_dir ='/sys/bus/w1/devices/'device_folder = glob.glob (base_dir + '28*') [0] device_file = device_folder + '/w1_slave' def read_temp_raw (): f = open (device_file, 'r') xətləri = f.readlines () f.close () qaytarma xətləri def read_temp (): xətlər = read_temp_raw (), xətlər isə [0].strip () [-3:]! = 'Bəli': time.sleep (0.2) sətirlər = read_temp_raw () equals_pos = xətlər [1]. bərabərdirsə, tapın ('t =')! = -1: temp_string = xətlər [1] [equals_pos+2:] temp_c = float (temp_string) / 1000.0 dönərkən temp_c True: temp_c = read_temp () temp_f = temp_c * 9.0 / 5.0 + 32.0 streamer.log ("temperatur (C)", temp_c) streamer.log ("temperatur (F)", temp_f) vaxt.yuxu (.5)

Başlanğıc vəziyyətinə giriş açarınızı PUT_YOUR_ACCESS_KEY_HERE əvəzinə 6 sətirinə qoymalısınız (axın düyməsini 'Hesabım' 'dan panoya kopyalayın və terminalınızdakı nano koduna yapışdırın).

6 -cı sətir, Başlanğıc Vəziyyət hesabınızda "İstilik Axını" adlı bir kova yaradacaq (eyni sətirdə access_keyinizi düzgün göstərdiyinizi güman edirik). Bu skriptin 8-30 -cu sətirləri, əvvəllər müzakirə etdiyimiz w1_slave faylından temperaturunu oxumaq üçün DS18B20 sensoru ilə əlaqə qurur. 15 -ci sətirdəki read_temp_raw () funksiyası xam w1_slave faylını oxuyur. 21 -ci sətirdəki read_temp () funksiyası həmin fayldakı temperaturu təhlil edir. 34 nömrəli xətt, bu funksiyaları cari temperaturu əldə etmək üçün çağırır. 35 -ci xətt, temperaturu Selsidən Fahrenheitə çevirir. 35 və 36 -cı sətirlər, ilkin vəziyyət hesabınızı istiləşdirir. 37 -ci sətir, temperatur sensörünün nə qədər tez oxunacağını və axın edəcəyini təyin edərək skriptə 0,5 saniyə fasilə verir.

Yayımlamağa başlamağa hazırıq. Aşağıdakı əmri çalıştırın:

$ sudo python temperaturu.py

Veb brauzerinizdəki Başlanğıc Vəziyyət hesabınıza qayıdın və Temperatur Stream adlı yeni bir məlumat paketi axtarın. Canlı məlumatların axınını canlı olaraq görməlisiniz. Sensorun temperaturunu əlinizdə tutaraq və ya bir stəkan buzun içinə qoyaraq dəyişin.

İndi bir İlkin Dövlət tablosuna məlumat göndərəcəksiniz. Göstərici lövhənizi necə düzəltmək barədə ətraflı məlumat üçün bu məqalənin son hissəsinə keçin.

Addım 7: BME280 Həll

Bu həlli qurmaq üçün aşağıdakılara ehtiyacınız olacaq:

-BME280 Təzyiq, Temperatur və Rütubət Sensoru

Bu sensor, sensor üzərində lehimləməyiniz lazım olan sancaqlar ilə gəlir. Lehimləmə işini asanlaşdırmaq üçün çörək taxtasının içərisinə sancaqlar uzun olan bir çörək taxtası istifadə etməyi məsləhət görürəm. Bunu bitirdikdən sonra sensoru Pi -yə bağlamalıyıq.

Sensordakı VIN pinini Pi üzərindəki 3.3V pin 1 -ə qoşun. Sensordakı GND pinini Pi üzərindəki torpaq pinini 6 bağlayın. Sensordakı SCK pinini Pi üzərindəki SCL pin 5 -ə qoşun. Sensordakı SDI pinini Pi üzərindəki SDA pin 3 -ə qoşun. Bu həll üçün Python 3 -dən istifadə etməli və pip3 quraşdırma metodundan istifadə edərək İlk Vəziyyət Streamer modulunu quraşdırmalısınız.

Bir neçə Adafruit Python kitabxanası da qurmalısınız.

pip3 adafruit-blinkapip3 qurun pureio pip3 quraşdırın spidev pip3 qurun adafruit-GPIO pip3 qurun adafruit-circuitpython-bme280

Sensoru istifadə etmək üçün Pi -də I2C -ni aktivləşdirməliyik.

sudo raspi-config

Bu, Raspberry Pi Proqram Konfiqurasiya Alətini açacaq. Seçim 5 İnterfeys Seçimlərinə keçin. Buradan I2C -ə keçin. I2C -ni aktivləşdirmək istədiyinizi soruşmaq istəyəcək, Bəli və Bitirin seçin. İndi sensorla əlaqə qurmaq üçün I2C -yə sahibsiniz.

Aşağıdakıları işlədərək bunu sınaya bilərik:

sudo i2cdetect -y 1

Bu, Pi'nizin sensoru gördüyünü yoxlayacaq. Bağlandığı şəkildə sensoru 77 ünvanında göstərməlidir. Sensoru aşkar etməsəniz, Pi -ni yenidən başladın, Pi -də I2C interfeysi seçimini yenidən aktivləşdirin və yenidən sınayın. Sensor aşkar edildikdən sonra vaxt gəldi Başlanğıc vəziyyətə məlumat göndərəcək əsas kodumuzu işə salmaq üçün. Nano əmri ilə bme280sensor.py adlı bir fayl yaradıldı. Kodu kopyalayın və mətn redaktoruna yapışdırın. 12-19 -cu sətirlərdə dəyişiklik etməlisiniz.

idxal vaxtı

İthalat taxtası idio BusStarser-dən adafruit_bme280 idxalı Streamer # Bus I2C-dən istifadə edərək kitabxana obyekti yaradın porti2c = busio. I2C (board. SCL, board. SDA) bme280 = adafruit_bme280. Adafruit_BME280_I2C (i2c) # ------- -İstifadəçi Ayarları --------- SENSOR_LOCATION_NAME = "Ofis" BUCKET_NAME = ": partly_sunny: Otaq İstiliyi" BUCKET_KEY = "temp1" ACCESS_KEY = "SİZİN GİRİŞ DÖVLƏTİNİZ BURADA" # bunu məkanın təzyiqinə uyğun olaraq dəyişdirin (hPa)) dəniz səviyyəsində bme280.sea_level_pressure = 1013.25 MINUTES_BETWEEN_READS = 10 METRIC_UNITS = False # --------------------------------- # Ya da Bus SPI portumuzdan istifadə edərək kitabxana obyekti yaradın #spi = busio. SPI (board. SCK, board. MOSI, board. MISO) #bme_cs = digitalio. DigitalInOut (board. D10) #bme280 = adafruit_bme280. Adafruit_BME280_SPI (spi, bme_cs) streamer = Streamer (bucket_name = BUCKET_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY) True isə: rütubət = format (bme280.humidity, ".1f") təzyiq = format (bme280. təzyiq, ".1f") temp_c = bme280.temperatu əgər METRIC_UNITS: streamer.log (SENSOR_LOCATION_NAME + "Temperatur (C)", temp_c) başqa: temp_f = format (temp_c * 9.0 / 5.0 + 32.0, ".1f") streamer.log (SENSOR_LOCATION_NAME + "Temperatur (F)", temp_f) streamer.log (SENSOR_LOCATION_NAME + "Rütubət (%)", rütubət) streamer.log (SENSOR_LOCATION_NAME + "Təzyiq (hPA)", təzyiq) streamer.flush () vaxt.yuxu (60*MINUTES_BETWEEN_READS)

  • Satır 12- Bu dəyər hər bir qovşaq/temperatur sensoru üçün unikal olmalıdır. Bu sensor qovşağınızın otaq adı, fiziki yeri, unikal identifikatoru və ya hər hansı bir şey ola bilər. Bu qovşaqdakı məlumatların tablosundakı öz məlumat axınına getməsini təmin etmək üçün hər bir qovşaq üçün unikal olduğuna əmin olun.
  • Satır 13- Bu, məlumat paketinin adıdır. Bu, Başlanğıc Dövlət UI -də istənilən vaxt dəyişdirilə bilər.
  • Xətt 14- Bu, kovanın açarıdır. Eyni paneldə göstərilməsini istədiyiniz hər qovşaq üçün eyni kova düyməsi olmalıdır.
  • Satır 15- Bu, İlkin Dövlət hesabınıza giriş açarınızdır. Bu açarı İlkin Hesab hesabınızdan kopyalayın və yapışdırın.
  • Satır 17- Bu, dəniz səviyyəsindəki yerinizin təzyiqidir (hPa). Bu məlumatı əksər hava saytlarında tapa bilərsiniz.
  • Satır 18 - Sensorun oxunması arasındakı vaxtdır. Müvafiq olaraq dəyişin. Sətir 19- Burada metrik və ya imperiya vahidlərini təyin edə bilərsiniz.

Pi Zero WH -də Python skriptinizdə 12–19 -cu sətirləri qurduqdan sonra mətn redaktorunu qeyd edin və çıxın. Skriptini aşağıdakı əmrlə işlədin:

$ python3 bme280sensor.py

İndi bir İlkin Dövlət tablosuna məlumat göndərəcəksiniz. Göstərici lövhənizi necə düzəltmək barədə ətraflı məlumat üçün bu məqalənin son hissəsinə keçin.

Addım 8: HAT hiss edin

Hiss HAT
Hiss HAT
Hiss HAT
Hiss HAT

Sense HAT -ı istifadə etmək üçün ilk addım onu Pi -yə fiziki olaraq quraşdırmaqdır. Pi söndürüldükdə, şəkildəki kimi HAT -ı bağlayın.

Solüsyonu yuxarıda göstərildiyi kimi istifadə etmək qərarına gəlsəniz, Sense HAT -ın temperatur göstəricilərinin bir qədər yüksək olacağını görə bilərsiniz - bunun səbəbi budur. Günahkar, Pi -nin üstündə oturanda Sense HAT ətrafındakı havanı qızdıran Pi -nin CPU -ndan yaranan istilikdir. İstilik sensorunu faydalı etmək üçün ya HAT -ı Pi -dən uzaqlaşdırmalıyıq, ya da temperatur sensoru oxunuşunu kalibrləməyə çalışmalıyıq. Sensoru Pi -dən uzaqlaşdırmaq üçün yaxşı bir həll, Sense HAT -ın Pi -dən uzaqlaşmasına imkan verən bir kabeldir. 6 düymlük, 40 pinli IDE-dən kişiyə dişi uzatma kabeli hiylə edəcək.

İki varianta qərar verdikdən sonra Pi -ni işə salın. Sensor dəyərlərini Sense HAT -dan oxumağı asanlaşdırmaq üçün Python kitabxanasını quraşdırmalıyıq. Əvvəlcə Raspbian versiyanızda hər şeyin güncəl olmasını təmin etməlisiniz:

$ sudo apt-get yeniləməsi

Sonra, Sense HAT Python kitabxanasını quraşdırın:

$ sudo apt-get install-hat qurun

Pi -ni yenidən başladın. Sensor məlumatlarını oxuyaraq və bu məlumatları Başlanğıc vəziyyətə göndərərək Sense HAT -ı sınamağa hazırıq.

Sensehat adlı bir fayl yaradın və əmr satırına aşağıdakıları daxil edərək mətn redaktorunda açın:

$ nano sensehat.py

Aşağıdakı kodu kopyalayın və mətn redaktoruna yapışdırın.

sense_hat idxalından SenseHat

ISStreamer. Streamer idxal axını # -dan istifadə etmək üçün idxal vaxtı. Ofis "MINUTES_BETWEEN_SENSEHAT_READS = 0.1 # -------------------------------- streamer = Streamer (bucket_name = BUCKET_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY) sens = SenseHat () Doğru olarkən: # Sensorları oxuyun temp_c = sense.get_temperature () rütubət = sens.get_humidity () təzyiq_mb = sens.get_pressure () # Veriləri temp_f = temp_c * 9.0 / 5.0 + format edin 32.0 temp_f = şamandıra ("{0:.2f}". Format (temp_f)) rütubət = şamandıra ("{0:.2f}". Format (rütubət)) təzyiq_in = 0.03937008*(təzyiq_mb) təzyiq_in = üzmək ("{ 0:.2f} ". Format (təzyiqdə)) # Çap et və çap et SENSOR_LOCATION_NAME +" Temperatur (F): " + str (temp_f) çap SENSOR_LOCATION_NAME +" Nəmlik (%): " + str (rütubət) çap SENSOR_LOCATION_NAME +" Təzyiq (İN): " + str (təzyiqdə) streamer.log (": günəşli: " + SEN SOR_LOCATION_NAME + "Temperatur (F)", temp_f) streamer.log (": sweat_drops:" + SENSOR_LOCATION_NAME + "Rütubət (%)", rütubət) streamer.log (": bulud:" + SENSOR_LOCATION_NAME + "Təzyiq (İN)"), təzyiq_in) streamer.flush () vaxt.yuxu (60*MINUTES_BETWEEN_SENSEHAT_READS)

Birinci sətirdə SenseHat kitabxanasını skriptə daxil etdiyimizə diqqət yetirin. Bu skriptə başlamazdan əvvəl istifadəçi parametrlərimizi qurmalıyıq.

# --------- İstifadəçi Ayarları ---------

BUCKET_NAME = "Ofis Hava" BUCKET_KEY = "sensehat" ACCESS_KEY = "Sizin_Əldə_Açışınız" SENSOR_LOCATION_NAME = "Ofis" MINUTES_BETWEEN_SENSEHAT_READS = 0.1# ------------------------- --------

Xüsusilə, ACCESS_KEY -ni Başlanğıc vəziyyət hesabınızın giriş açarına təyin etməlisiniz. BUCKET_NAME və SENSOR_LOCATION_NAME hissələrini həqiqi sensor yerinə dəyişə bilərsiniz. Saxla və mətn redaktorundan çıx.

Pi'nizdəki bir əmr istəyində skriptinizi işə salın:

$ sudo python sensehat.py

İndi bir İlkin Dövlət tablosuna məlumat göndərəcəksiniz. Göstərici lövhənizi necə düzəltmək barədə ətraflı məlumat üçün bu məqalənin son hissəsinə keçin.

Addım 9: Başlanğıc Vəziyyət Tablosunu fərdiləşdirin

Başlanğıc Vəziyyət Tablosunu fərdiləşdirin
Başlanğıc Vəziyyət Tablosunu fərdiləşdirin

İlkin Hesab hesabınıza gedin və məlumatlarınıza baxın. Qrafik növünü dəyişdirmək üçün Çini üzərinə sağ vura bilərsiniz və Fayansların ölçüsünü dəyişdirmək və daşımaq üçün Döşəmə Düzenle düyməsini vura bilərsiniz. İstilik üçün termostatdan və rütubət üçün maye səviyyəsindən istifadə etməyi məsləhət görürəm. Zamanla dəyişiklikləri görmək üçün həm temperatur, həm də rütubət üçün xətt qrafikləri yarada bilərsiniz. Tablonuza arxa plan şəkli də əlavə edə bilərsiniz.

Temperatur aşağı düşərsə və ya müəyyən bir həddən artıq olarsa SMS və ya e -poçt ala biləcəyiniz üçün Tetik siqnalları təyin edə bilərsiniz. Məlumat qutunuza gedin və parametrləri vurun. Oradan Tetikleyiciler sekmesine keçin. İzləmək istədiyiniz axın düyməsini, istifadə etmək istədiyiniz operatoru və eşik dəyərini daxil edin. Tetikleyiciyi əlavə etmək üçün artı işarəsini vurun. Sonra xəbərdarlığı almaq üçün e -poçtunuzu və ya telefon nömrənizi daxil edəcək və artı işarəsini vuracaqsınız. Bütün Tetikleyicilerinizi qurduqdan sonra altındakı Bitti düyməsini basın.

İndi bir temperatur sensoru və bir Raspberry Pi istifadə edərək bir temperatur monitoru yaratdığınızdan sonra, başqa hansı ekoloji məlumatları izləyə biləcəyinizi düşünməyə başlaya bilərsiniz.

Tövsiyə: