Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Lubię trzymać koty domowe. Po dniu intensywnej pracy kot może mnie zrelaksować, gdy wrócę do domu. Po ciężkim treningu ten kot ma dobry nawyk regularnego jedzenia w „restauracji” każdego dnia. Ale ostatnio muszę podróżować przez kilka dni i nikt nie zajmuje się kotem w domu, więc chcę używać MQTT do zdalnego karmienia. Jeśli kot je, może mi to przypomnieć i dać mi spokój
MQTT
MQTT to oparty na kliencie-serwerze protokół przesyłania wiadomości/subskrypcji. Protokół MQTT jest lekki, prosty, otwarty i łatwy do wdrożenia, a te cechy sprawiają, że ma szerokie zastosowanie.
Publikuj i subskrybuj
Protokół MQTT definiuje dwa rodzaje podmiotów w sieci: broker komunikatów i niektórzy klienci. Agent to serwer, który odbiera wszystkie komunikaty od klienta, a następnie kieruje je do odpowiedniego klienta docelowego. Klient to wszystko, co może współdziałać z agentem w celu wysyłania i odbierania wiadomości. Klientem może być działający na miejscu czujnik IoT lub aplikacja przetwarzająca dane IoT w centrum danych.
Krok 1: Materiały eksploatacyjne
Sprzęt komputerowy:
MakePython ESP32
MakePython ESP32 to płyta ESP32 ze zintegrowanym wyświetlaczem OLED SSD1306.
siłownik
HC-SR04
Oprogramowanie:
IDE uPyCraft
Kliknij, aby pobrać uPyCraft IDE dla Windows
Krok 2: Okablowanie
MakePython ESP32 -- Serwo
- 3V3 -- VCC (czerwona linia)
- GND -- GND (brązowa linia)
- IO14 -- Sygnał (linia pomarańczowa)
MakePython ESP32 -- HC-SR04
- 3V3 -- VCC
- IO13 -- Wyzwalanie
- IO12 -- Echo
- GND -- GND
Krok 3: Kod
Pobierz i uruchom kod podany tutaj.
Wprowadź następujące zmiany w pliku main.py, a następnie zapisz i uruchom.
Zmodyfikuj SSID i PSW, aby połączyć się z Wi-Fi
SSID='Twórcy' #REPLACE_WITH_YOUR_SSID
PSW='20160704' #ZAMIEŃ_Z TWOIM_HASŁEM
Zmodyfikuj adres IP swojego brokera MQTT i określ tematy publikacji i subskrypcji
mqtt_server = '39.106.151.85' #REPLACE_WITH_YOUR_MQTT_BROKER_IP
topic_sub = b'feed' topic_pub = b'state'
Połącz się i subskrybuj tematy
def connect_and_subscribe():
globalny client_id, mqtt_server, topic_sub klient = MQTTClient(client_id, mqtt_server) client.set_callback(sub_cb) client.connect() client.subscribe(topic_sub) print('Połączony z brokerem %s MQTT, subskrybowany do %s tematu' % (mqtt_server), topic_sub)) zwróć klienta
publikuj wiadomości
klient = connect_and_subscribe()
klient.publish(topic_pub, msg)
Krok 4: Ustawienia MQTT
Możesz pobrać i zainstalować klienta MQTT tutaj, co pozwala na zdalne sterowanie na telefonie komórkowym lub komputerze.
- Otwórz i kliknij, aby utworzyć klienta MQTT
- Kanał wprowadzania nazwy
- Protokół wybierz mqtt / tcp
- Wejście hosta: 39.106.151.85:1883
- Kliknij Zapisz
Krok 5: Opublikuj i zasubskrybuj
Po połączeniu temat do publikacji danych wejściowych: feed. Dane wejściowe: włącz, a następnie kliknij publikuj
Serwomotor obraca się i zaczyna karmić.
Temat do subskrybowania stanu wejścia, a następnie kliknij Subskrybuj
Gdy kot jest przy karmniku do jedzenia, w wątku subskrypcji otrzymuje: kot je…, kot po wyjściu otrzymuje: Kot wyszedł.
Nawet jeśli zostawisz kota w domu, nie musisz się martwić, że zgłodnieje.