Inhoudsopgave:
- Stap 1: Benodigdheden
- Stap 2: Bedrading
- Stap 3: Coderen
- Stap 4: MQTT-instellingen
- Stap 5: Publiceren en abonneren
Video: MQTT gebaseerd op MicroPython ESP32 - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
Ik hou van katten als huisdier. Na een dag intensief werken kan de kat me ontspannen als ik thuiskom. Na een zware training heeft deze kat de goede gewoonte om elke dag regelmatig in het "restaurant" te eten. Maar de laatste tijd moet ik een paar dagen reizen en niemand zorgt thuis voor de kat, dus ik wil MQTT gebruiken voor voeding op afstand. Als de kat aan het eten is, kan dit me eraan herinneren en me geruststellen
MQTT
MQTT is een client-server-gebaseerd protocol voor het publiceren/abonneren van berichten. Het MQTT-protocol is lichtgewicht, eenvoudig, open en gemakkelijk te implementeren, en deze functies maken het breed toepasbaar.
Publiceren en abonneren
Het MQTT-protocol definieert twee soorten entiteiten in het netwerk: een berichtenmakelaar en sommige clients. De agent is een server die alle berichten van de client ontvangt en deze berichten vervolgens doorstuurt naar de betreffende doelclient. De client is alles dat kan communiceren met de agent om berichten te verzenden en ontvangen. De klant kan een on-site IoT-sensor zijn of een applicatie die IoT-gegevens verwerkt in een datacenter.
Stap 1: Benodigdheden
Hardware:
MerknaamPython ESP32
MakePython ESP32 is een ESP32-bord met een geïntegreerd SSD1306 OLED-scherm.
servomotor
HC-SR04
Software:
uPyCraft IDE
Klik om uPyCraft IDE voor Windows te downloaden
Stap 2: Bedrading
Merknaam Python ESP32 -- Servo
- 3V3 -- VCC (rode lijn)
- GND -- GND (bruine lijn)
- IO14 -- Signaal (oranje lijn)
Merknaam Python ESP32 -- HC-SR04
- 3V3 -- VCC
- IO13 -- Trig
- IO12 -- Echo
- GND -- GND
Stap 3: Coderen
Download en voer de hier verstrekte code uit.
Breng de volgende wijzigingen aan in het bestand main.py, sla het op en voer het uit.
Wijzig SSID en PSW om wifi te verbinden
SSID='Makerfabs' #REPLACE_WITH_YOUR_SSID
PSW='20160704' #REPLACE_WITH_YOUR_PASSWORD
Wijzig het IP-adres van uw MQTT-makelaar en bepaal de onderwerpen voor publicatie en abonnement
mqtt_server = '39.106.151.85' #REPLACE_WITH_YOUR_MQTT_BROKER_IP
topic_sub = b'feed' topic_pub = b'state'
Maak verbinding met en abonneer je op onderwerpen
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('Verbonden met %s MQTT broker, geabonneerd op %s onderwerp' % (mqtt_server, topic_sub)) client retourneren
berichten publiceren
client = connect_and_subscribe()
client.publish(topic_pub, msg)
Stap 4: MQTT-instellingen
U kunt hier de MQTT-client downloaden en installeren, zodat u de afstandsbediening op uw mobiele telefoon of computer kunt uitvoeren.
- Open en klik om MQTT-client te maken
- Naam invoerfeed
- Protocol selecteren mqtt / tcp
- Hostinvoer: 39.106.151.85:1883
- Klik op opslaan
Stap 5: Publiceren en abonneren
Na het verbinden, onderwerp om invoer te publiceren: feed. Payload-invoer: aan en klik vervolgens op publiceren
De servomotor draait en begint te voeden.
Onderwerp om in te schrijven invoerstatus en klik vervolgens op abonneren
Wanneer de kat in de buurt van de voerbak is om te eten, ontvangt het abonnementsonderwerp: kat is aan het eten…, de kat ontvangt na vertrek: De kat is vertrokken.
Zelfs als je de kat thuis laat, hoef je je geen zorgen te maken dat hij honger krijgt.
Aanbevolen:
Op LoRa gebaseerd visueel bewakingssysteem voor landbouw Iot - Een fronted applicatie ontwerpen met Firebase & Angular: 10 stappen
Op LoRa gebaseerd visueel bewakingssysteem voor landbouw Iot | Een fronted-applicatie ontwerpen met Firebase & Angular: In het vorige hoofdstuk hebben we het gehad over hoe de sensoren werken met de loRa-module om de Firebase Realtime-database te vullen, en we hebben het diagram op zeer hoog niveau gezien hoe ons hele project werkt. In dit hoofdstuk gaan we het hebben over hoe we
DIY Chewie Monsta Looper (gebaseerd op Ed Sheeran's): 7 stappen
DIY Chewie Monsta Looper (gebaseerd op Ed Sheeran's): Dus ik had al een paar jaar van Ed Sheeran gehoord en besteedde hem nooit echt aandacht. Ik vond sommige van deze nummers op de radio leuk, maar dacht dat hij gewoon een andere popartiest was, totdat ik zei dat hij "Shape of You" uitvoerde. bij de Grammy's van 2017. ik w
IOT-gebaseerd slim parkeren: 7 stappen
IOT-gebaseerd slim parkeren: door Tanmay Pathak en Utkarsh Mishra. Studenten @ International Institute of Information Technology, Hyderabad (IIITH)ABSTRACTWe hebben met succes een IOT-gebaseerd slim parkeersysteem geïmplementeerd. Met behulp van individuele nodes (nabijheidssensoren) altijd
Geautomatiseerde modelspoorbaan met twee treinen (V2.0) - Arduino gebaseerd: 15 stappen (met afbeeldingen)
Geautomatiseerde modelspoorbaan met twee treinen (V2.0) | Gebaseerd op Arduino: het automatiseren van modelbaanlay-outs met behulp van Arduino-microcontrollers is een geweldige manier om microcontrollers, programmeren en modelspoorbanen samen te voegen tot één hobby. Er zijn een heleboel projecten beschikbaar over het autonoom laten rijden van een trein op een modelspoorbaan
MicroPython IoT Rover gebaseerd op WEMOS D1 (ESP-8266EX): 7 stappen (met afbeeldingen)
MicroPython IoT Rover Gebaseerd op WEMOS D1 (ESP-8266EX): ** Update: ik heb een nieuwe video voor v2 met een lans gepost **Ik organiseer Robotica-workshops voor jonge kinderen en ik ben altijd op zoek naar goedkope platforms om intrigerende projecten te bouwen. Hoewel Arduino-klonen goedkoop zijn, gebruikt het de C / C ++ -taal die kinderen niet zijn