บทนำ
บทความนี้เป็นวิธีการเชื่อมต่อ ESP32-C3 บน MicroLearner กับ HiveMQ Cloud MQTT เพื่อส่งและรับข้อมูลแบบเรียลไทม์ผ่านโปรโตคอล MQTT
การสมัครใช้งาน HiveMQ Cloud
- ไปที่ HiveMQ Cloud
- สมัครสมาชิกและสร้าง Cluster ใหม่
- จากนั้นไปที่ Access Management ตรงหัวข้อ Security Configuration → Authentication ให้ตั้งค่า Credentials ใส่ Username, และ Password และ Permission เป็น Publish and Subscribe
การติดตั้งไลบรารีที่จำเป็น
ติดตั้งไลบรารี MQTT บน Arduino IDE:
- เปิด Arduino IDE
- ไปที่ Sketch > Include Library > Manage Libraries
- ค้นหาและติดตั้ง PubSubClient
โค้ดตัวอย่างการเชื่อมต่อ ESP32-C3 กับ HiveMQ Cloud MQTT
เมื่อส่ง “hello world” ข้อมูลที่สะท้อนกลับมาแสดงใน Serial Monitor ถ้าคุณเห็นข้อความแบบนี้:
Message arrived: esp32/test - hello world #1
คือผลจากการ subscribe แปลว่าการเชื่อมต่อ ส่งและรับข้อมูลของคุณสมบูรณ์ 🎉
ความปลอดภัยและการใช้งานจริง
→ WiFiClient → ใช้พอร์ต 1883
(ไม่เข้ารหัส)
→ WiFiClientSecure + setInsecure() → ใช้พอร์ต 8883
(เข้ารหัสแต่ไม่ตรวจสอบ CA)
→ WiFiClientSecure + setCACert() → ใช้พอร์ต 8883
(เข้ารหัสและตรวจสอบ CA)
เพื่อง่ายต่อการเรียนรู้บทความนี้เราใช้ WiFiClientSecure
+ setInsecure();
สำหรับการทดสอบอย่างง่าย
สำหรับการใช้งานจริง ถ้าต้องการ ความปลอดภัยสูงสุด → ใช้ WiFiClientSecure
+ setCACert(root_ca);
(สามารถสมัคร Cloud Starter plans หรือสูงกว่า เพื่อใช้งาน Client Certificate)
โค้ดตัวอย่างการส่งค่าด้วยการกดปุ่ม
💡 7 ไอเดียการประยุกต์ใช้ปุ่ม MQTT สำหรับ IoT
1. ปุ่มฉุกเฉินทางไกล (Remote Emergency Button)
- ใช้ปุ่มเพื่อส่งสัญญาณขอความช่วยเหลือไปยังศูนย์ควบคุม หรือแจ้งเตือนเจ้าหน้าที่รักษาความปลอดภัยทันที
2. ระบบเรียกพนักงาน (Call for Assistance)
- ใช้ในร้านอาหาร โรงแรม หรือโรงพยาบาล เพื่อให้ลูกค้าหรือผู้ป่วยสามารถกดปุ่มเรียกพนักงาน
3. ระบบควบคุมไฟฟ้า (Smart Home Light Control)
- กดปุ่มเพื่อเปิด/ปิดไฟอัตโนมัติ ผ่าน MQTT ไปยัง Smart Relay
4. ปุ่มเปิด/ปิดประตู (Smart Door Lock)
- ใช้ปุ่ม MQTT เพื่อควบคุมระบบล็อกประตูอัจฉริยะ
5. ปุ่มส่งข้อความแจ้งเตือน Telegram (IoT Notification System)
- กดปุ่มแล้วระบบส่งข้อความผ่าน MQTT ไปยัง Telegram
6. ระบบตรวจสอบสต๊อกสินค้า (Warehouse Inventory Alert)
- กดปุ่มเมื่อสินค้าในโกดังใกล้หมด เพื่อแจ้งเตือนให้เติมสินค้า
7. ปุ่มสำหรับผู้สูงอายุหรือผู้พิการ (Elderly & Disabled Assistance)
- ใช้เป็นปุ่มเรียกช่วยเหลือสำหรับผู้สูงอายุหรือผู้พิการ
- ตัวอย่างข้อความ MQTT:
"Elderly Assistance: Help Needed in Room 2!"