MQTT อิงจาก MicroPython ESP32: 5 ขั้นตอน
MQTT อิงจาก MicroPython ESP32: 5 ขั้นตอน
Anonim
MQTT อิงจาก MicroPython ESP32
MQTT อิงจาก MicroPython ESP32
MQTT อิงจาก MicroPython ESP32
MQTT อิงจาก MicroPython ESP32

ฉันชอบเลี้ยงแมว หลังจากทำงานหนักมาทั้งวัน แมวสามารถผ่อนคลายฉันได้เมื่อกลับถึงบ้าน หลังจากการฝึกฝนอย่างหนัก แมวตัวนี้มีนิสัยที่ดีในการกินเป็นประจำใน "ร้านอาหาร" ทุกวัน แต่ช่วงหลังนี้ฉันต้องเดินทางสักสองสามวันและไม่มีใครดูแลแมวที่บ้าน ฉันจึงต้องการใช้ MQTT สำหรับการให้อาหารด้วยรีโมทคอนโทรล ถ้าแมวกำลังกินนี่เตือนฉันและให้ฉันสบายใจ

MQTT

MQTT เป็นโปรโตคอลการถ่ายโอนข้อความที่ใช้ไคลเอ็นต์-เซิร์ฟเวอร์ โปรโตคอล MQTT นั้นมีน้ำหนักเบา เรียบง่าย เปิดกว้าง และง่ายต่อการใช้งาน และคุณสมบัติเหล่านี้ทำให้สามารถใช้งานได้อย่างกว้างขวาง

เผยแพร่และสมัครสมาชิก

โปรโตคอล MQTT กำหนดเอนทิตีสองประเภทในเครือข่าย: ตัวรับส่งข้อความและไคลเอนต์บางตัว เอเจนต์คือเซิร์ฟเวอร์ที่รับข้อความทั้งหมดจากไคลเอนต์ จากนั้นกำหนดเส้นทางข้อความเหล่านี้ไปยังไคลเอนต์เป้าหมายที่เกี่ยวข้อง ลูกค้าคือสิ่งที่สามารถโต้ตอบกับตัวแทนเพื่อส่งและรับข้อความ ลูกค้าสามารถเป็นเซ็นเซอร์ IoT ในสถานที่หรือแอปพลิเคชันที่ประมวลผลข้อมูล IoT ในศูนย์ข้อมูล

ขั้นตอนที่ 1: วัสดุสิ้นเปลือง

เสบียง
เสบียง

ฮาร์ดแวร์:

MakePython ESP32

MakePython ESP32 เป็นบอร์ด ESP32 ที่มีจอแสดงผล OLED SSD1306 ในตัว

เซอร์โวมอเตอร์

HC-SR04

ซอฟต์แวร์:

uPyCraft IDE

คลิกเพื่อดาวน์โหลด uPyCraft IDE สำหรับ Windows

ขั้นตอนที่ 2: การเดินสายไฟ

การเดินสายไฟ
การเดินสายไฟ

MakePython ESP32 -- เซอร์โว

  • 3V3 -- VCC (เส้นสีแดง)
  • GND -- GND (เส้นสีน้ำตาล)
  • IO14 -- สัญญาณ (เส้นสีส้ม)

MakePython ESP32 -- HC-SR04

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

ขั้นตอนที่ 3: รหัส

ดาวน์โหลดและเรียกใช้รหัสที่ให้ไว้ที่นี่

ทำการเปลี่ยนแปลงต่อไปนี้ในไฟล์ main.py จากนั้นบันทึกและเรียกใช้

แก้ไข SSID และ PSW เพื่อเชื่อมต่อ WiFi

SSID='Makerfabs' #REPLACE_WITH_YOUR_SSID

PSW='20160704' #REPLACE_WITH_YOUR_PASSWORD

แก้ไข IP ของโบรกเกอร์ MQTT ของคุณและกำหนดหัวข้อสำหรับการเผยแพร่และการสมัครสมาชิก

mqtt_server = '39.106.151.85' #REPLACE_WITH_YOUR_MQTT_BROKER_IP

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

เชื่อมต่อและสมัครรับข้อมูลหัวข้อ

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('เชื่อมต่อกับ %s นายหน้า MQTT สมัครรับข้อมูลจาก %s หัวข้อ' % (mqtt_server, topic_sub)) ส่งคืนไคลเอนต์

เผยแพร่ข้อความ

ลูกค้า = connect_and_subscribe()

client.publish(topic_pub, ผงชูรส)

ขั้นตอนที่ 4: การตั้งค่า MQTT

การตั้งค่า MQTT
การตั้งค่า MQTT
การตั้งค่า MQTT
การตั้งค่า MQTT

คุณสามารถดาวน์โหลดและติดตั้งไคลเอนต์ MQTT ได้ที่นี่ ช่วยให้คุณทำการควบคุมระยะไกลบนโทรศัพท์มือถือหรือคอมพิวเตอร์ของคุณ

  • เปิดและคลิกเพื่อสร้าง MQTT Client
  • ป้อนชื่อฟีด
  • โปรโตคอลเลือก mqtt / tcp
  • อินพุตโฮสต์: 39.106.151.85:1883
  • คลิกบันทึก

ขั้นตอนที่ 5: เผยแพร่และสมัครสมาชิก

เผยแพร่และสมัครสมาชิก
เผยแพร่และสมัครสมาชิก
เผยแพร่และสมัครสมาชิก
เผยแพร่และสมัครสมาชิก

หลังจากเชื่อมต่อแล้ว หัวข้อที่จะเผยแพร่อินพุต: feed อินพุตเพย์โหลด: เปิด แล้วคลิกเผยแพร่

เซอร์โวมอเตอร์หมุนและเริ่มป้อนอาหาร

หัวข้อที่จะสมัครสถานะอินพุตแล้วคลิกสมัคร

เมื่อแมวอยู่ใกล้ตัวให้อาหารกิน หัวข้อการสมัครรับข้อมูลจะได้รับ: แมวกำลังกิน… แมวได้รับหลังจากออกไป: แมวจากไป

แม้ว่าคุณจะทิ้งแมวไว้ที่บ้าน คุณก็ไม่ต้องกังวลว่าแมวจะหิว