5.1 KiB
Detecteer nabijheid - Virtuele IoT-hardware
In dit deel van de les voeg je een nabijheidssensor toe aan je virtuele IoT-apparaat en lees je de afstand ervan af.
Hardware
Het virtuele IoT-apparaat zal gebruik maken van een gesimuleerde afstandssensor.
Bij een fysiek IoT-apparaat zou je een sensor met een lasermodule gebruiken om afstand te detecteren.
Voeg de afstandssensor toe aan CounterFit
Om een virtuele afstandssensor te gebruiken, moet je er een toevoegen aan de CounterFit-app.
Taak - voeg de afstandssensor toe aan CounterFit
Voeg de afstandssensor toe aan de CounterFit-app.
-
Open de
fruit-quality-detector
code in VS Code en zorg ervoor dat de virtuele omgeving is geactiveerd. -
Installeer een extra Pip-pakket om een CounterFit shim te installeren die kan communiceren met afstandssensoren door het rpi-vl53l0x Pip-pakket te simuleren, een Python-pakket dat interacteert met een VL53L0X time-of-flight afstandssensor. Zorg ervoor dat je dit installeert vanuit een terminal met de virtuele omgeving geactiveerd.
pip install counterfit-shims-rpi-vl53l0x
-
Zorg ervoor dat de CounterFit-webapp actief is.
-
Maak een afstandssensor aan:
-
In het Create sensor vak in het Sensors paneel, klik op het dropdown-menu Sensor type en selecteer Distance.
-
Laat de Units staan op
Millimeter
. -
Deze sensor is een I²C-sensor, dus stel het adres in op
0x29
. Als je een fysieke VL53L0X-sensor zou gebruiken, zou dit adres hardcoded zijn. -
Selecteer de knop Add om de afstandssensor aan te maken.
De afstandssensor wordt aangemaakt en verschijnt in de sensorenlijst.
-
Programmeer de afstandssensor
Het virtuele IoT-apparaat kan nu worden geprogrammeerd om de gesimuleerde afstandssensor te gebruiken.
Taak - programmeer de time-of-flight sensor
-
Maak een nieuw bestand aan in het
fruit-quality-detector
project genaamddistance-sensor.py
.💁 Een eenvoudige manier om meerdere IoT-apparaten te simuleren is om elk apparaat in een apart Python-bestand te doen en ze vervolgens tegelijkertijd uit te voeren.
-
Start een verbinding met CounterFit met de volgende code:
from counterfit_connection import CounterFitConnection CounterFitConnection.init('127.0.0.1', 5000)
-
Voeg de volgende code hieronder toe:
import time from counterfit_shims_rpi_vl53l0x.vl53l0x import VL53L0X
Dit importeert de sensorbibliotheek shim voor de VL53L0X time-of-flight sensor.
-
Voeg hieronder de volgende code toe om toegang te krijgen tot de sensor:
distance_sensor = VL53L0X() distance_sensor.begin()
Deze code declareert een afstandssensor en start vervolgens de sensor.
-
Voeg ten slotte een oneindige lus toe om afstanden te lezen:
while True: distance_sensor.wait_ready() print(f'Distance = {distance_sensor.get_distance()} mm') time.sleep(1)
Deze code wacht tot er een waarde beschikbaar is om te lezen van de sensor en print deze vervolgens naar de console.
-
Voer deze code uit.
💁 Vergeet niet dat dit bestand
distance-sensor.py
heet! Zorg ervoor dat je dit uitvoert via Python en niet viaapp.py
. -
Je zult afstandsmetingen zien verschijnen in de console. Verander de waarde in CounterFit om deze waarde te zien veranderen, of gebruik willekeurige waarden.
(.venv) ➜ fruit-quality-detector python distance-sensor.py Distance = 37 mm Distance = 42 mm Distance = 29 mm
💁 Je kunt deze code vinden in de code-proximity/virtual-iot-device map.
😀 Je programma voor de nabijheidssensor is een succes!
Disclaimer:
Dit document is vertaald met behulp van de AI-vertalingsservice Co-op Translator. Hoewel we streven naar nauwkeurigheid, dient u zich ervan bewust te zijn dat geautomatiseerde vertalingen fouten of onnauwkeurigheden kunnen bevatten. Het originele document in zijn oorspronkelijke taal moet worden beschouwd als de gezaghebbende bron. Voor cruciale informatie wordt professionele menselijke vertaling aanbevolen. Wij zijn niet aansprakelijk voor eventuele misverstanden of verkeerde interpretaties die voortvloeien uit het gebruik van deze vertaling.