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/sv/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moistur...

5.6 KiB

Mäta jordfuktighet - Virtuell IoT-hårdvara

I denna del av lektionen kommer du att lägga till en kapacitiv jordfuktighetssensor till din virtuella IoT-enhet och läsa värden från den.

Virtuell hårdvara

Den virtuella IoT-enheten kommer att använda en simulerad Grove kapacitiv jordfuktighetssensor. Detta gör att labbet förblir detsamma som att använda en Raspberry Pi med en fysisk Grove kapacitiv jordfuktighetssensor.

I en fysisk IoT-enhet skulle jordfuktighetssensorn vara en kapacitiv sensor som mäter jordfuktighet genom att detektera jordens kapacitans, en egenskap som förändras när jordfuktigheten ändras. När jordfuktigheten ökar, minskar spänningen.

Detta är en analog sensor, så den använder en simulerad 10-bitars ADC för att rapportera ett värde mellan 1-1 023.

Lägg till jordfuktighetssensorn i CounterFit

För att använda en virtuell jordfuktighetssensor måste du lägga till den i CounterFit-appen.

Uppgift - Lägg till jordfuktighetssensorn i CounterFit

Lägg till jordfuktighetssensorn i CounterFit-appen.

  1. Skapa en ny Python-app på din dator i en mapp som heter soil-moisture-sensor med en enda fil som heter app.py och en Python-virtuell miljö, och lägg till CounterFit pip-paketen.

    ⚠️ Du kan hänvisa till instruktionerna för att skapa och ställa in ett CounterFit Python-projekt i lektion 1 om det behövs.

  2. Se till att CounterFit-webbappen körs.

  3. Skapa en jordfuktighetssensor:

    1. I rutan Create sensor i panelen Sensors, öppna rullgardinsmenyn Sensor type och välj Soil Moisture.

    2. Låt Units vara inställd på NoUnits.

    3. Kontrollera att Pin är inställd på 0.

    4. Välj knappen Add för att skapa Soil Moisture-sensorn på Pin 0.

    Inställningar för jordfuktighetssensorn

    Jordfuktighetssensorn kommer att skapas och visas i sensorlistan.

    Den skapade jordfuktighetssensorn

Programmera appen för jordfuktighetssensorn

Appen för jordfuktighetssensorn kan nu programmeras med hjälp av CounterFit-sensorer.

Uppgift - Programmera appen för jordfuktighetssensorn

Programmera appen för jordfuktighetssensorn.

  1. Se till att appen soil-moisture-sensor är öppen i VS Code.

  2. Öppna filen app.py.

  3. Lägg till följande kod högst upp i app.py för att ansluta appen till CounterFit:

    from counterfit_connection import CounterFitConnection
    CounterFitConnection.init('127.0.0.1', 5000)
    
  4. Lägg till följande kod i filen app.py för att importera några nödvändiga bibliotek:

    import time
    from counterfit_shims_grove.adc import ADC
    

    import time-satsen importerar modulen time som kommer att användas senare i denna uppgift.

    from counterfit_shims_grove.adc import ADC-satsen importerar klassen ADC för att interagera med en virtuell analog-till-digital-omvandlare som kan anslutas till en CounterFit-sensor.

  5. Lägg till följande kod under detta för att skapa en instans av klassen ADC:

    adc = ADC()
    
  6. Lägg till en oändlig loop som läser från denna ADC på pin 0 och skriver resultatet till konsolen. Denna loop kan sedan pausa i 10 sekunder mellan avläsningarna.

    while True:
        soil_moisture = adc.read(0)
        print("Soil moisture:", soil_moisture)
    
        time.sleep(10)
    
  7. Från CounterFit-appen, ändra värdet på jordfuktighetssensorn som kommer att läsas av appen. Du kan göra detta på två sätt:

    • Ange ett nummer i rutan Value för jordfuktighetssensorn och välj sedan knappen Set. Numret du anger kommer att vara det värde som sensorn returnerar.

    • Markera kryssrutan Random och ange ett Min- och Max-värde, och välj sedan knappen Set. Varje gång sensorn läser ett värde kommer den att läsa ett slumpmässigt nummer mellan Min och Max.

  8. Kör Python-appen. Du kommer att se jordfuktighetsmätningarna skrivna till konsolen. Ändra Value eller inställningarna för Random för att se värdet ändras.

    (.venv) ➜ soil-moisture-sensor $ python app.py 
    Soil moisture: 615
    Soil moisture: 612
    Soil moisture: 498
    Soil moisture: 493
    Soil moisture: 490
    Soil Moisture: 388
    

💁 Du kan hitta denna kod i mappen code/virtual-device.

😀 Din jordfuktighetssensorprogram var en framgång!


Ansvarsfriskrivning:
Detta dokument har översatts med hjälp av AI-översättningstjänsten Co-op Translator. Även om vi strävar efter noggrannhet, bör du vara medveten om att automatiserade översättningar kan innehålla fel eller felaktigheter. Det ursprungliga dokumentet på dess originalspråk bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för eventuella missförstånd eller feltolkningar som uppstår vid användning av denna översättning.