Mundarija:

IOT haqida Docker Pi seriyali sensorlar uyasi: 13 qadam
IOT haqida Docker Pi seriyali sensorlar uyasi: 13 qadam

Video: IOT haqida Docker Pi seriyali sensorlar uyasi: 13 qadam

Video: IOT haqida Docker Pi seriyali sensorlar uyasi: 13 qadam
Video: Raspberry Pi IoT Server Tutorial: InfluxDB, MQTT, Grafana, Node-RED & Docker 2024, May
Anonim
IOT haqida Docker Pi seriyali sensorlar uyasi platasi
IOT haqida Docker Pi seriyali sensorlar uyasi platasi
IOT haqida Docker Pi seriyali sensorlar uyasi platasi
IOT haqida Docker Pi seriyali sensorlar uyasi platasi

Salom, har bir yigit. Hozirgi kunda deyarli hamma narsa IOT bilan bog'liq. Shubhasiz, bizning DockerPi seriyali taxtamiz ham IOT -ni qo'llab -quvvatlaydi. Bugun men sizga SensorHub -ning DockerPi seriyasini, sizga IOT -ga qanday murojaat qilish kerakligini tanishtirmoqchiman.

Men Azure IOT HUB-ga asoslangan ushbu elementni ishga tushiraman. Azure IOT HUB millionlab IOT qurilmalari va bulutli echimlarning orqa qismi o'rtasida ishonchli va xavfsiz aloqaga ega IOT echimlarini yaratish uchun ishlatilishi mumkin.

Masalan, SensorHub -dan foydalanib, siz xonangizdagi haroratni va kimdir sizning uyingizga Internetda kelganmi yoki yo'qligini bilishingiz mumkin.

Ta'minotlar

  • 1 x Sensorli uyalar paneli
  • 1 x RaspberryPi 3B/3B+/4B
  • 1 x 8GB/16GB TF karta
  • 1 x 5V/2,5A quvvat manbai yoki RPi 4B uchun 5v/3A quvvat manbai

1 -qadam: DockerPi SensorHub seriyasini RaspberryPi bilan qanday o'rnatish kerak

RaspberryPi bilan DockerPi SensorHub seriyasini qanday o'rnatish kerak
RaspberryPi bilan DockerPi SensorHub seriyasini qanday o'rnatish kerak

Keling, Raspberry Pi bilan SensorHub DockerPi seriyasini qanday o'rnatishni ko'rib chiqaylik

Siz unga 40 pinli pinlarni kiritishingiz kerak.

Ehtiyot bo'ling, ularni o'rnatayotganda quvvatni o'chiring

2 -qadam: RaspberryPi I2C -ni oching (1)

RaspberryPi I2C -ni oching (1)
RaspberryPi I2C -ni oching (1)

Rasmdagi buyruqni bajaring: sudo raspi-config

3 -qadam: RaspberryPi I2C -ni oching (2)

RaspberryPi I2C -ni oching (2)
RaspberryPi I2C -ni oching (2)

4 -qadam: RaspberryPi I2C -ni oching (3)

RaspberryPi I2C -ni oching (3)
RaspberryPi I2C -ni oching (3)

5 -qadam: Dasturiy muhit (1)

Dastur muhiti (1)
Dastur muhiti (1)

Avval siz python3 versiyasini tekshirishingiz kerak.

6 -qadam: Dasturiy muhit (2)

Dastur muhiti (2)
Dastur muhiti (2)

Keyin Azure tegishli komponentlarini o'rnatishingiz kerak. Ehtiyot bo'ling, "python3" ni o'z ichiga olgan buyruqni ishlatishingiz kerak:

7 -qadam: Dasturiy muhit (3)

Dastur muhiti (3)
Dastur muhiti (3)

Keyin siz git asbobini o'rnatgan -o'rnatmaganligingizni tekshirishingiz kerak, agar siz gitni o'rnatgan bo'lsangiz, iltimos, quyidagi buyruqlarni bajaring:

8 -qadam: Kodlar (1)

Kodlar (1)
Kodlar (1)
  1. Quyidagi katalogga o'ting: azure-iot-sdk-python/tree/master/azure-iot-device/sample/advanced-hub-ssenariylari
  2. Quyidagi faylni oching: update_twin_reported_properties.py
  3. Siz rasmda manba fayl kodlarini ko'rasiz:
  4. rasmdagi quyidagi kodlarni o'zgartiring: HostName … siz Azure veb -saytidan olishingiz mumkin.
  5. Faylni oching: get_twin.py va xuddi shunday qiling:

9 -qadam: Kodlar (2)

Kodlar (2)
Kodlar (2)

Bundan tashqari, update_twin_reported_properties.py fayliga ba'zi python3 kutubxonalarini import qilish kerak bo'ladi:

10 -qadam: Kodlar (3)

Kodlar (3)
Kodlar (3)

Keyin rasmdagi quyidagi kodlarga qo'shiling, siz ham faylingizga nusxa ko'chirishingiz va joylashtirishingiz mumkin:

bus = smbus. SMBus (1) kutadi device_client.connect () aReceiveBuf = aReceiveBuf.append (0x00) # 占位 符 i uchun diapazonda (0x01, 0x0D + 1): aReceiveBuf.append (bus.read_byte_data (0X17, i)) agar aReceiveBuf [0X01] & 0x01: state0 = "Chipdan tashqari harorat sensori haddan tashqari ko'tarilsa!" elif aReceiveBuf [0X01] & 0x02: state0 = "Tashqi harorat sensori yo'q!" boshqa: davlat0 = "Chipdan tashqari sensorlar harorati = % d Selsiy" % aReceiveBuf [0x01]

yorug'lik = (bus.read_byte_data (0x17, 0x03) << 8) | (bus.read_byte_data (0x17, 0x02)) temp = bus.read_byte_data (0x17, 0x05) namlik = bus.read_byte_data (0x17, 0x06) temp1 = bus.read_byte_data (0x17, 0x08) bosim = (bus.read_byte_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 sensori yaxshi" boshqa: state = "BMP280 sensori yomon"

inson = avtobus.read_byte_data (0x17, 0x0D)

if (inson == 1): inson = "tirik tana aniqlandi" boshqa: inson = "tirik tana yo'q"

11 -qadam: Kodlar (4)

Kodlar (4)
Kodlar (4)

Keyin update_twin_reported_properties.py faylini ishga tushiring va natijani ko'rasiz:

12 -qadam: Kodlar (5)

Kodlar (5)
Kodlar (5)

Keyin faylni oching: get_twin.py va quyidagi kodlarni kiriting, siz kodlarni nusxalashingiz va fayllaringizga joylashtirishingiz mumkin:

chop etish ("{}". format (egizak ["xabar qilingan"] ["holat0"])) chop etish ("Xabar qilingan yorug'lik: {}". format (egizak ["xabar qilingan"] ["yorug'lik"]), "Lyuks ") chop etish (" Hisobot taxtasi harorati: {} ". format (egizak [" xabar qilingan "] [" harorat "])," degC ") chop etish (" Xabar qilingan namlik: {} ". format (egizak [" "" ["namlik"]), "%") bosma ("Sensorning bildirilgan harorati: {}". format (egizak ["xabar qilingan"] ["harorat1"]), "degC") chop etish ("Hisobot havo bosimi: {} ". format (egizak [" xabar qilingan "] [" bosim "])," Pa ") bosma (" Xabar qilingan {} ". format (egizak [" xabar qilingan "] [" holat "])) chop etish ("Tirik jismni aniqlash: {}" formati (egizak ["xabar qilingan"] ["inson"])))

13 -qadam: Kodlar (6)

Kodlar (6)
Kodlar (6)

Keyin get_twin.py faylini ishga tushiring va natijani update_twin_reported_properties.py faylidan ko'rasiz:

Tavsiya: