Мазмуну:

IOT жөнүндө сенсордук борбордун тактасынын Docker Pi сериясы: 13 кадам
IOT жөнүндө сенсордук борбордун тактасынын Docker Pi сериясы: 13 кадам

Video: IOT жөнүндө сенсордук борбордун тактасынын Docker Pi сериясы: 13 кадам

Video: IOT жөнүндө сенсордук борбордун тактасынын Docker Pi сериясы: 13 кадам
Video: Measure Temperature and Humidity WiFi with ESP32 DHT11 and DHT22 - Robojax 2024, Декабрь
Anonim
IOT жөнүндө Sensor Hub Board Docker Pi сериясы
IOT жөнүндө Sensor Hub Board Docker Pi сериясы
IOT жөнүндө Sensor Hub Board Docker Pi сериясы
IOT жөнүндө Sensor Hub Board Docker Pi сериясы

Салам, ар бир жигит. Азыркы учурда дээрлик бардыгы IOT менен байланышкан. Буга эч кандай шек жок, биздин DockerPi сериясындагы такта IOTту колдойт. Бүгүн мен SensorHubдун DockerPi сериясын IOTко кантип колдонуу керектигин тааныштыргым келет.

Мен Azure IOT HUBга негизделген бул нерсени иштетем. Azure IOT HUB миллиондогон IOT түзмөктөрүнүн ортосунда ишенимдүү жана коопсуз байланыш менен IOT чечимдерин куруу үчүн колдонулушу мүмкүн жана булуттагы хосттун чечиминин арткы бөлүгү.

Мисалы, сен биздин бөлмөңдүн температурасын жана кимдир бирөө интернетте SensorHub аркылуу интернетке келгенин биле аласың.

Жабдуулар

  • 1 x Sensor Hub Board
  • 1 x RaspberryPi 3B/3B+/4B
  • 1 x 8GB/16GB TF картасы
  • 1 x 5V/2.5A электр менен камсыздоо же RPi 4B үчүн 5v/3A электр менен камсыздоо

1 -кадам: DockerPi SensorHub сериясын RaspberryPi менен кантип орнотсо болот

RaspberryPi менен DockerPi SensorHub сериясын кантип орнотсо болот
RaspberryPi менен DockerPi SensorHub сериясын кантип орнотсо болот

Алгач Raspberry Pi менен SensorHubдун DockerPi сериясын кантип орнотууну карап көрөлү

Сиз жөн гана анын 40pin төөнөгүчтөрүн кыстарууңуз керек.

Этият болуңуз. Аларды орнотуп жатканда кубатты өчүрүп коюңуз

2 -кадам: RaspberryPi I2C ачыңыз (1)

RaspberryPi I2C ачыңыз (1)
RaspberryPi I2C ачыңыз (1)

Сүрөттөгү буйрукту аткарыңыз: sudo raspi-config

3 -кадам: RaspberryPi I2C ачыңыз (2)

RaspberryPi I2C ачуу (2)
RaspberryPi I2C ачуу (2)

4 -кадам: RaspberryPi I2C ачыңыз (3)

RaspberryPi I2C ачуу (3)
RaspberryPi I2C ачуу (3)

5 -кадам: Программалык чөйрө (1)

Программалык чөйрө (1)
Программалык чөйрө (1)

Алгач python3 версияңызды текшеришиңиз керек.

6 -кадам: Программалык чөйрө (2)

Программалык чөйрө (2)
Программалык чөйрө (2)

Андан кийин Azure тиешелүү компоненттерин орнотушуңуз керек. Абайлаңыз, сиз "python3" камтыган буйрукту колдонушуңуз керек:

7 -кадам: Программалык чөйрө (3)

Программалык чөйрө (3)
Программалык чөйрө (3)

Андан кийин сиз гит куралын орнотуп койгонуңузду текшеришиңиз керек, эгер сиз гитти орноткон болсоңуз, анда төмөнкү буйруктарды аткарыңыз:

8 -кадам: Коддор (1)

Коддор (1)
Коддор (1)
  1. Төмөнкү каталогго өтүңүз: azure-iot-sdk-python/tree/master/azure-iot-device/sample/advanced-hub-сценарийлери
  2. Төмөнкү файлды ачыңыз: update_twin_reported_properties.py
  3. Сиз сүрөттө төмөнкү баштапкы файл коддорун көрөсүз:
  4. сүрөттөгү төмөнкү коддорго өзгөртүү: HostName … сиз Azure веб -сайтынан ала аласыз.
  5. Файлды ачыңыз: get_twin.py жана ошону кылыңыз:

9 -кадам: Коддор (2)

Коддор (2)
Коддор (2)

Сиз ошондой эле update_twin_reported_properties.py файлындагы кээ бир python3 китепканаларын импорттооңуз керек:

10 -кадам: Коддор (3)

Коддор (3)
Коддор (3)

Андан кийин сүрөттөгү төмөнкү коддорго кошулуңуз, ошондой эле файлыңызга көчүрүп, чаптаңыз:

автобус = smbus. SMBus (1) күтөт device_client.connect () aReceiveBuf = aReceiveBuf.append (0x00) # 占位 符 i үчүн диапазондо (0x01, 0x0D + 1): aReceiveBuf.append (bus.read_byte_data (0X17, i)) aReceiveBuf [0X01] & 0x01: state0 = "Чиптен тышкаркы температура сенсорунун чеги!" elif aReceiveBuf [0X01] & 0x02: state0 = "Сырткы температура сенсору жок!" башка: state0 = "Учурдагы чиптен тышкаркы сенсор температурасы = % d Цельсий" % aReceiveBuf [0x01]

жарык = (bus.read_byte_data (0x17, 0x03) << 8) | (bus.read_byte_data (0x17, 0x02)) temp = bus.read_byte_data (0x17, 0x05) нымдуулук = bus.read_byte_data (0x17, 0x06) temp1 = bus.read_byte_data (0x17, 0x08) басым = (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 сенсору жакшы" башка: state = "BMP280 сенсору жаман"

адам = bus.read_byte_data (0x17, 0x0D)

if (human == 1): human = "тирүү дене табылды" башка: адам = "тирүү дене жок"

11 -кадам: Коддор (4)

Коддор (4)
Коддор (4)

Андан кийин update_twin_reported_properties.py файлын иштетиңиз жана натыйжасын көрөсүз:

12 -кадам: Коддор (5)

Коддор (5)
Коддор (5)

Андан кийин файлды ачыңыз: get_twin.py жана төмөнкү коддорду киргизиңиз, сиз дагы коддорду көчүрүп, файлдарыңызга чаптаңыз:

басып чыгаруу ("{}". формат (эгиз ["кабарланган"] ["абал0"])) басып чыгаруу ("Кабарланган жарык: {}". формат (эгиз ["кабарланган"] ["жарык"]), "Люкс ") басып чыгаруу (" Тактайдын билдирилген температурасы: {} ". формат (эгиз [" кабарланган "] [" температура "])," degC ") басып чыгаруу (" Билдирилген нымдуулук: {} ". формат (эгиз [" билдирди "] [" нымдуулук "]),"%") басып чыгаруу (" Сенсордун билдирилген температурасы: {} ". формат (эгиз [" кабарланган "] [" температура1 "])," degC ") басып чыгаруу (" Кабарланган абанын басымы: {} ". формат (эгиз [" кабарланган "] [" басым "])," Па ") басып чыгаруу (" Кабарланган {} ". формат (эгиз [" кабарланган "] [" абал "])) басып чыгаруу ("Жандуу дене табылабы: {}". форматы (эгиз ["билдирди"] ["адам"])))

13 -кадам: Коддор (6)

Коддор (6)
Коддор (6)

Андан кийин get_twin.py файлын иштетиңиз жана сиз update_twin_reported_properties.py файлынан жаңыртылган натыйжаны көрөсүз:

Сунушталууда: