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/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md

7.5 KiB

Mål temperatur - Virtuel IoT-hardware

I denne del af lektionen vil du tilføje en temperatursensor til din virtuelle IoT-enhed.

Virtuel hardware

Den virtuelle IoT-enhed vil bruge en simuleret Grove Digital Humidity and Temperature-sensor. Dette gør denne øvelse identisk med at bruge en Raspberry Pi med en fysisk Grove DHT11-sensor.

Sensoren kombinerer en temperatursensor med en fugtighedssensor, men i denne øvelse er du kun interesseret i temperatursensor-komponenten. På en fysisk IoT-enhed ville temperatursensoren være en termistor, der måler temperatur ved at registrere ændringer i modstand, når temperaturen ændrer sig. Temperatursensorer er normalt digitale sensorer, der internt konverterer den målte modstand til en temperatur i grader Celsius (eller Kelvin, eller Fahrenheit).

Tilføj sensorerne til CounterFit

For at bruge en virtuel fugtigheds- og temperatursensor skal du tilføje de to sensorer til CounterFit-appen.

Opgave - tilføj sensorerne til CounterFit

Tilføj fugtigheds- og temperatursensorerne til CounterFit-appen.

  1. Opret en ny Python-app på din computer i en mappe kaldet temperature-sensor med en enkelt fil kaldet app.py og et Python-virtuelt miljø, og tilføj CounterFit pip-pakkerne.

    ⚠️ Du kan henvise til instruktionerne for at oprette og opsætte et CounterFit Python-projekt i lektion 1, hvis nødvendigt.

  2. Installer en ekstra Pip-pakke for at installere en CounterFit shim til DHT11-sensoren. Sørg for, at du installerer dette fra en terminal med det virtuelle miljø aktiveret.

    pip install counterfit-shims-seeed-python-dht
    
  3. Sørg for, at CounterFit-webappen kører.

  4. Opret en fugtighedssensor:

    1. I boksen Create sensor i panelet Sensors, vælg Sensor type og vælg Humidity.

    2. Lad Units være indstillet til Percentage.

    3. Sørg for, at Pin er indstillet til 5.

    4. Vælg knappen Add for at oprette fugtighedssensoren på Pin 5.

    Indstillinger for fugtighedssensor

    Fugtighedssensoren vil blive oprettet og vises i sensorlisten.

    Fugtighedssensor oprettet

  5. Opret en temperatursensor:

    1. I boksen Create sensor i panelet Sensors, vælg Sensor type og vælg Temperature.

    2. Lad Units være indstillet til Celsius.

    3. Sørg for, at Pin er indstillet til 6.

    4. Vælg knappen Add for at oprette temperatursensoren på Pin 6.

    Indstillinger for temperatursensor

    Temperatursensoren vil blive oprettet og vises i sensorlisten.

    Temperatursensor oprettet

Programmer temperatursensor-appen

Temperatursensor-appen kan nu programmeres ved hjælp af CounterFit-sensorerne.

Opgave - programmer temperatursensor-appen

Programmer temperatursensor-appen.

  1. Sørg for, at temperature-sensor-appen er åben i VS Code.

  2. Åbn filen app.py.

  3. Tilføj følgende kode øverst i app.py for at forbinde appen til CounterFit:

    from counterfit_connection import CounterFitConnection
    CounterFitConnection.init('127.0.0.1', 5000)
    
  4. Tilføj følgende kode til app.py for at importere de nødvendige biblioteker:

    import time
    from counterfit_shims_seeed_python_dht import DHT
    

    from seeed_dht import DHT-sætningen importerer DHT-sensor-klassen for at interagere med en virtuel Grove-temperatursensor ved hjælp af en shim fra modulet counterfit_shims_seeed_python_dht.

  5. Tilføj følgende kode efter ovenstående for at oprette en instans af klassen, der styrer den virtuelle fugtigheds- og temperatursensor:

    sensor = DHT("11", 5)
    

    Dette erklærer en instans af DHT-klassen, der styrer den virtuelle Digitale Humidity og Temperature-sensor. Den første parameter fortæller koden, at sensoren, der bruges, er en virtuel DHT11-sensor. Den anden parameter fortæller koden, at sensoren er tilsluttet port 5.

    💁 CounterFit simulerer denne kombinerede fugtigheds- og temperatursensor ved at forbinde til 2 sensorer: en fugtighedssensor på den pin, der gives, når DHT-klassen oprettes, og en temperatursensor, der kører på den næste pin. Hvis fugtighedssensoren er på pin 5, forventer shimmen, at temperatursensoren er på pin 6.

  6. Tilføj en uendelig løkke efter ovenstående kode for at aflæse temperatursensorens værdi og udskrive den til konsollen:

    while True:
        _, temp = sensor.read()
        print(f'Temperature {temp}°C')
    

    Kaldet til sensor.read() returnerer en tuple med fugtighed og temperatur. Du har kun brug for temperaturværdien, så fugtigheden ignoreres. Temperaturværdien udskrives derefter til konsollen.

  7. Tilføj en kort pause på ti sekunder i slutningen af loop, da temperaturværdierne ikke behøver at blive kontrolleret kontinuerligt. En pause reducerer enhedens strømforbrug.

    time.sleep(10)
    
  8. Fra VS Code-terminalen med et aktiveret virtuelt miljø, kør følgende for at køre din Python-app:

    python app.py
    
  9. Fra CounterFit-appen skal du ændre værdien af temperatursensoren, der vil blive aflæst af appen. Du kan gøre dette på to måder:

    • Indtast et tal i Value-boksen for temperatursensoren, og vælg derefter knappen Set. Det tal, du indtaster, vil være den værdi, sensoren returnerer.

    • Marker afkrydsningsfeltet Random, og indtast en Min- og Max-værdi, og vælg derefter knappen Set. Hver gang sensoren aflæser en værdi, vil den aflæse et tilfældigt tal mellem Min og Max.

    Du bør se de værdier, du har indstillet, vises i konsollen. Ændr Value eller Random-indstillingerne for at se værdien ændre sig.

    (.venv) ➜  temperature-sensor python app.py
    Temperature 28.25°C
    Temperature 30.71°C
    Temperature 25.17°C
    

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

😀 Dit temperatursensorprogram 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å nøjagtighed, skal det bemærkes, 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 intet ansvar for misforståelser eller fejltolkninger, der måtte opstå som følge af brugen af denne oversættelse.