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.
-
Utwórz nową aplikację Python na swoim komputerze w folderze o nazwie
soil-moisture-sensor
z jednym plikiem o nazwieapp.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.
-
Upewnij się, że aplikacja internetowa CounterFit jest uruchomiona.
-
Utwórz czujnik wilgotności gleby:
-
W polu Create sensor w panelu Sensors rozwiń pole Sensor type i wybierz Soil Moisture.
-
Pozostaw Units ustawione na NoUnits.
-
Upewnij się, że Pin jest ustawiony na 0.
-
Wybierz przycisk Add, aby utworzyć czujnik Soil Moisture na pinie 0.
Czujnik wilgotności gleby zostanie utworzony i pojawi się na liście czujników.
-
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.
-
Upewnij się, że aplikacja
soil-moisture-sensor
jest otwarta w VS Code. -
Otwórz plik
app.py
. -
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)
-
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. -
Dodaj poniżej następujący kod, aby utworzyć instancję klasy
ADC
:adc = ADC()
-
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)
-
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.
-
-
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.