was successfully added to your cart.

6LowPan over BLE ( Bluetooth Low Energy ) หนึ่งในเทคโนโลยี IoT เชื่อมต่อผ่าน IP ที่ไม่ได้มีแค่ WiFI และสายแลน ( ตอนที่ 2 ตัวอย่างการเชื่อมต่อ )

By May 13, 2015RaspberryPI

ต่อจาก ตอนที่ 1 ในบทนี้เราจะมาพูดถึงสถาปัตยกรรมการเชื่อมต่อและส่งข้อมูลของ IPV6 ผ่าน 6LowPAN over BLE กัน

สมาคม IETF ได้ออกเอกสาร Transmission of IPv6 Packets over Bluetooth Low Energy ว่าด้วยเรื่องวิธีการที่ IPv6 สามารถส่งผ่าน BLE รวมไปถึงลักษณะและหน้าที่ในการเชื่อมต่อในระบบเครือข่าย 6LoWPAN ที่ประกอบไปด้วยโหนดต่างๆ  ต่อมาเราต้องเข้าใจก่อนว่า 6LowPan over BLE  โหนดในเครือข่ายมีหน้าที่อะไรบ้าง  ตามเอกสาร RFC 6775 ของ IETF ที่ได้แบ่งลักษณะการทำงานของโหนดใน 6LoWPAN เป็นสามประเภทที่แตกต่างจะถูกนำมาใช้กับการส่งผ่าน BLE ดังต่อไปนี้

6LoWPAN border router (6LBR) 

Border router จะอยู่ที่จุดเชื่อมต่อระหว่าง 6LoWPAN network  ด้วยกัน หรือระหว่าง 6LoWPAN Network กับระบบ IP อื่นๆ ( เช่น WiFi, Ethernet ) มีหน้าที่ช่วยให้โหนดที่เชื่อมต่อกับ Border router สามารถเชื่อมต่อส่งข้อมูลออกอินเทอร์เน็ตได้

สำหรับ BLE ( Blue tooth low energy ) อุปกรณ์ที่เป็นมาสเตอร์จะถูกกำหนดให้เป็น 6LBR 

6LoWPAN router (6LR)

มีคุณสมบัติของ Router ในระดับที่สามารถส่งและรับ Router Advertisement ( RA ) และ Router Solicitation ( RS ) ได้รวมทั้งสามารถเก็บเทเบิลที่ใช้ในการเราต์ข้อมูล ภายในเครือข่าย แต่ไม่สามารถเราต์ข้อมูลส่งออกระบบ IP อื่นได้ 6LR จำเป็นมากในเครือข่ายที่ใช้ 6LoWPAN โดยตรงเพื่อทำหน้าที่ให้เป็น Mesh network โดยสมบูรณ์

สำหรับ BLE ในปัจจุบันยังซัพพอร์ตเพียง Star topology ดังนั้นเกี่ยวกับ 6LR ที่อธิบายมาจึงไม่ได้ใช้ครับ แต่ในอนาคตที่ BLE สามารถทำ Mesh ได้อย่างสมบูรณ์เมื่อไร 6LR อาจจะกลับมามีบทบาทอีกครั้ง

6LoWPAN node (6LN )

อุปกรณ์ทุกตัวที่เชื่อมต่อ BLE ที่ไม่ได้ทำหน้าที่ในการเราต์ข้อมูลต่อจะถูกเรียกว่าเป็น 6LN ทั้งหมด หรือมองในมุมว่าอุปกรณ์ที่ทำหน้าที่เป็น slave และเชื่อมต่อไปที่ master เรียกได้ว่าทำหน้าที่เป็น 6LN ทั้งหมด

รูปแบบการเชื่อมต่อของ 6LoWPAN บน BLE 

Screen Shot 2558-05-14 at 1.17.42 AM
จากรูปจะเป็นวิธีการเชื่อมต่อใน 6LoWPAN Network ในระบบ BLE ลักษณะจะเป็น Star topology จะสังเกตุได้ว่า 6LN ทุกตัวหรืออุปกรณ์จะต่อผ่าน 6LBR ทั้งหมด จากระบบข้างบน เราสามารถขยายได้โดยให้ 6LBR ของสองเครือข่ายเข้ามาเชื่อมต่อกันได้เป็นต้น และต้องย้ำอีกครั้งว่า 6LoWPAN มีคุณสมบัติของ Mesh network แต่ BLE ไม่มีดังนั้นเครือข่าย 6LoWPAN over BLE จึงไม่สามารถทำ Mesh network ได้ครับ

 

รูปแบบการเชื่อมต่อของ 6LoWPAN บน BLE โดยมีการออกอินเทอร์เน็ต

จากที่กล่าวมาถ้าต้องการเชื่อมต่ออินเทอร์เน็ตจะต้องกระทำผ่าน 6LBR ดังนั้นถ้าต้องการให้ระบบ BLE ของเราสามารถออกอินเทอร์เน็ตได้จำเป็นจะต้องให้ 6LBR สามารถเชื่อมต่ออินเทอร์เน็ตได้
ทางด้านซอฟต์แวร์ 6LBR มักจะเป็นฮาร์ดแวร์ที่มีระบบปฎิบัติการตัวอย่างเช่น Linux, Android, iOS เป็นต้น ( ถ้าเราทำอุปกรณ์ส่งข้อมูลผ่าน 6LoWPAN เข้าสมาร์ทโฟนแอนดรอยด์เพื่ออกอินเทอร์เน็ตก็เรียกได้ว่าสมาร์โฟนแอนดรอยด์เครื่องนั้นทำหน้าที่เป็น 6LBR ได้เช่นกัน )

Screen Shot 2558-05-14 at 1.19.20 AM

ทดลองภาคปฎิบัติด้วย Raspberry PI + nRF51422 และแขกรับเชิญพิเศษ ESP8266 ( DW.miniESP )

Screen Shot 2558-05-11 at 12.19.03 AM

จากรูปที่ผ่านมาเราจะทดลองจำลองระบบ 6LoWPAN Network โดยที่ให้ Raspberry PI เป็น 6LBR ก่อนที่จะใช้งานได้จำเป็นต้องมีการคอมไพล์ Kernel ของ Raspberry PI ให้ซัพพอร์ต bluetooth 6lowpan และเปิดฟังก์ชั่นการทำงานของ IPV6 ซะก่อน และจำเป็นจะต้องมี Bluetooth 4.0 Dongle

10533115_1047666925261362_2372859085754463748_n

หลังจากคอมไพล์ kernel เรียบร้อยแล้ว ในการทดลองนี้เราจะใช้โพรโตคอล MQTT ทำงานอยู่บน BLE เพื่อทดลองเชื่อมต่อระหว่าง BLE และ อุปกรณ์ที่เป็น WiFI ดูและได้ผลลัพธ์เบื้องต้นตามวีดีโอด้านล่าง

ในตอนที่สามเราจะมาเจาะลึกเกี่ยวกับ IPV6 Stack กันมากขึ้นและอธิบายต่อว่าทำไมถึงเชื่อมต่อกับระบบอื่นเช่น WiFi ได้อย่างแนบเนียนเหมือนในวีดีโอ

 

ขอขอบคุณภาพประกอบการเชื่อมต่อ 6LoWPAN จาก www.nordicsemi.com

 

Join the discussion One Comment

  • Nat says:

    เจ๋งงงงงงงงงงง สุดยอดค้าบ รอๆตอนต่อไปครับ

Leave a Reply

*