สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ฉันชอบเลี้ยงแมว หลังจากทำงานหนักมาทั้งวัน แมวสามารถผ่อนคลายฉันได้เมื่อกลับถึงบ้าน หลังจากการฝึกฝนอย่างหนัก แมวตัวนี้มีนิสัยที่ดีในการกินเป็นประจำใน "ร้านอาหาร" ทุกวัน แต่ช่วงหลังนี้ฉันต้องเดินทางสักสองสามวันและไม่มีใครดูแลแมวที่บ้าน ฉันจึงต้องการใช้ 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 Client
- ป้อนชื่อฟีด
- โปรโตคอลเลือก mqtt / tcp
- อินพุตโฮสต์: 39.106.151.85:1883
- คลิกบันทึก
ขั้นตอนที่ 5: เผยแพร่และสมัครสมาชิก
หลังจากเชื่อมต่อแล้ว หัวข้อที่จะเผยแพร่อินพุต: feed อินพุตเพย์โหลด: เปิด แล้วคลิกเผยแพร่
เซอร์โวมอเตอร์หมุนและเริ่มป้อนอาหาร
หัวข้อที่จะสมัครสถานะอินพุตแล้วคลิกสมัคร
เมื่อแมวอยู่ใกล้ตัวให้อาหารกิน หัวข้อการสมัครรับข้อมูลจะได้รับ: แมวกำลังกิน… แมวได้รับหลังจากออกไป: แมวจากไป
แม้ว่าคุณจะทิ้งแมวไว้ที่บ้าน คุณก็ไม่ต้องกังวลว่าแมวจะหิว