การติดต่อ Arduino ผ่านอินเทอร์เน็ตโดยไม่มีพอร์ตไปข้างหน้า


13

ฉันมีบอร์ด Arduino เชื่อมต่อกับเครือข่าย Wifi ที่มีอินเทอร์เน็ต สิ่งที่ฉันต้องการคือฉันต้องติดต่อบอร์ด Arduino นี้จากเครือข่ายอื่น ๆ โดยไม่ได้รับความช่วยเหลือจากการส่งต่อพอร์ตในเครือข่ายภายในบ้านของ Arduino ขณะนี้สิ่งที่ฉันกำลังทำคือการทำให้ Arduino ping ไปยังเว็บเซิร์ฟเวอร์ของฉันในทุก ๆ สองวินาทีซึ่งฉันไม่เชื่อในทางปฏิบัติ

อุปกรณ์เช่นไฟ LED สมาร์ท wifi เชื่อมต่อกับอินเทอร์เน็ตได้อย่างไร เราสามารถใช้งานได้กับโทรศัพท์มือถือของเราโดยไม่มีการส่งต่อพอร์ตหรือการปรับตั้งค่าเราเตอร์อื่น ๆ ใช่ไหม? พวกเขาทำมันได้อย่างไร?


ดู CoAP และโปรโตคอล IoT อื่น ๆ
Sean Houlihane

คำตอบ:


9

เพื่อหลีกเลี่ยงความจำเป็นที่จะต้องอยู่ในเครือข่ายที่อนุญาตทราฟฟิกขาเข้าคุณต้องเชื่อมต่อขาออกไปยังเซิร์ฟเวอร์ที่จะส่งต่อคำขอจากไคลเอนต์ซึ่งทำการเชื่อมต่อขาออกด้วย

ในสาระสำคัญนี้เป็นเหมือนรูปแบบของการสื่อสารผ่านดาวเทียม ทั้งคอมพิวเตอร์ของผู้ใช้หรือโทรศัพท์หรืออะไรก็ตามและอุปกรณ์ IoT รักษาลิงค์ "ขึ้น" ไปยังเซิร์ฟเวอร์นี้ในคลาวด์และใช้ข้อความแต่ละข้อความที่ปรากฏขึ้นในด้านหนึ่งและส่งมันลงบนอีกด้านหนึ่งและในทางกลับกัน

มีหลายวิธีที่เป็นไปได้ที่จะใช้เซิร์ฟเวอร์ดังกล่าว หนึ่งที่กำลังเป็นเทรนด์คือการทำให้มันเป็นMQTT นายหน้า ใน MQTT ไคลเอนต์ (ทั้งอุปกรณ์ IoT และอุปกรณ์ผู้ใช้) ทำการเชื่อมต่อขาออกไปยังนายหน้าซื้อขายและข้อความที่ใช้ร่วมกันที่ใช้งานไม่ได้ซึ่ง "เผยแพร่" ใน "หัวข้อ" โดยลูกค้าหนึ่งรายไปยังไคลเอนต์ทั้งหมดที่มี หัวข้อ "

  • เนื่องจากมีการเชื่อมต่อที่สร้างไว้แล้วโบรกเกอร์จึงสามารถส่งทราฟฟิกที่ไม่ได้ร้องขอลงโดยไม่ต้องแฝงช่วงเวลาการโพล

  • เพื่อให้การเชื่อมต่อนั้นเป็นที่ยอมรับจะมีการส่งทราฟฟิกแบบ keep-alive เป็นครั้งคราว

  • หากการเชื่อมต่อแตกมีกฎสำหรับพยายามสร้างขึ้นใหม่

  • โดยพื้นฐานแล้วเวลาแฝงที่เห็นได้ชัดจะเกิดขึ้นเฉพาะเมื่อนายหน้าพยายามที่จะส่งต่อข้อความลงและการเชื่อมต่อกลับใช้งานไม่ได้และยังไม่ได้ซ่อมแซมซึ่งในกรณีนี้ข้อความจะล่าช้าจนกว่าการเชื่อมต่อจะเสร็จสิ้น (มีตัวเลือกสำหรับเก็บข้อความฝากข้อความไว้ ฯลฯ )


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