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

6.0 KiB

Pomiar wilgotności gleby - Wirtualny sprzęt IoT

W tej części lekcji dodasz pojemnościowy czujnik wilgotności gleby do swojego wirtualnego urządzenia IoT i odczytasz z niego wartości.

Wirtualny sprzęt

Wirtualne urządzenie IoT będzie korzystać z symulowanego pojemnościowego czujnika wilgotności gleby Grove. Dzięki temu laboratorium pozostaje takie samo, jak w przypadku użycia Raspberry Pi z fizycznym pojemnościowym czujnikiem wilgotności gleby Grove.

W fizycznym urządzeniu IoT czujnik wilgotności gleby byłby pojemnościowym czujnikiem, który mierzy wilgotność gleby poprzez wykrywanie jej pojemności, właściwości zmieniającej się wraz ze zmianą wilgotności gleby. Wraz ze wzrostem wilgotności gleby napięcie maleje.

Jest to czujnik analogowy, który wykorzystuje symulowany 10-bitowy przetwornik ADC do raportowania wartości w zakresie od 1 do 1 023.

Dodanie czujnika wilgotności gleby do CounterFit

Aby użyć wirtualnego czujnika wilgotności gleby, musisz dodać go do aplikacji CounterFit.

Zadanie - Dodanie czujnika wilgotności gleby do CounterFit

Dodaj czujnik wilgotności gleby do aplikacji CounterFit.

  1. Utwórz nową aplikację Python na swoim komputerze w folderze o nazwie soil-moisture-sensor z jednym plikiem o nazwie app.py oraz wirtualnym środowiskiem Python, a następnie dodaj pakiety pip CounterFit.

    ⚠️ Możesz odwołać się do instrukcji tworzenia i konfigurowania projektu Python w CounterFit w lekcji 1, jeśli to konieczne.

  2. Upewnij się, że aplikacja internetowa CounterFit jest uruchomiona.

  3. Utwórz czujnik wilgotności gleby:

    1. W polu Create sensor w panelu Sensors rozwiń pole Sensor type i wybierz Soil Moisture.

    2. Pozostaw Units ustawione na NoUnits.

    3. Upewnij się, że Pin jest ustawiony na 0.

    4. Wybierz przycisk Add, aby utworzyć czujnik Soil Moisture na pinie 0.

    Ustawienia czujnika wilgotności gleby

    Czujnik wilgotności gleby zostanie utworzony i pojawi się na liście czujników.

    Utworzony czujnik wilgotności gleby

Programowanie aplikacji czujnika wilgotności gleby

Teraz możesz zaprogramować aplikację czujnika wilgotności gleby, korzystając z czujników CounterFit.

Zadanie - Programowanie aplikacji czujnika wilgotności gleby

Zaprogramuj aplikację czujnika wilgotności gleby.

  1. Upewnij się, że aplikacja soil-moisture-sensor jest otwarta w VS Code.

  2. Otwórz plik app.py.

  3. Dodaj następujący kod na początku pliku app.py, aby połączyć aplikację z CounterFit:

    from counterfit_connection import CounterFitConnection
    CounterFitConnection.init('127.0.0.1', 5000)
    
  4. Dodaj następujący kod do pliku app.py, aby zaimportować wymagane biblioteki:

    import time
    from counterfit_shims_grove.adc import ADC
    

    Instrukcja import time importuje moduł time, który będzie używany później w tym zadaniu.

    Instrukcja from counterfit_shims_grove.adc import ADC importuje klasę ADC, aby umożliwić interakcję z wirtualnym przetwornikiem analogowo-cyfrowym, który może być połączony z czujnikiem CounterFit.

  5. Dodaj poniżej następujący kod, aby utworzyć instancję klasy ADC:

    adc = ADC()
    
  6. Dodaj nieskończoną pętlę, która odczytuje dane z tego przetwornika ADC na pinie 0 i zapisuje wynik w konsoli. Pętla ta może następnie usypiać na 10 sekund między odczytami.

    while True:
        soil_moisture = adc.read(0)
        print("Soil moisture:", soil_moisture)
    
        time.sleep(10)
    
  7. W aplikacji CounterFit zmień wartość czujnika wilgotności gleby, która będzie odczytywana przez aplikację. Możesz to zrobić na dwa sposoby:

    • Wpisz liczbę w polu Value dla czujnika wilgotności gleby, a następnie wybierz przycisk Set. Liczba, którą wpiszesz, będzie wartością zwracaną przez czujnik.

    • Zaznacz pole Random i wpisz wartości Min oraz Max, a następnie wybierz przycisk Set. Za każdym razem, gdy czujnik odczyta wartość, będzie to losowa liczba z zakresu Min i Max.

  8. Uruchom aplikację Python. Zobaczysz pomiary wilgotności gleby wypisywane w konsoli. Zmień wartość w polu Value lub ustawienia Random, aby zobaczyć zmieniające się wartości.

    (.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
    

💁 Kod ten znajdziesz w folderze code/virtual-device.

😀 Twój program czujnika wilgotności gleby zakończył się sukcesem!

Zastrzeżenie:
Ten dokument został przetłumaczony za pomocą usługi tłumaczenia AI Co-op Translator. Chociaż dokładamy wszelkich starań, aby tłumaczenie było precyzyjne, prosimy pamiętać, że automatyczne tłumaczenia mogą zawierać błędy lub nieścisłości. Oryginalny dokument w jego rodzimym języku powinien być uznawany za wiarygodne źródło. W przypadku informacji o kluczowym znaczeniu zaleca się skorzystanie z profesjonalnego tłumaczenia przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z użycia tego tłumaczenia.