สวัสดีชาว Khabrovites!
Internet of Things (IoT, Internet of Things) จะสร้างขึ้นบนโครงสร้างพื้นฐานของเครือข่าย เทคโนโลยี และโปรโตคอลที่มีอยู่ในปัจจุบันที่ใช้ในบ้าน/สำนักงาน และอินเทอร์เน็ต และจะให้บริการอื่นๆ อีกมากมาย
จุดประสงค์ของคู่มือนี้คือเพื่อให้ภาพรวมโดยย่อของเครือข่ายและโปรโตคอลแอปพลิเคชันสำหรับ IoT
บันทึก. คุณต้องมีความรู้
เครือข่าย IoT
IoT จะทำงานบนเครือข่าย TCP/IP ที่มีอยู่
TCP/IP ใช้โมเดลสี่เลเยอร์พร้อมโปรโตคอลเฉพาะในแต่ละเลเยอร์ ซม.
แผนภาพด้านล่างแสดงการเปรียบเทียบโปรโตคอลที่ใช้อยู่ในปัจจุบันและโปรโตคอลที่น่าจะใช้สำหรับ IoT มากที่สุด
หมายเหตุแผนภูมิ:
-
ขนาดตัวอักษรบ่งบอกถึงความนิยมของโปรโตคอล ตัวอย่างเช่น ทางด้านซ้าย IPv4 มีขนาดใหญ่กว่าเนื่องจากเป็นที่นิยมมากกว่าในอินเทอร์เน็ตสมัยใหม่ อย่างไรก็ตาม ด้านขวามีขนาดเล็กกว่าเนื่องจาก IPv6 คาดว่าจะได้รับความนิยมใน IoT มากกว่า
-
ไม่แสดงโปรโตคอลทั้งหมด
-
การเปลี่ยนแปลงส่วนใหญ่อยู่ที่แชนเนล (ระดับ 1 และ 2) และระดับแอปพลิเคชัน (ระดับ 4)
-
เลเยอร์เครือข่ายและการขนส่งมีแนวโน้มที่จะไม่เปลี่ยนแปลง
ลิงค์เลเยอร์โปรโตคอล
ที่ระดับดาต้าลิงค์ (Data Link) คุณต้องเชื่อมต่ออุปกรณ์ต่างๆ เข้าด้วยกัน พวกเขาสามารถอยู่ใกล้กันเช่นในเครือข่ายท้องถิ่น (เครือข่ายท้องถิ่น) และในระยะทางไกลจากกัน: ในเมือง (เครือข่ายปริมณฑล) และเครือข่ายทั่วโลก (เครือข่ายบริเวณกว้าง)
ปัจจุบันในระดับนี้ เครือข่ายที่บ้านและที่ทำงาน (LAN) ใช้อีเธอร์เน็ตและ Wi-Fi และเครือข่ายมือถือ (WAN) ใช้ 3G / 4G อย่างไรก็ตาม อุปกรณ์ IoT จำนวนมากใช้พลังงานต่ำ เช่น เซ็นเซอร์ และใช้พลังงานจากแบตเตอรี่เท่านั้น ในกรณีเหล่านี้ อีเธอร์เน็ตไม่เหมาะ แต่สามารถใช้ Wi-Fi พลังงานต่ำและบลูทูธพลังงานต่ำได้
แม้ว่าเทคโนโลยีไร้สายที่มีอยู่ (Wi-Fi, Bluetooth, 3G/4G) จะถูกนำมาใช้เพื่อเชื่อมต่ออุปกรณ์เหล่านี้ต่อไป แต่ก็คุ้มค่าที่จะมองหาเทคโนโลยีใหม่ที่ออกแบบมาโดยเฉพาะสำหรับแอปพลิเคชัน IoT ซึ่งมีแนวโน้มที่จะได้รับความนิยมเพิ่มขึ้น
ในหมู่พวกเขา:
-
BLE – บลูทูธพลังงานต่ำ
-
LoRaWAN - WAN ระยะไกล
-
ซิกฟ็อกซ์
-
LTE-เอ็ม
มีการอธิบายรายละเอียดเพิ่มเติมในบทความ
ชั้นเครือข่าย
ที่เลเยอร์เครือข่าย (Networking) โปรโตคอลจะครอบงำในระยะยาว
ชั้นขนส่ง
ที่เลเยอร์การขนส่ง (Transport) อินเทอร์เน็ตและเว็บถูกครอบงำโดย TCP ใช้ใน HTTP และโปรโตคอลอินเทอร์เน็ตยอดนิยมอื่น ๆ อีกมากมาย (SMTP, POP3, IMAP4 เป็นต้น)
MQTT ซึ่งฉันคาดว่าจะกลายเป็นหนึ่งในโปรโตคอลชั้นแอปพลิเคชันหลักสำหรับการส่งข้อความ ปัจจุบันใช้ TCP
อย่างไรก็ตาม ในอนาคต เนื่องจากค่าใช้จ่ายที่ลดลง ฉันคาดว่า UDP จะเป็นที่นิยมมากขึ้นสำหรับ IoT น่าจะแพร่หลายมากขึ้น
ชั้นแอปพลิเคชันและโปรโตคอลการส่งข้อความ
ลักษณะสำคัญสำหรับโปรโตคอล IoT:
-
ความเร็ว - จำนวนข้อมูลที่ถ่ายโอนต่อวินาที
-
เวลาแฝงคือเวลาที่ใช้ในการส่งข้อความ
-
การใช้พลังงาน
-
ความปลอดภัย
-
ความพร้อมใช้งานของซอฟต์แวร์
ปัจจุบัน มีการใช้งานโปรโตคอลหลักสองโปรโตคอลในระดับนี้: HTTP และ MQTT
HTTP น่าจะเป็นโปรโตคอลที่เป็นที่รู้จักมากที่สุดในระดับนี้ซึ่งอยู่ภายใต้เว็บ (WWW) จะยังคงมีความสำคัญต่อ IoT เนื่องจากใช้สำหรับ REST API ซึ่งเป็นกลไกหลักสำหรับการโต้ตอบระหว่างเว็บแอปพลิเคชันและบริการต่างๆ อย่างไรก็ตาม เนื่องจากค่าใช้จ่ายสูง HTTP ไม่น่าจะกลายเป็นโปรโตคอลหลักของ IoT แม้ว่าจะยังคงใช้กันอย่างแพร่หลายบนอินเทอร์เน็ต
MQTT (Message Queuing Telemetry Transport) ได้กลายเป็นโปรโตคอลการส่งข้อความหลักใน IoT เนื่องจากความเบาและใช้งานง่าย ดูบทความ
การเปรียบเทียบ HTTP และ MQTT สำหรับ IoT
MQTT กำลังกลายเป็นมาตรฐานอย่างรวดเร็วสำหรับแอปพลิเคชัน IoT เนื่องจากความเบาและความเร็วเมื่อเทียบกับ HTTP และเป็นโปรโตคอลแบบหนึ่งต่อกลุ่มมากกว่าหนึ่งต่อหนึ่ง (HTTP)
เว็บแอปพลิเคชันสมัยใหม่จำนวนมากยินดีที่จะใช้ MQTT แทน HTTP หากมีให้บริการในขณะที่พัฒนา
ตัวอย่างที่ดีคือการส่งข้อมูลไปยังลูกค้าหลายราย เช่น การมาถึงและออกจากรถไฟ/รถบัส/เครื่องบิน ในสถานการณ์นี้ โปรโตคอลแบบหนึ่งต่อหนึ่ง เช่น HTTP มีค่าใช้จ่ายจำนวนมากและทำให้เว็บเซิร์ฟเวอร์โหลดจำนวนมาก การปรับขนาดเว็บเซิร์ฟเวอร์เหล่านี้อาจเป็นเรื่องยาก ด้วย MQTT ลูกค้าจะเชื่อมต่อกับโบรกเกอร์ ซึ่งสามารถเพิ่มสำหรับโหลดบาลานซ์ได้อย่างง่ายดาย ดูวิดีโอสอนเกี่ยวกับเรื่องนี้
โปรโตคอลการส่งข้อความอื่นๆ
HTTP ไม่ได้ออกแบบมาสำหรับแอปพลิเคชัน IoT แต่ดังที่ได้กล่าวไปแล้ว มันจะถูกใช้อย่างแพร่หลายในบางครั้งเนื่องจากมีการใช้งานอย่างแพร่หลายใน
แพลตฟอร์ม IoT เกือบทั้งหมดรองรับทั้ง HTTP และ MQTT
อย่างไรก็ตาม มีโปรโตคอลอื่นๆ ที่ควรพิจารณา
โปรโตคอล
-
MQTT - (การจัดคิวข้อความ Telemetry Transport) ใช้ TCP/IP รูปแบบการเผยแพร่และสมัครสมาชิกต้องใช้นายหน้าข้อความ -
แอมคิวพี - (โปรโตคอลการจัดคิวข้อความขั้นสูง) ใช้ TCP/IP Publisher-Subscriber และโมเดลแบบ Point-to-Point -
COAP - (โปรโตคอลแอปพลิเคชันที่มีข้อ จำกัด ) ใช้ UDP ออกแบบมาโดยเฉพาะสำหรับ IoT ใช้โมเดลการตอบกลับคำขอเช่นเดียวกับใน HTTPRFC 7252 . -
ท.บ. - (บริการกระจายข้อมูล)
ในเรื่องนี้
อย่างไรก็ตาม เมื่อมองย้อนกลับไปในช่วงปีแรก ๆ ของอินเทอร์เน็ต โปรโตคอล HTTP ที่จะกลายเป็นที่โดดเด่นเป็นเพียงหนึ่งในหลาย ๆ โปรโตคอล
แม้ว่าเดิมที HTTP จะไม่ได้สร้างขึ้นสำหรับการถ่ายโอนไฟล์และอีเมล แต่ปัจจุบันมีการใช้ทั้งสองอย่าง
ฉันคาดหวังว่าสิ่งเดียวกันนี้จะเกิดขึ้นกับโปรโตคอลการส่งข้อความใน IoT: บริการส่วนใหญ่จะใช้โปรโตคอลเด่นเพียงตัวเดียว
ด้านล่างนี้คือแผนภูมิ Google Trends ที่แสดงให้เห็นว่าความนิยมของ MQTT, COAP และ AMQP เปลี่ยนแปลงไปอย่างไรในช่วงไม่กี่ปีที่ผ่านมา
ภาพรวมของ Google Trends
รองรับโปรโตคอลตามแพลตฟอร์ม
-
Microsoft Azure - MQTT, AMQP, HTTP และ HTTPS -
AWS - MQTT, HTTPS, MQTT บนเว็บซ็อกเก็ต -
IBM Bluemix - MQTT,HTTPS,MQTT
-
ทิงวอกซ์ — MQTT, HTTPS, MQTT, AMQP
สรุป
การเปลี่ยนแปลงส่วนใหญ่อยู่ที่แชนเนล (ระดับ 1 และ 2) และระดับแอปพลิเคชัน (ระดับ 4)
เลเยอร์เครือข่ายและการขนส่งมีแนวโน้มที่จะไม่เปลี่ยนแปลง
ที่ชั้นแอปพลิเคชัน ส่วนประกอบ IoT จะใช้โปรโตคอลการส่งข้อความ แม้ว่าเราจะยังอยู่ในช่วงเริ่มต้นของการพัฒนา IoT แต่มีแนวโน้มว่าโปรโตคอลการส่งข้อความหนึ่งหรือสองรายการจะมีความโดดเด่น
ในช่วงไม่กี่ปีที่ผ่านมา MQTT ได้กลายเป็นที่นิยมมากที่สุด และตอนนี้ฉันกำลังมุ่งเน้นไปที่ไซต์นี้
HTTP จะยังคงใช้งานต่อไปเนื่องจากสร้างไว้แล้วอย่างดีในแพลตฟอร์ม IoT ที่มีอยู่
นั่นคือทั้งหมด เราขอเชิญคุณลงทะเบียนเพื่อรับบทเรียนสาธิตฟรีในหัวข้อ
"Chatbot สำหรับสั่งงานเข้าเครื่องอย่างรวดเร็ว" .
อ่านเพิ่มเติม:
ที่มา: will.com