Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Jag gillar att hålla huskatter. Efter en dag med intensivt arbete kan katten koppla av mig när jag kommer hem. Efter hård träning har den här katten en god vana att äta regelbundet i "restaurangen" varje dag. Men nyligen måste jag resa några dagar och ingen tar hand om katten hemma, så jag vill använda MQTT för fjärrkontrollmatning. Om katten äter kan detta påminna mig och låta mig vara säker
MQTT
MQTT är ett klient-serverbaserat meddelande publicera / prenumerera överföringsprotokoll. MQTT -protokollet är lätt, enkelt, öppet och lätt att implementera, och dessa funktioner gör det allmänt tillämpbart.
Publicera och prenumerera
MQTT -protokollet definierar två typer av enheter i nätverket: en meddelandemäklare och några klienter. Agenten är en server som tar emot alla meddelanden från klienten och sedan dirigerar dessa meddelanden till den relevanta målklienten. Klienten är allt som kan interagera med agenten för att skicka och ta emot meddelanden. Klienten kan vara en IoT-sensor på plats eller en applikation som behandlar IoT-data i ett datacenter.
Steg 1: Tillbehör
Hårdvara:
MakePython ESP32
MakePython ESP32 är ett ESP32 -kort med en integrerad SSD1306 OLED -skärm.
servomotor
HC-SR04
Programvara:
uPyCraft IDE
Klicka här för att ladda ner uPyCraft IDE för Windows
Steg 2: Kabeldragning
MakePython ESP32 - Servo
- 3V3 - VCC (röd linje)
- GND - GND (brun linje)
- IO14 - Signal (orange linje)
MakePython ESP32-HC-SR04
- 3V3 - VCC
- IO13 - Trig
- IO12 - Echo
- GND - GND
Steg 3: Kod
Ladda ner och kör koden som finns här.
Gör följande ändringar i filen main.py och spara och kör sedan.
Ändra SSID och PSW för att ansluta WiFi
SSID = 'Makerfabs' #REPLACE_WITH_YOUR_SSID
PSW = '20160704' #REPLACE_WITH_YOUR_PASSWORD
Ändra din MQTT -mäklares IP och bestäm ämnen för publicering och prenumeration
mqtt_server = '39.106.151.85 '#REPLACE_WITH_YOUR_MQTT_BROKER_IP
topic_sub = b'feed 'topic_pub = b'state'
Anslut och prenumerera på ämnen
def connect_and_subscribe ():
global client_id, mqtt_server, topic_sub client = MQTTClient (client_id, mqtt_server) client.set_callback (sub_cb) client.connect () client.subscribe (topic_sub) print ('Connected to %s MQTT broker, prenumered to %s topic' %(mqtt_server), topic_sub)) returklient
publicera meddelanden
klient = connect_and_subscribe ()
client.publish (topic_pub, msg)
Steg 4: MQTT -inställningar
Du kan ladda ner och installera MQTT -klienten här, så att du kan utföra fjärrkontroll på din mobiltelefon eller dator.
- Öppna och klicka för att skapa MQTT -klient
- Namn inmatningsflöde
- Välj protokoll mqtt / tcp
- Värdinmatning: 39.106.151.85:1883
- Klicka på Spara
Steg 5: Publicera och prenumerera
Efter anslutning, ämne för att publicera input: feed. Nyttolastinmatning: på och klicka sedan på publicera
Servomotorn roterar och börjar matas.
Ämne för att prenumerera inmatningsläge och klicka sedan på prenumerera
När katten är nära mataren för att äta får prenumerationsämnet: katten äter …, katten får efter att ha lämnat: Katten gick.
Även om du lämnar katten hemma behöver du inte oroa dig för att den ska bli hungrig.