5.7 KiB
Sterowanie przekaźnikiem - Wirtualny sprzęt IoT
W tej części lekcji dodasz przekaźnik do swojego wirtualnego urządzenia IoT, oprócz czujnika wilgotności gleby, i będziesz nim sterować w zależności od poziomu wilgotności gleby.
Wirtualny sprzęt
Wirtualne urządzenie IoT będzie korzystać z symulowanego przekaźnika Grove. Dzięki temu laboratorium pozostaje takie samo, jak w przypadku użycia Raspberry Pi z fizycznym przekaźnikiem Grove.
W fizycznym urządzeniu IoT przekaźnik byłby przekaźnikiem normalnie otwartym (co oznacza, że obwód wyjściowy jest otwarty lub rozłączony, gdy nie jest wysyłany sygnał do przekaźnika). Taki przekaźnik może obsługiwać obwody wyjściowe do 250V i 10A.
Dodanie przekaźnika do CounterFit
Aby użyć wirtualnego przekaźnika, musisz dodać go do aplikacji CounterFit.
Zadanie
Dodaj przekaźnik do aplikacji CounterFit.
-
Otwórz projekt
soil-moisture-sensor
z poprzedniej lekcji w VS Code, jeśli nie jest jeszcze otwarty. Będziesz dodawać do tego projektu. -
Upewnij się, że aplikacja webowa CounterFit jest uruchomiona.
-
Utwórz przekaźnik:
-
W polu Create actuator w panelu Actuators rozwiń pole Actuator type i wybierz Relay.
-
Ustaw Pin na 5.
-
Wybierz przycisk Add, aby utworzyć przekaźnik na Pinie 5.
Przekaźnik zostanie utworzony i pojawi się na liście aktuatorów.
-
Programowanie przekaźnika
Aplikacja czujnika wilgotności gleby może teraz zostać zaprogramowana do korzystania z wirtualnego przekaźnika.
Zadanie
Zaprogramuj wirtualne urządzenie.
-
Otwórz projekt
soil-moisture-sensor
z poprzedniej lekcji w VS Code, jeśli nie jest jeszcze otwarty. Będziesz dodawać do tego projektu. -
Dodaj poniższy kod do pliku
app.py
poniżej istniejących importów:from counterfit_shims_grove.grove_relay import GroveRelay
Ten kod importuje
GroveRelay
z bibliotek Grove Python shim, aby umożliwić interakcję z wirtualnym przekaźnikiem Grove. -
Dodaj poniższy kod poniżej deklaracji klasy
ADC
, aby utworzyć instancjęGroveRelay
:relay = GroveRelay(5)
Tworzy to przekaźnik używający pinu 5, do którego podłączyłeś przekaźnik.
-
Aby przetestować działanie przekaźnika, dodaj poniższy kod do pętli
while True:
:relay.on() time.sleep(.5) relay.off()
Kod włącza przekaźnik, czeka 0,5 sekundy, a następnie wyłącza przekaźnik.
-
Uruchom aplikację w Pythonie. Przekaźnik będzie włączał się i wyłączał co 10 sekund, z półsekundowym opóźnieniem między włączeniem a wyłączeniem. Zobaczysz, jak wirtualny przekaźnik w aplikacji CounterFit zamyka się i otwiera, gdy przekaźnik jest włączany i wyłączany.
Sterowanie przekaźnikiem na podstawie wilgotności gleby
Teraz, gdy przekaźnik działa, można nim sterować w odpowiedzi na odczyty wilgotności gleby.
Zadanie
Steruj przekaźnikiem.
-
Usuń 3 linie kodu, które dodałeś do testowania przekaźnika. Zastąp je poniższym kodem:
if soil_moisture > 450: print("Soil Moisture is too low, turning relay on.") relay.on() else: print("Soil Moisture is ok, turning relay off.") relay.off()
Ten kod sprawdza poziom wilgotności gleby z czujnika wilgotności. Jeśli poziom jest powyżej 450, włącza przekaźnik, a jeśli spada poniżej 450, wyłącza go.
💁 Pamiętaj, że pojemnościowy czujnik wilgotności gleby odczytuje: im niższy poziom wilgotności gleby, tym więcej wilgoci znajduje się w glebie i odwrotnie.
-
Uruchom aplikację w Pythonie. Zobaczysz, jak przekaźnik włącza się lub wyłącza w zależności od poziomów wilgotności gleby. Zmień ustawienia Value lub Random dla czujnika wilgotności gleby, aby zobaczyć zmiany wartości.
Soil Moisture: 638 Soil Moisture is too low, turning relay on. Soil Moisture: 452 Soil Moisture is too low, turning relay on. Soil Moisture: 347 Soil Moisture is ok, turning relay off.
💁 Ten kod znajdziesz w folderze code-relay/virtual-device.
😀 Twój program wirtualnego czujnika wilgotności gleby sterujący przekaźnikiem zakończył się sukcesem!
Zastrzeżenie:
Ten dokument został przetłumaczony za pomocą usługi tłumaczeniowej AI Co-op Translator. Chociaż dokładamy wszelkich starań, aby zapewnić dokładność, 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 krytycznych zaleca się skorzystanie z profesjonalnego tłumaczenia wykonanego przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z korzystania z tego tłumaczenia.