Оглавление:
- Запасы
- Шаг 1. Как установить SensorHub серии DockerPi с помощью RaspberryPi
- Шаг 2: Откройте I2C RaspberryPi (1)
- Шаг 3: Откройте I2C RaspberryPi (2)
- Шаг 4: Откройте I2C RaspberryPi (3)
- Шаг 5: Программная среда (1)
- Шаг 6. Программная среда (2)
- Шаг 7. Программная среда (3)
- Шаг 8: коды (1)
- Шаг 9: коды (2)
- Шаг 10: коды (3)
- Шаг 11: коды (4)
- Шаг 12: коды (5)
- Шаг 13: коды (6)
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Привет всем, ребята. В настоящее время почти все связано с IOT. Без сомнения, наша плата серии DockerPi также поддерживает IOT. Сегодня я хочу представить вам серию DockerPi SensorHub, как применить к IOT.
Я запускаю этот элемент, который основан на Azure IOT HUB. Azure IOT HUB можно использовать для создания решений IOT с надежной и безопасной связью между миллионами устройств IOT и серверной частью решения, размещенного в облаке.
Например, вы можете узнать температуру в вашей комнате и прибыл ли кто-нибудь к вам домой через Интернет с помощью нашего SensorHub.
Запасы
- 1 x плата концентратора датчика
- 1 х RaspberryPi 3B / 3B + / 4B
- 1 x 8 ГБ / 16 ГБ TF карта
- 1 блок питания 5 В / 2,5 А или блок питания 5 В / 3 А для RPi 4B
Шаг 1. Как установить SensorHub серии DockerPi с помощью RaspberryPi
Давайте сначала посмотрим, как установить серию DockerPi SensorHub с Raspberry Pi.
Вам просто нужно вставить в него их 40-контактные штыри.
Будьте осторожны. Пожалуйста, отключите питание при установке
Шаг 2: Откройте I2C RaspberryPi (1)
Выполните команду на картинке: sudo raspi-config
Шаг 3: Откройте I2C RaspberryPi (2)
Шаг 4: Откройте I2C RaspberryPi (3)
Шаг 5: Программная среда (1)
Сначала вам нужно проверить свою версию python3.
Шаг 6. Программная среда (2)
Затем вам нужно установить соответствующие компоненты Azure. Будьте осторожны, вы должны использовать команду, которая включает "python3":
Шаг 7. Программная среда (3)
Затем вам нужно проверить, установили ли вы уже инструмент git, если вы установили git, выполните следующие команды:
Шаг 8: коды (1)
- Перейдите в следующий каталог: azure-iot-sdk-python / tree / master / azure-iot-device / samples / advanced-hub-scenarios
- Откройте следующий файл: update_twin_reported_properties.py
- На картинке вы увидите коды исходного файла:
- измените на следующие коды на картинке: HostName … который вы можете получить на веб-сайте Azure.
- Откройте файл: get_twin.py и сделайте то же самое:
Шаг 9: коды (2)
Вам также необходимо импортировать некоторые библиотеки python3 в файл update_twin_reported_properties.py:
Шаг 10: коды (3)
Затем присоедините следующие коды на картинке, вы также можете скопировать и вставить в свой файл:
bus = smbus. SMBus (1) await 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 = "Нет внешнего датчика температуры!" else: 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_byte_byte)) << 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 в порядке" else: state = "датчик BMP280 исправен плохой"
человек = bus.read_byte_data (0x17, 0x0D)
if (human == 1): human = "живое тело обнаружено" else: human = "нет живого тела"
Шаг 11: коды (4)
Затем запустите файл update_twin_reported_properties.py и вы увидите результат:
Шаг 12: коды (5)
Затем откройте файл: get_twin.py и введите следующие коды, вы также можете скопировать коды и вставить в свои файлы:
print ("{}". format (twin ["сообщил"] ["state0"])) print ("Сообщенный свет: {}". format (twin ["сообщил"] ["свет"]), "Люкс ") print (" Сообщенная температура платы составляет: {} ". format (twin [" сообщено "] [" температура "])," degC ") print (" Сообщенная влажность: {} ". format (twin [" сообщил "] [" влажность "]),"% ") print (" Сообщенная температура датчика: {} ". format (twin [" сообщила "] [" температура1 "])," degC ") print (" Сообщено давление воздуха: {} ". format (twin [" сообщено "] [" давление "])," Pa ") print (" Reported {} ". format (twin [" сообщено "] [" состояние "])) print ("Сообщено, было ли обнаружено живое тело: {}". format (twin ["сообщил"] ["человек"]))
Шаг 13: коды (6)
Затем запустите файл get_twin.py, и вы увидите результат, обновленный из файла update_twin_reported_properties.py: