Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Volim držati kućne mačke. Nakon dana intenzivnog rada, mačka me može opustiti kad dođem kući. Nakon napornog treninga, ova mačka ima dobru naviku da svakodnevno jede u "restoranu". Ali nedavno moram putovati na nekoliko dana i nitko se ne brine o mački kod kuće, pa želim koristiti MQTT za hranjenje na daljinsko upravljanje. Ako mačka jede, ovo me može podsjetiti i biti siguran
MQTT
MQTT je protokol za objavljivanje / pretplatu poruka baziran na klijentu-serveru. MQTT protokol je lagan, jednostavan, otvoren i jednostavan za implementaciju, a ove značajke ga čine široko primjenjivim.
Objavite i pretplatite se
MQTT protokol definira dvije vrste entiteta u mreži: posrednik za poruke i neki klijenti. Agent je poslužitelj koji prima sve poruke od klijenta, a zatim te poruke usmjerava do relevantnog ciljnog klijenta. Klijent je sve što može komunicirati s agentom za slanje i primanje poruka. Klijent može biti IoT senzor na licu mjesta ili aplikacija koja obrađuje IoT podatke u podatkovnom centru.
Korak 1: Potrošni materijal
Hardver:
MakePython ESP32
MakePython ESP32 je ESP32 ploča sa integrisanim SSD1306 OLED ekranom.
servo motor
HC-SR04
Softver:
uPyCraft IDE
Kliknite za preuzimanje uPyCraft IDE -a za Windows
Korak 2: Ožičenje
MakePython ESP32 - Servo
- 3V3 - VCC (crvena linija)
- GND - GND (smeđa linija)
- IO14 - Signal (narančasta linija)
MakePython ESP32-HC-SR04
- 3V3 - VCC
- IO13 - Trig
- IO12 - Eho
- GND - GND
Korak 3: Kodirajte
Preuzmite i pokrenite ovdje navedeni kôd.
Napravite sljedeće promjene u datoteci main.py, a zatim spremite i pokrenite.
Izmijenite SSID i PSW za povezivanje WiFi -ja
SSID = 'Makerfabs' #REPLACE_WITH_YOUR_SSID
PSW = '20160704' #REPLACE_WITH_YOUR_PASSWORD
Izmijenite IP svog MQTT brokera i odredite teme za objavljivanje i pretplatu
mqtt_server = '39.106.151.85 '#REPLACE_WITH_YOUR_MQTT_BROKER_IP
topic_sub = b'feed 'topic_pub = b'state'
Povežite se i pretplatite se na teme
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 ('Povezano sa %s MQTT posrednikom, pretplaćen na %s topic' %(mqtt_, topic_sub)) povratni klijent
objavljivati poruke
client = connect_and_subscribe ()
client.publish (topic_pub, poruka)
Korak 4: Postavke MQTT -a
MQTT klijent možete preuzeti i instalirati ovdje, omogućavajući vam daljinsko upravljanje na vašem mobilnom telefonu ili računaru.
- Otvorite i kliknite za kreiranje MQTT klijenta
- Imenujte ulazni feed
- Odabir protokola mqtt / tcp
- Unos hosta: 39.106.151.85:1883
- Pritisnite sačuvaj
Korak 5: Objavite i pretplatite se
Nakon povezivanja, tema za objavljivanje unosa: feed. Unos korisnog tereta: uključeno, a zatim kliknite objavi
Servo motor se okreće i počinje napajati.
Tema za stanje unosa pretplate, a zatim kliknite Pretplati se
Kada je mačka u blizini hranilice za jelo, tema pretplate prima: mačka jede …, mačka prima nakon odlaska: Mačka je otišla.
Čak i ako ostavite mačku kod kuće, ne morate brinuti da će postati gladna.