You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/da/4-manufacturing/lessons/4-trigger-fruit-detector/virtual-device-proximity.md

4.9 KiB

Registrer nærhed - Virtuel IoT-hardware

I denne del af lektionen vil du tilføje en nærhedssensor til din virtuelle IoT-enhed og aflæse afstand fra den.

Hardware

Den virtuelle IoT-enhed vil bruge en simuleret afstandssensor.

På en fysisk IoT-enhed ville du bruge en sensor med et laserafstandsmålemodul til at registrere afstand.

Tilføj afstandssensoren til CounterFit

For at bruge en virtuel afstandssensor skal du tilføje en til CounterFit-appen.

Opgave - tilføj afstandssensoren til CounterFit

Tilføj afstandssensoren til CounterFit-appen.

  1. Åbn koden fruit-quality-detector i VS Code, og sørg for, at det virtuelle miljø er aktiveret.

  2. Installer en ekstra Pip-pakke for at installere en CounterFit shim, der kan kommunikere med afstandssensorer ved at simulere rpi-vl53l0x Pip-pakken, en Python-pakke, der interagerer med en VL53L0X time-of-flight afstandssensor. Sørg for at installere denne fra en terminal med det virtuelle miljø aktiveret.

    pip install counterfit-shims-rpi-vl53l0x
    
  3. Sørg for, at CounterFit-webappen kører.

  4. Opret en afstandssensor:

    1. I boksen Create sensor i panelet Sensors, vælg Distance i rullemenuen Sensor type.

    2. Lad Units stå som Millimeter.

    3. Denne sensor er en I²C-sensor, så sæt adressen til 0x29. Hvis du brugte en fysisk VL53L0X-sensor, ville den være hardkodet til denne adresse.

    4. Vælg knappen Add for at oprette afstandssensoren.

    Indstillinger for afstandssensoren

    Afstandssensoren vil blive oprettet og vises i sensorlisten.

    Afstandssensoren oprettet

Programmer afstandssensoren

Den virtuelle IoT-enhed kan nu programmeres til at bruge den simulerede afstandssensor.

Opgave - programmer time-of-flight-sensoren

  1. Opret en ny fil i projektet fruit-quality-detector kaldet distance-sensor.py.

    💁 En nem måde at simulere flere IoT-enheder på er at gøre det i forskellige Python-filer og derefter køre dem samtidig.

  2. Start en forbindelse til CounterFit med følgende kode:

    from counterfit_connection import CounterFitConnection
    CounterFitConnection.init('127.0.0.1', 5000)
    
  3. Tilføj følgende kode nedenunder:

    import time
    
    from counterfit_shims_rpi_vl53l0x.vl53l0x import VL53L0X
    

    Dette importerer sensorbibliotekets shim til VL53L0X time-of-flight-sensoren.

  4. Tilføj derefter følgende kode for at få adgang til sensoren:

    distance_sensor = VL53L0X()
    distance_sensor.begin()
    

    Denne kode erklærer en afstandssensor og starter derefter sensoren.

  5. Til sidst tilføj en uendelig løkke for at aflæse afstande:

    while True:
        distance_sensor.wait_ready()
        print(f'Distance = {distance_sensor.get_distance()} mm')
        time.sleep(1)
    

    Denne kode venter på, at en værdi er klar til at blive aflæst fra sensoren, og udskriver den derefter til konsollen.

  6. Kør denne kode.

    💁 Husk, at denne fil hedder distance-sensor.py! Sørg for at køre den via Python og ikke app.py.

  7. Du vil se afstandsmålinger vises i konsollen. Ændr værdien i CounterFit for at se denne værdi ændre sig, eller brug tilfældige værdier.

    (.venv) ➜  fruit-quality-detector python distance-sensor.py 
    Distance = 37 mm
    Distance = 42 mm
    Distance = 29 mm
    

💁 Du kan finde denne kode i mappen code-proximity/virtual-iot-device.

😀 Dit program til nærhedssensoren var en succes!


Ansvarsfraskrivelse:
Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten Co-op Translator. Selvom vi bestræber os på at sikre nøjagtighed, skal du være opmærksom på, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det originale dokument på dets oprindelige sprog bør betragtes som den autoritative kilde. For kritisk information anbefales professionel menneskelig oversættelse. Vi påtager os ikke ansvar for eventuelle misforståelser eller fejltolkninger, der måtte opstå som følge af brugen af denne oversættelse.