วิธีการใช้ MQTT บน Arduino ซึ่งใช้ serial com เพื่อส่งคำสั่ง AT ไปยัง ESP8266


10

ฉันเพิ่งเริ่มมองหาโปรโตคอล MQTT

สถานการณ์

ในโครงการวิทยาลัยของฉันในปัจจุบันฉันใช้ Arduino เป็น MCU หลักและทำงานทุกอย่างในนั้นและใช้ Serial Comm เพื่อส่งคำสั่ง AT ไปยัง esp8266 (สำหรับการร้องขอ HTTP เพื่อเรียกใช้สคริปต์บนเซิร์ฟเวอร์ ฯลฯ ) โดยทั่วไปฉันต้องการผลักดันข้อมูลบางอย่าง (จาก Arduino) บนหน้าเว็บ (โฮสต์โดยเซิร์ฟเวอร์ท้องถิ่น) ฉันค้นหาและพบเกี่ยวกับโปรโตคอลMQTTที่ช่วยให้สามารถเผยแพร่และสมัครสมาชิกข้อมูลกับลูกค้า (สิ่งที่ฉันต้องการ) แต่บทเรียนส่วนใหญ่ที่ฉันพบมีทั้งใน Arduino (พร้อม wifi shield) หรือทั้งหมดใน esp8266

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

ข้อมูลเพิ่มเติมเกี่ยวกับโครงการของฉันถูกกล่าวถึงที่นี่: สับสนเกี่ยวกับเทคโนโลยีที่จะใช้ในระบบสมาร์ทโฮม


คุณสามารถส่ง MQTT ผ่าน wifi ระหว่าง Arduino และ ESP ไม่จำเป็นต้องทำการเชื่อมต่อทางกายภาพ
Jimmy Westberg

สำหรับสิ่งที่ฉันต้องการ wifi บน Arduino ด้วยใช่ไหม? ฉันไม่จำเป็นต้องส่งข้อมูลระหว่าง Arduino และ ESP ฉันใช้ esp สำหรับส่งข้อมูลจาก arduino ไปยังเซิร์ฟเวอร์ท้องถิ่น arduino ของฉันไม่มี wifi shield
Salim Shamim

ถ้าคุณมีการเชื่อมต่อทางกายภาพเสร็จแล้วให้ดูที่ FW ESP Easy ซึ่งมีการรวม MQTT ที่แน่นหนาออกมาจากกล่อง
Jimmy Westberg

sonyarouje.com/2016/03/15/…ฉันพบโพสต์นี้มันเป็นสิ่งที่คุณพูดหรือเปล่า: P เป็นวิธีที่จะไปไหม? ขออภัยฉันเพิ่ง newb super: D
Salim Shamim

1
ฉันลอง MQTT ผ่านทาง UART (เพื่อส่งคำสั่ง AT ไปที่ esp8266) github.com/nopnop2002/MQTT_UNO
nopnop2002

คำตอบ:


4

ในที่สุดผมก็พบว่าการกวดวิชาโดย Sony Arouje ตามที่ปรากฎฉันต้องละทิ้งการส่งคำสั่ง esp ด้วยตนเองโดยสมบูรณ์และต้องใช้ไลบรารี (WiFiEsp.h) คำแนะนำ ... มันดีกว่า!

แม้ว่าในตอนแรกมันจะไม่ทำงานกับ esp8266 ของฉันเพราะมันมีเฟิร์มแวร์ที่เก่ากว่าและรายงานข้อผิดพลาด "ไม่รองรับเฟิร์มแวร์" ฉันต้องแฟลชเฟิร์มแวร์ที่ใหม่กว่า (ใช้งานกับรุ่น 1.54 ในกรณีของฉัน) ทุกคนที่มีปัญหาในการกระพริบเฟิร์มแวร์อาจพบกับความช่วยเหลือในการอ้างอิงหัวข้อนี้: Can't Flash ESP8266 เฟิร์มแวร์ล่าสุดพูดว่า "Fast กะพริบข้อผิดพลาด" และ "Invalid head of packet ('')"

นอกจากนี้ฉันได้บันทึกสำเนาของเครื่องมือดาวน์โหลดทั้งหมดและหน้าบทช่วยสอนด้วยตนเองดังนั้นหากในอนาคตโพสต์จะถูกลบออกหรือหากไม่มีใครพบเครื่องมือที่จะใช้แฟลช มาที่ฉันในความคิดเห็นหรือบางสิ่งบางอย่าง (ไม่โพสต์ที่นี่เพราะฉันไม่รู้ว่ามันเป็นการโพสต์เนื้อหาของคนอื่นหรือไม่)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.