检测距离 - 虚拟IoT硬件 在本课程的这一部分中,你将为你的虚拟IoT设备添加一个距离传感器,并读取该传感器的距离数据。 硬件 虚拟IoT设备将使用模拟的距离传感器。 在实际的IoT设备中,你会使用带有激光测距模块的传感器来检测距离。 将距离传感器添加到CounterFit 要使用虚拟距离传感器,你需要将其添加到CounterFit应用中。 任务 - 将距离传感器添加到CounterFit 将距离传感器添加到CounterFit应用中。 在VS Code中打开 fruit-quality-detector 代码,并确保激活了虚拟环境。 安装一个额外的Pip包来安装CounterFit适配器,使其能够通过模拟rpi-vl53l0x Pip包与距离传感器通信。
在本课程的这一部分中,你将为你的虚拟IoT设备添加一个距离传感器,并读取该传感器的距离数据。
虚拟IoT设备将使用模拟的距离传感器。
在实际的IoT设备中,你会使用带有激光测距模块的传感器来检测距离。
要使用虚拟距离传感器,你需要将其添加到CounterFit应用中。
将距离传感器添加到CounterFit应用中。
在VS Code中打开fruit-quality-detector代码,并确保激活了虚拟环境。
安装一个额外的Pip包来安装CounterFit适配器,使其能够通过模拟rpi-vl53l0x Pip包与距离传感器通信。这是一个可以与VL53L0X飞行时间距离传感器交互的Python包。确保你在已激活虚拟环境的终端中进行安装。
pip install counterfit-shims-rpi-vl53l0x
确保CounterFit Web应用正在运行。
创建一个距离传感器:
在“传感器”面板中的“创建传感器”框内,下拉选择“传感器类型”并选择“距离”。
保持“单位”为毫米
This sensor is an I2C sensor, so set the address to 0x29。如果你使用的是物理的VL53L0X传感器,它会硬编码为这个地址。
选择“添加”按钮以创建距离传感器。

距离传感器将被创建并出现在传感器列表中。

现在,虚拟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
这段代码导入了用于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! Make sure to run this via Python, notapp.py。
你将在控制台看到距离测量结果。更改CounterFit中的值以查看该值变化,或使用随机值。
(.venv) ➜ fruit-quality-detector python distance-sensor.py Distance = 37 mm Distance = 42 mm Distance = 29 mm
你可以在code-proximity/virtual-iot-device文件夹中找到这段代码。
你的距离传感器程序成功了!
声明:
本文件灏天文库团队进行了翻译。尽管我们力求准确,但请注意,翻译可能包含错误或不准确之处。原文档以其原始语言为准。我们不对因使用此翻译而产生的任何误解或误译负责。