Inhoudsopgave:

MQTT gebaseerd op MicroPython ESP32 - Ajarnpa
MQTT gebaseerd op MicroPython ESP32 - Ajarnpa

Video: MQTT gebaseerd op MicroPython ESP32 - Ajarnpa

Video: MQTT gebaseerd op MicroPython ESP32 - Ajarnpa
Video: MicroPython - MQTT tutorial on ESP32 2024, Juli-
Anonim
MQTT gebaseerd op MicroPython ESP32
MQTT gebaseerd op MicroPython ESP32
MQTT gebaseerd op MicroPython ESP32
MQTT gebaseerd op MicroPython ESP32

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

Benodigdheden
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

Bedrading
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

MQTT-instellingen
MQTT-instellingen
MQTT-instellingen
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

Publiceren en abonneren
Publiceren en abonneren
Publiceren en abonneren
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: