Mündəricat:
- Təchizat
- Addım 1: RaspberryPi ilə DockerPi SensorHub Seriyası Necə Qurulur
- Addım 2: RaspberryPi -nin I2C -ni açın (1)
- Addım 3: RaspberryPi -nin I2C -ni açın (2)
- Addım 4: RaspberryPi -nin I2C -ni açın (3)
- Addım 5: Proqram Mühiti (1)
- Addım 6: Proqram Mühiti (2)
- Addım 7: Proqram Mühiti (3)
- Adım 8: Kodlar (1)
- Addım 9: Kodlar (2)
- Addım 10: Kodlar (3)
- Addım 11: Kodlar (4)
- Addım 12: Kodlar (5)
- Addım 13: Kodlar (6)
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Salam, hər bir oğlan. İndiki vaxtda demək olar ki, hər şey IOT ilə əlaqədardır. Şübhə yoxdur ki, DockerPi seriyalı lövhəmiz də IOT -u dəstəkləyir. Bu gün sizə SensorHub -un DockerPi seriyasını sizə təqdim etmək istəyirəm.
Azure IOT HUB-a əsaslanan bu maddəni işlədirəm. Azure IOT HUB, milyonlarla IOT cihazı və buludda yerləşdirilən bir həll arxa tərəfi arasında etibarlı və etibarlı rabitə ilə IOT həlləri qurmaq üçün istifadə edilə bilər.
Məsələn, SensorHub -dan istifadə edərək otağınızın istiliyini və kiminsə internetdə evinizə gəlib çatmadığını bilə bilərsiniz.
Təchizat
- 1 x Sensor Hub Kartı
- 1 x RaspberryPi 3B/3B+/4B
- 1 x 8GB/16GB TF Kart
- 1 x 5V/2.5A enerji təchizatı və ya RPi 4B üçün 5v/3A enerji təchizatı
Addım 1: RaspberryPi ilə DockerPi SensorHub Seriyası Necə Qurulur
Əvvəlcə Raspberry Pi ilə DockerPi SensorHub seriyasını necə quracağımıza baxaq
İçərisinə 40 pinli pinləri daxil etməlisiniz.
Ehtiyatlı olun. Zəhmət olmasa onları qurarkən gücü söndürün
Addım 2: RaspberryPi -nin I2C -ni açın (1)
Şəkildəki əmri yerinə yetirin: sudo raspi-config
Addım 3: RaspberryPi -nin I2C -ni açın (2)
Addım 4: RaspberryPi -nin I2C -ni açın (3)
Addım 5: Proqram Mühiti (1)
Əvvəlcə python3 -ün versiyasını yoxlamalısınız.
Addım 6: Proqram Mühiti (2)
Azure müvafiq komponentlərini yükləməlisiniz. Ehtiyatlı olun, "python3" daxil olan əmrdən istifadə etməlisiniz:
Addım 7: Proqram Mühiti (3)
Bundan sonra git alətini artıq quraşdırıb quraşdırmadığınızı yoxlamalısınız, əgər git qurmusunuzsa, aşağıdakı əmrləri yerinə yetirin:
Adım 8: Kodlar (1)
- Aşağıdakı qovluğa gedin: azure-iot-sdk-python/tree/master/azure-iot-device/sample/advanced-hub-ssenariləri
- Aşağıdakı faylı açın: update_twin_reported_properties.py
- Şəkildə aşağıdakı mənbə fayl kodlarını görəcəksiniz:
- şəkildəki aşağıdakı kodları dəyişdirin: HostName … Azure veb saytından əldə edə biləcəyiniz.
- Faylı açın: get_twin.py və eyni şeyi edin:
Addım 9: Kodlar (2)
Update_twin_reported_properties.py faylına bəzi python3 kitabxanalarını da daxil etməlisiniz:
Addım 10: Kodlar (3)
Sonra şəkildəki aşağıdakı kodları birləşdirin, faylınızı kopyalayıb yapışdıra bilərsiniz:
bus = smbus. SMBus (1) device_client.connect () aReceiveBuf = aReceiveBuf.append (0x00) # 占位 符 aralığında i üçün gözləyir (0x01, 0x0D + 1): aReceiveBuf.append (bus.read_byte_data (0X17, i)) aReceiveBuf [0X01] & 0x01: state0 = "Çipdən kənar temperatur sensoru həddini aşar!" elif aReceiveBuf [0X01] & 0x02: state0 = "Xarici temperatur sensoru yoxdur!" başqa: vəziyyət0 = "Çipdən kənar sensor sensoru = % d Selsi" % aReceiveBuf [0x01]
işıq = (bus.read_byte_data (0x17, 0x03) << 8) | (bus.read_byte_data (0x17, 0x02)) temp = bus.read_byte_data (0x17, 0x05) rütubət = bus.read_byte_data (0x17, 0x06) temp1 = bus.read_byte_data (0x17, 0x08) təzyiq = (bus.read_bye_data (0x17, 0x05)) << 16) | ((bus.read_byte_data (0x17, 0x0A) << 8)) | ((bus.read_byte_data (0x17, 0x09)))) state = bus.read_byte_data (0x17, 0x0C) if (state == 0): state = "BMP280 sensoru tamamdır" başqa: vəziyyət = "BMP280 sensoru pis"
insan = avtobus.read_byte_data (0x17, 0x0D)
if (insan == 1): insan = "canlı bədən aşkarlandı" başqa: insan = "canlı bədən yoxdur"
Addım 11: Kodlar (4)
Sonra update_twin_reported_properties.py faylını işə salın və nəticəni görəcəksiniz:
Addım 12: Kodlar (5)
Sonra faylı açın: get_twin.py və aşağıdakı kodları daxil edin, kodları kopyalayıb sənədlərinizə yapışdıra bilərsiniz:
çap ("{}". format (əkiz ["bildirildi"] ["vəziyyət0"])) çap ("Bildirilən işıq: {}". format (əkiz ["bildirildi"] ["işıq"]), "Lüks ") çap (" Lövhənin bildirilən temperaturu: {} ". format (əkiz [" bildirildi "] [" temperatur "])," degC ") çap (" Bildirilən rütubət: {} ". format (əkiz [" bildirildi "] [" rütubət "]),"%") çap (" Sensorun bildirilən temperaturu: {} ". format (əkiz [" məlumat "] [" temperatur1 "])," degC ") çap (" Bildirildi hava təzyiqi: {} ". format (əkiz [" bildirildi "] [" təzyiq "])," Pa ") çap (" Bildirilmiş {} ". format (əkiz [" bildirildi "] [" vəziyyət "])) çap ("Canlı bədənin aşkarlanıb -aşkarlanmadığı bildirildi: {}". format (əkiz ["bildirildi"] ["insan"]))
Addım 13: Kodlar (6)
Sonra get_twin.py faylını işə salın və update_twin_reported_properties.py faylından yenilənən nəticəni görəcəksiniz: