Turinys:

MQTT, pagrįstas „MicroPython ESP32“: 5 žingsniai
MQTT, pagrįstas „MicroPython ESP32“: 5 žingsniai

Video: MQTT, pagrįstas „MicroPython ESP32“: 5 žingsniai

Video: MQTT, pagrįstas „MicroPython ESP32“: 5 žingsniai
Video: Arduino с VS Code плюс PlatformIO равно радости 2024, Lapkritis
Anonim
MQTT, pagrįstas „MicroPython ESP32“
MQTT, pagrįstas „MicroPython ESP32“
MQTT Remiantis „MicroPython ESP32“
MQTT Remiantis „MicroPython ESP32“

Man patinka laikyti namines kates. Po intensyvaus darbo dienos katė gali mane atpalaiduoti, kai grįšiu namo. Po sunkios treniruotės ši katė turi gerą įprotį reguliariai valgyti „restorane“kiekvieną dieną. Tačiau pastaruoju metu turiu keliauti kelias dienas ir niekas neprižiūri katės namuose, todėl noriu naudoti MQTT maitinti nuotoliniu būdu. Jei katė ėda, tai gali man tai priminti ir būti rami

MQTT

MQTT yra kliento serverio pranešimų skelbimo / prenumeratos perdavimo protokolas. MQTT protokolas yra lengvas, paprastas, atviras ir lengvai įgyvendinamas, todėl šios savybės leidžia jį plačiai taikyti.

Paskelbkite ir užsiprenumeruokite

MQTT protokolas apibrėžia dviejų tipų tinklus: pranešimų tarpininką ir kai kuriuos klientus. Agentas yra serveris, kuris gauna visus pranešimus iš kliento ir nukreipia juos į atitinkamą tikslinį klientą. Klientas yra viskas, kas gali bendrauti su agentu ir siųsti ir gauti pranešimus. Klientas gali būti vietoje esantis daiktų interneto jutiklis arba programa, apdorojanti daiktų interneto duomenis duomenų centre.

1 žingsnis: reikmenys

Prekės
Prekės

Techninė įranga:

„MakePython ESP32“

„MakePython ESP32“yra ESP32 plokštė su integruotu SSD1306 OLED ekranu.

servo variklis

HC-SR04

Programinė įranga:

„uPyCraft IDE“

Spustelėkite, kad atsisiųstumėte „uPyCraft IDE“, skirtą „Windows“

2 žingsnis: laidų prijungimas

Laidai
Laidai

„MakePython ESP32“- „Servo“

  • 3V3 - VCC (raudona linija)
  • GND - GND (ruda linija)
  • IO14 - signalas (oranžinė linija)

„MakePython ESP32“-HC-SR04

  • 3V3 - VCC
  • IO13 - Trig
  • IO12 - aidas
  • GND - GND

3 žingsnis: kodas

Atsisiųskite ir paleiskite čia pateiktą kodą.

Atlikite šiuos main.py failo pakeitimus, tada išsaugokite ir paleiskite.

Norėdami prijungti „WiFi“, pakeiskite SSID ir PSW

SSID = 'Gamintojo gaminiai' #REPLACE_WITH_YOUR_SSID

PSW = '20160704' #REPLACE_WITH_YOUR_PASSWORD

Pakeiskite savo MQTT tarpininko IP adresą ir nustatykite paskelbimo ir prenumeratos temas

mqtt_server = '39.106.151.85 '#REPLACE_WITH_YOUR_MQTT_BROKER_IP

topic_sub = b'feed 'topic_pub = b'state'

Prisijunkite ir užsiprenumeruokite temas

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 ('Prisijungta prie %s MQTT brokerio, užsiprenumeravo %s tema' %(mqtt_server), topic_sub)) grąžinimo klientas

skelbti žinutes

client = connect_and_subscribe ()

client.publish (topic_pub, msg)

4 žingsnis: MQTT nustatymai

MQTT nustatymai
MQTT nustatymai
MQTT nustatymai
MQTT nustatymai

Čia galite atsisiųsti ir įdiegti MQTT klientą, leidžiantį nuotoliniu būdu valdyti savo mobilųjį telefoną ar kompiuterį.

  • Atidarykite ir spustelėkite, kad sukurtumėte MQTT klientą
  • Pavadinkite įvesties sklaidos kanalą
  • Pasirinkite protokolą mqtt / tcp
  • Pagrindinio kompiuterio įvestis: 39.106.151.85:1883
  • Spustelėkite išsaugoti

5 veiksmas: paskelbkite ir užsiprenumeruokite

Paskelbti ir užsiprenumeruoti
Paskelbti ir užsiprenumeruoti
Paskelbti ir užsiprenumeruoti
Paskelbti ir užsiprenumeruoti

Prisijungus tema paskelbti įvestį: sklaidos kanalas. Naudingos apkrovos įvestis: įjungta, tada spustelėkite paskelbti

Servo variklis sukasi ir pradeda tiekti.

Prenumeruoti įvesties būsenos temą, tada spustelėkite prenumeruoti

Kai katė yra šalia lesyklos valgyti, prenumeratos tema gauna: katė valgo …, katė gauna išėjusi: Katė išėjo.

Net jei katę paliksite namuose, jums nereikia jaudintis, kad ji išalks.

Rekomenduojamas: