7.4 KiB
Обнаружение близости - Виртуальное IoT оборудование
В этой части урока вы добавите датчик близости к вашему виртуальному IoT-устройству и будете считывать расстояние с него.
Оборудование
Виртуальное IoT-устройство будет использовать симулированный датчик расстояния.
В физическом IoT-устройстве вы бы использовали датчик с лазерным модулем для измерения расстояния.
Добавление датчика расстояния в CounterFit
Чтобы использовать виртуальный датчик расстояния, необходимо добавить его в приложение CounterFit.
Задача - добавление датчика расстояния в CounterFit
Добавьте датчик расстояния в приложение CounterFit.
-
Откройте код
fruit-quality-detector
в VS Code и убедитесь, что виртуальная среда активирована. -
Установите дополнительный пакет Pip, чтобы добавить CounterFit shim, который может взаимодействовать с датчиками расстояния, симулируя rpi-vl53l0x Pip package — Python-пакет, который работает с датчиком расстояния VL53L0X. Убедитесь, что установка выполняется из терминала с активированной виртуальной средой.
pip install counterfit-shims-rpi-vl53l0x
-
Убедитесь, что веб-приложение CounterFit запущено.
-
Создайте датчик расстояния:
-
В поле Create sensor на панели Sensors раскройте список Sensor type и выберите Distance.
-
Оставьте Units как
Millimeter
. -
Этот датчик является датчиком I²C, поэтому установите адрес
0x29
. Если бы вы использовали физический датчик VL53L0X, он был бы жестко привязан к этому адресу. -
Нажмите кнопку Add, чтобы создать датчик расстояния.
Датчик расстояния будет создан и появится в списке датчиков.
-
Программирование датчика расстояния
Теперь виртуальное IoT-устройство можно запрограммировать для использования симулированного датчика расстояния.
Задача - программирование датчика времени полета
-
Создайте новый файл в проекте
fruit-quality-detector
с именемdistance-sensor.py
.💁 Легкий способ симулировать несколько IoT-устройств — создать для каждого отдельный Python-файл, а затем запускать их одновременно.
-
Начните подключение к CounterFit с помощью следующего кода:
from counterfit_connection import CounterFitConnection CounterFitConnection.init('127.0.0.1', 5000)
-
Добавьте следующий код ниже:
import time from counterfit_shims_rpi_vl53l0x.vl53l0x import VL53L0X
Этот код импортирует библиотеку shim для датчика времени полета VL53L0X.
-
Ниже добавьте следующий код для доступа к датчику:
distance_sensor = VL53L0X() distance_sensor.begin()
Этот код объявляет датчик расстояния, а затем запускает его.
-
Наконец, добавьте бесконечный цикл для считывания расстояний:
while True: distance_sensor.wait_ready() print(f'Distance = {distance_sensor.get_distance()} mm') time.sleep(1)
Этот код ожидает готовности значения для считывания с датчика, а затем выводит его в консоль.
-
Запустите этот код.
💁 Не забудьте, что этот файл называется
distance-sensor.py
! Убедитесь, что вы запускаете его через Python, а неapp.py
. -
Вы увидите измерения расстояния в консоли. Измените значение в CounterFit, чтобы увидеть, как оно меняется, или используйте случайные значения.
(.venv) ➜ fruit-quality-detector python distance-sensor.py Distance = 37 mm Distance = 42 mm Distance = 29 mm
💁 Вы можете найти этот код в папке code-proximity/virtual-iot-device.
😀 Программа для вашего датчика близости успешно завершена!
Отказ от ответственности:
Этот документ был переведен с помощью сервиса автоматического перевода Co-op Translator. Несмотря на наши усилия обеспечить точность, автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его исходном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникшие в результате использования данного перевода.