- สถาปัตยกรรม ZigBee:
- การส่งข้อมูลใน ZigBee
- พื้นฐานของเครือข่ายสำหรับเราเตอร์และผู้ประสานงาน Xbee
- โทโพโลยีเครือข่ายที่แตกต่างกันใน ZigBee
- เฟิร์มแวร์ Xbee
- คำสั่ง XBee AT:
โดยทั่วไปหลายคนมักสับสนกับXBee และ ZigBeeสองคำซึ่งส่วนใหญ่ใช้แทนกันได้ แต่จริงๆแล้วไม่ได้เป็นเช่นนั้น ZigBeeเป็นโปรโตคอลมาตรฐานสำหรับเครือข่ายไร้สาย ในขณะที่XBeeเป็นผลิตภัณฑ์ที่รองรับโปรโตคอลการสื่อสารไร้สายต่างๆ ได้แก่ ZigBee, Wi-Fi (โมดูล Wi-Fly), 802.15.4, โมดูล 868 MHz เป็นต้นที่นี่เราเน้นที่โมดูล RF Xbee / Xbee-PRO ZB ซึ่งประกอบด้วย ของเฟิร์มแวร์ ZigBee
แค่นึกถึงเครื่องคิดเลขในคอมพิวเตอร์ที่มีการคำนวณที่ซับซ้อนด้วยอินเทอร์เฟซที่ใช้งานง่าย งานนี้จะยากและน่าเบื่อมากหากมีเพียงฮาร์ดแวร์เท่านั้น ดังนั้นในระดับสูงสุดความพร้อมใช้งานของซอฟต์แวร์ทำให้กระบวนการแก้ปัญหาง่ายขึ้น กระบวนการทั้งหมดถูกแบ่งออกเป็นชั้นของซอฟต์แวร์โดยฮาร์ดแวร์จริงซึ่งเรียกตามระดับที่สูงกว่า
เรายังใช้แนวคิดของเลเยอร์ในชีวิตประจำวันของเรา ตัวอย่างเช่นการส่งเอกสาร / จดหมายไปที่บ้านของเพื่อนของคุณการส่งอีเมลจากจุดหนึ่งของโลกไปยังอีกที่หนึ่ง ในทำนองเดียวกันโปรโตคอลเครือข่ายที่ทันสมัยส่วนใหญ่ยังใช้แนวคิดของเลเยอร์เพื่อแยกส่วนประกอบซอฟต์แวร์ที่แตกต่างกันออกเป็นโมดูลอิสระที่สามารถประกอบได้หลายวิธี อาจต้องทำให้มือของเขาสกปรกในการทำความเข้าใจสถาปัตยกรรม Xbee ในเชิงลึก แต่เราจะทำให้สิ่งต่างๆง่ายมากสำหรับคุณ
เริ่มจากคำศัพท์พื้นฐานเช่นการกำหนดเส้นทางการหลีกเลี่ยงการชนกันและการรับทราบ เพื่อให้เข้าใจคำแรกเพียงแค่ใช้ชื่อ"เส้นทาง"ซึ่งหมายถึงการติดตามหรือระบุเส้นทาง ในระบบเครือข่ายการกำหนดเส้นทางหมายถึงการกำหนดทิศทางไปยังข้อมูลจากโหนดต้นทางไปยังโหนดปลายทาง เมื่อสองโหนดเครือข่ายในความพยายามที่จะส่งไปพร้อม ๆ กันสร้างสถานการณ์ที่เรียกว่าการปะทะกันดังนั้นโดยทั่วไปแล้ว Carrier Sense Multiple Access พร้อมเทคนิค การหลีกเลี่ยงการชนกัน (CSMA / CA) เพื่อหลีกเลี่ยงการชนกันคุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ CSMA ได้โดยใช้ลิงก์นี้ โดยทั่วไปแล้วโหนดจะพูดในลักษณะเดียวกับการสนทนาของมนุษย์ พวกเขาตรวจสอบสั้น ๆ เพื่อดูว่าไม่มีใครพูดคุยก่อนที่จะเริ่มส่งข้อมูล
เมื่อใดก็ตามที่เครื่องรับได้รับข้อมูลที่ส่งสำเร็จจะรับรู้เครื่องส่ง ต้องไม่อนุญาตให้การไหลของข้อมูลล้นไปที่เครื่องรับวิทยุ วิทยุรับสัญญาณใด ๆ มีความเร็ว จำกัด ที่สามารถประมวลผลข้อมูลขาเข้าและหน่วยความจำจำนวน จำกัด เพื่อจัดเก็บข้อมูลขาเข้า
สถาปัตยกรรม ZigBee:
มีสี่เลเยอร์หลักที่มีอยู่ใน ZigBee stack ได้แก่ ชั้นทางกายภาพ, ชั้นการเข้าถึงสื่อ, เลเยอร์เครือข่ายและชั้นแอปพลิเคชัน
เลเยอร์แอ็พพลิเคชัน กำหนดอ็อบเจ็กต์การกำหนดแอดเดรสต่างๆรวมถึงโปรไฟล์คลัสเตอร์และปลายทาง คุณสามารถเห็นเลเยอร์สแต็ก ZigBee ในรูปด้านบน
เลเยอร์เครือข่าย: เพิ่มความสามารถในการกำหนดเส้นทางที่ช่วยให้แพ็กเก็ตข้อมูล RF สามารถสำรวจอุปกรณ์หลายเครื่อง ("hops" หลายเครื่อง) เพื่อกำหนดเส้นทางข้อมูลจากต้นทางไปยังปลายทาง (เพียร์ทูเพียร์)
ชั้น MAC จัดการธุรกรรมข้อมูล RF ระหว่างอุปกรณ์ใกล้เคียง (ชี้ไปที่จุด) MAC ประกอบด้วยบริการต่างๆเช่นการลองส่งใหม่และการจัดการการรับทราบและเทคนิคการหลีกเลี่ยงการชน
ชั้นกายภาพ:กำหนดวิธีการเชื่อมต่ออุปกรณ์เพื่อสร้างเครือข่าย กำหนดกำลังขับจำนวนช่องสัญญาณและอัตราการส่ง แอปพลิเคชัน ZigBee ส่วนใหญ่ทำงานบนคลื่นความถี่ 2.4 GHz ISM ที่อัตราข้อมูล 250kbps
ตระกูล XBee ส่วนใหญ่มีโฟลว์คอนโทรล, I / O, A / D และเส้นตัวบ่งชี้ที่สร้างขึ้นซึ่งสามารถกำหนดค่าได้โดยใช้คำสั่งที่เหมาะสม ตัวอย่างอะนาล็อกจะส่งคืนเป็นค่า 10 บิต การอ่านแบบอะนาล็อกจะปรับขนาดเพื่อให้ 0x0000 แสดงถึง 0V และ 0x3FF = 1.2V (อินพุตอะนาล็อกของโมดูลต้องไม่เกิน 1.2V)
ในการแปลงการอ่าน A / D เป็น mV ให้ทำดังต่อไปนี้:
AD (mV) = (การอ่าน A / D * 1200mV) / 1023
การส่งข้อมูลใน ZigBee
คุณสามารถเรียกเครือข่ายเป็นการรวมกันของซอฟต์แวร์และฮาร์ดแวร์ซึ่งสามารถส่งข้อมูลจากที่หนึ่งไปยังอีกที่หนึ่งได้ ฮาร์ดแวร์มีหน้าที่ในการส่งสัญญาณจากจุดหนึ่งของเครือข่ายไปยังอีกจุดหนึ่ง ซอฟต์แวร์ประกอบด้วยชุดคำสั่งที่ทำให้สามารถทำงานได้ตามที่เราคาดหวัง
โดยทั่วไปการส่งข้อมูล โดยแพ็กเก็ต ZigBee สามารถทำได้สองวิธี: แบบยูนิคาสต์และการออกอากาศ
การส่งออกอากาศ:
พูดง่ายๆออกอากาศหมายถึงข้อมูล / รายการที่ส่งทางวิทยุหรือทีวี กล่าวอีกนัยหนึ่งการส่งสัญญาณออกอากาศจะถูกส่งไปยังอุปกรณ์จำนวนมากหรือทั้งหมดในเครือข่าย การส่งสัญญาณออกอากาศด้วยโปรโตคอล ZigBeeจะแพร่กระจายในเครือข่ายทั้งหมดเพื่อให้โหนดทั้งหมดได้รับการส่งผ่าน เพื่อให้บรรลุเป้าหมายนี้ผู้ประสานงานและเราเตอร์ทั้งหมดที่ได้รับการส่งออกอากาศจะส่งแพ็กเก็ตใหม่สามครั้ง
การส่งแบบ Unicast:
การส่งสัญญาณ Unicast ใน ZigBee จะกำหนดเส้นทางข้อมูลจากอุปกรณ์ต้นทางหนึ่งไปยังอุปกรณ์ปลายทางอื่น อุปกรณ์ปลายทางอาจเป็นเพื่อนบ้านของอุปกรณ์ต้นทางหรืออาจมีการกระโดดหลายครั้งระหว่างทาง ตัวอย่างแสดงไว้ด้านล่างในรูปที่อธิบายกลไกในการรับรู้ความน่าเชื่อถือของลิงก์สองทิศทาง
พื้นฐานของเครือข่ายสำหรับเราเตอร์และผู้ประสานงาน Xbee
ไปถึงบ้านเพื่อนคุณต้องการอะไร? คุณแค่ต้องการที่อยู่ของเขา ในทำนองเดียวกันสำหรับการส่งข้อมูลจากโมดูล Xbee หนึ่งไปยังอีกโมดูลหนึ่งคุณต้องมีที่อยู่ที่ไม่ซ้ำกัน เช่นเดียวกับผู้คน Xbee ยังมีที่อยู่หลายแห่งแต่ละแห่งมีบทบาทเฉพาะในการสร้างเครือข่าย มีสองประเภทของที่อยู่คงที่อยู่ (ที่อยู่ 64 บิต) และที่อยู่แบบไดนามิก (16 บิตที่อยู่)
ที่อยู่:
ที่อยู่ 64 บิตไม่ซ้ำกันในระดับสากล ได้รับการยืนยันภายในโมดูล Xbee โดยผู้ผลิต ไม่มีวิทยุ ZigBee อื่น ๆ ในโลกที่จะมีที่อยู่แบบคงที่เหมือนกันที่ด้านหลังของโมดูล xbee ทุกตัวคุณจะเห็นที่อยู่นี้ดังที่แสดงด้านล่างและโดยเฉพาะอย่างยิ่งส่วนที่อยู่สูงกว่า“ 0013A200” จะเหมือนกันสำหรับทุกโมดูล xbee
อุปกรณ์ได้รับที่อยู่16 บิตซึ่งควรจะไม่ซ้ำกันในเครื่องเมื่อเข้าร่วมเครือข่าย ZigBee ที่อยู่ 16 บิต 0x0000 สงวนไว้สำหรับผู้ประสานงาน อุปกรณ์อื่น ๆ ทั้งหมดจะได้รับที่อยู่ที่สร้างแบบสุ่มจากเราเตอร์หรืออุปกรณ์ผู้ประสานงานที่อนุญาตให้เข้าร่วม ที่อยู่ 16 บิตสามารถเปลี่ยนแปลงได้เมื่อพบว่าอุปกรณ์สองเครื่องมีที่อยู่ 16 บิตเหมือนกันหรืออุปกรณ์ออกจากเครือข่ายแล้วรวมในภายหลัง (สามารถรับที่อยู่อื่นได้)
ตัวระบุโหนด:
สมองของเราจะจำสตริงแทนตัวเลขได้ง่ายกว่าเสมอ ดังนั้นโมดูล Xbee แต่ละโมดูลในเครือข่ายจึงสามารถกำหนดด้วยตัวระบุโหนดได้ ตัวระบุโหนดคือชุดของอักขระเช่นสตริงซึ่งอาจเป็นวิธีที่เป็นมิตรกับมนุษย์ในการกำหนดแอดเดรสโหนดในเครือข่าย
เครือข่ายพื้นที่ส่วนบุคคล:
เครือข่ายเหล่านี้พัฒนาโดยโมดูล Xbee จะเรียกว่าเครือข่ายพื้นที่ส่วนบุคคลหรือกระทะแต่ละเครือข่ายถูกกำหนดด้วยตัวระบุ PAN (PAN ID) ที่ไม่ซ้ำกัน ตัวระบุนี้พบได้บ่อยในอุปกรณ์ทั้งหมดในเครือข่ายเดียวกัน ZigBee รองรับ PAN ID ทั้ง 64 บิตและ 16 บิต ที่อยู่ PAN ทั้งสองใช้เพื่อระบุเครือข่ายโดยไม่ซ้ำกัน อุปกรณ์บนเครือข่าย ZigBee เดียวกันจะต้องแชร์รหัส PAN 64 บิตและ 16 บิตเดียวกัน หากเครือข่าย ZigBee หลายเครือข่ายทำงานภายในช่วงของกันและกันแต่ละเครือข่ายควรมี PAN ID ที่ไม่ซ้ำกัน
PAN ID 16 บิตใช้เพื่อระบุเลเยอร์ MAC ในการส่งข้อมูล RF ทั้งหมดระหว่างอุปกรณ์ในเครือข่าย แต่เนื่องจากพื้นที่กำหนดแอดเดรสที่ จำกัด ของ PAN ID 16 บิต (ความเป็นไปได้ 65,535) อาจมีความเป็นไปได้ที่เครือข่าย ZigBee หลายเครือข่าย (อยู่ในช่วงของกันและกัน) สามารถมีรหัส PAN 16 บิตเดียวกันได้ เพื่อแก้ไขข้อขัดแย้งเหล่านี้ ZigBee Alliance ได้สร้าง PAN ID 64 บิต ZigBee กำหนดประเภทอุปกรณ์ที่แตกต่างกันสามประเภท ได้แก่ ผู้ประสานงานเราเตอร์และอุปกรณ์ปลายทาง
จำเป็นต้องมีผู้ประสานงานหนึ่งคนในทุกเครือข่ายเพื่อเรียกเก็บเงินจากการตั้งค่าเครือข่าย ดังนั้นมันไม่สามารถนอนหลับได้ นอกจากนี้ยังมีหน้าที่ในการเลือกช่องสัญญาณและ PAN ID (ทั้ง 64 บิตและ 16 บิต) เพื่อเริ่มเครือข่าย สามารถอนุญาตให้เราเตอร์และอุปกรณ์ปลายทางเข้าร่วมเครือข่ายได้ สามารถช่วยในการกำหนดเส้นทางข้อมูลในเครือข่าย
สามารถมีเราเตอร์หลายตัวในเครือข่าย เราเตอร์หนึ่งตัวสามารถรับสัญญาณจากเราเตอร์ / EP อื่น ๆ (จุดสิ้นสุด) มันไม่สามารถนอนหลับได้ ต้องเข้าร่วม Zigbee PAN ก่อนจึงจะสามารถส่งรับหรือกำหนดเส้นทางข้อมูลได้ หลังจากเข้าร่วมแล้วสามารถอนุญาตให้เราเตอร์และอุปกรณ์ปลายทางเข้าร่วมเครือข่ายได้ หลังจากเข้าร่วมแล้วยังสามารถช่วยในการกำหนดเส้นทางข้อมูลได้อีกด้วย สามารถบัฟเฟอร์แพ็กเก็ตข้อมูล RF สำหรับอุปกรณ์ปลายนอน
สามารถมีจุดสิ้นสุดได้หลายจุดเช่นกัน สามารถเข้าสู่โหมดสลีปเพื่อประหยัดพลังงาน ต้องเข้าร่วม ZigBee PAN ก่อนจึงจะสามารถส่งหรือรับข้อมูลและไม่อนุญาตให้อุปกรณ์เข้าร่วมเครือข่าย ขึ้นอยู่กับผู้ปกครองในการส่ง / รับข้อมูล
เนื่องจากอุปกรณ์ปลายทางสามารถเข้าสู่โหมดสลีปได้อุปกรณ์หลักจะต้องบัฟเฟอร์หรือเก็บแพ็กเก็ตข้อมูลขาเข้าไว้จนกว่าอุปกรณ์ปลายทางจะตื่นขึ้นมาและรับแพ็กเก็ตข้อมูล
โทโพโลยีเครือข่ายที่แตกต่างกันใน ZigBee
โครงสร้างเครือข่ายหมายถึงวิธีการออกแบบเครือข่าย ที่นี่โทโพโลยีคือการแสดงความสัมพันธ์ทางเรขาคณิตของการเชื่อมโยงและอุปกรณ์เชื่อมโยงทั้งหมด (ผู้ประสานงานเราเตอร์และอุปกรณ์ปลายทาง) ซึ่งกันและกัน
ที่นี่เรามีสี่ตาข่ายโครงสร้างพื้นฐาน, ดาว, ไฮบริดและต้นไม้
ในMesh Topologyทุกโหนดจะเชื่อมต่อกันโดยคาดว่าจะเป็นอุปกรณ์ปลายทางเนื่องจากอุปกรณ์ปลายทางไม่สามารถสื่อสารโดยตรง ในการเปิดใช้งานการสื่อสารอย่างง่ายระหว่างวิทยุ ZB สองเครื่องคุณจะต้องกำหนดค่าหนึ่งเครื่องด้วยเฟิร์มแวร์ผู้ประสานงานและอีกเครื่องหนึ่งใช้เราเตอร์หรือเฟิร์มแวร์ปลายทาง ข้อได้เปรียบหลักของเครือข่าย Mesh คือหากลิงก์ใดลิงก์หนึ่งไม่สามารถใช้งานได้จะไม่ทำให้ระบบทั้งหมดเสียไป
ในโทโพโลยีแบบดาวอุปกรณ์แต่ละชิ้นมีการเชื่อมต่อแบบจุดต่อจุดเฉพาะกับตัวควบคุมกลาง (ผู้ประสานงาน) อุปกรณ์ทั้งหมดไม่ได้เชื่อมต่อกันโดยตรง ซึ่งแตกต่างจากโทโพโลยีแบบตาข่ายในโทโพโลยีแบบดาวอุปกรณ์หนึ่งไม่สามารถส่งอะไรไปยังอุปกรณ์อื่นได้โดยตรง ผู้ประสานงานหรือฮับมีไว้สำหรับการแลกเปลี่ยน: หากอุปกรณ์หนึ่งต้องการส่งข้อมูลไปยังอีกอุปกรณ์หนึ่งจะส่งข้อมูลไปยังผู้ประสานงานซึ่งจะส่งข้อมูลไปยังอุปกรณ์ปลายทางต่อไป
เครือข่ายไฮบริดคือเครือข่ายที่มีมาตรฐานการสื่อสารสองประเภทขึ้นไป ที่นี่เครือข่ายไฮบริดเป็นการรวมกันของเครือข่ายแบบดาวและแบบต้นไม้อุปกรณ์ปลายทางเพียงไม่กี่ชิ้นเชื่อมต่อโดยตรงกับโหนดผู้ประสานงานและอุปกรณ์ปลายทางอื่น ๆ ต้องการความช่วยเหลือจากโหนดแม่ในการรับข้อมูล
ในเครือข่ายTree เราเตอร์จะสร้างกระดูกสันหลังและอุปกรณ์ปลายทางโดยทั่วไปจะรวมกลุ่มไว้รอบ ๆ เราเตอร์แต่ละตัว ไม่แตกต่างจากโครงร่างตาข่ายมากนักยกเว้นข้อเท็จจริงที่ว่าเราเตอร์ไม่ได้เชื่อมต่อถึงกันคุณสามารถเห็นภาพเครือข่ายเหล่านี้โดยใช้รูปที่แสดงด้านบน
เฟิร์มแวร์ Xbee
โมดูลโปรแกรม XBee มาพร้อมกับโปรเซสเซอร์แอปพลิเคชันขนาดฟรี แอพพลิเคชั่นโปรเซสเซอร์นี้มาพร้อมกับบูตโหลดเดอร์ที่ให้มา เฟิร์มแวร์ XBee ZV นี้ใช้ Embernet 3.xx ZigBee-PRO stack, โมดูล XBee-Znet 2.5 สามารถอัพเกรดเป็นฟังก์ชันนี้ได้ คุณสามารถตรวจสอบเฟิร์มแวร์ได้โดยใช้คำสั่ง ATVR ซึ่งเราจะพูดถึงในบทต่อไป หมายเลขเวอร์ชัน XBee จะมีเลขนัยสำคัญ 4 หลัก นอกจากนี้ยังสามารถดูหมายเลขเวอร์ชันได้โดยใช้คำสั่ง ATVR การตอบกลับจะส่งกลับตัวเลข 3 หรือ 4 ตัวเลขทั้งหมดเป็นเลขฐานสิบหกและมีช่วงตั้งแต่ 0-0xF ได้ มีรายงานเวอร์ชันเป็น "ABCD" Digits ABC เป็นหมายเลขรุ่นหลักและ D คือหมายเลขการแก้ไขจากรุ่นหลัก API ที่พูดถึงในบทที่ 4 และคำสั่ง AT นั้นเกือบจะเหมือนกันสำหรับเฟิร์มแวร์ Znet 2.5 และ ZB
ในการสื่อสารโทรคมนาคมคำสั่ง Hayes ทั้งหมดเป็นคำสั่งเฉพาะภาษาที่พัฒนาขึ้นสำหรับโมเด็มสมาร์ทโมเด็ม Hayes ในปี 1981 ซึ่งเป็นชุดคำสั้น ๆ เพื่อควบคุมโมเด็มที่ทำให้การสื่อสารและการตั้งค่าโมเด็มเป็นเรื่องง่ายในสมัยนั้น
XBee ยังทำงานในโหมดคำสั่งและได้ตั้งค่าคำสั่ง AT ซึ่งย่อมาจาก ATTENTION คำสั่งเหล่านี้สามารถส่งไปยัง XBee ผ่านเทอร์มินัล XBee และ AT ที่กำหนดค่าวิทยุ XBee มีโหมดการสื่อสารสองโหมด
โปร่งใส:วิทยุจะส่งข้อมูลที่ได้รับไปยังที่อยู่วิทยุระยะไกลที่ได้รับการกำหนดค่าไว้เท่านั้น ข้อมูลที่ส่งผ่านพอร์ตอนุกรมจะได้รับจาก XBee ตามที่เป็นอยู่
คำสั่ง:โหมดนี้ใช้เพื่อพูดคุยกับวิทยุและกำหนดค่าโหมดที่กำหนดไว้ล่วงหน้าบางโหมดเราสื่อสารกับโมดูลในขณะที่อยู่ในโหมดนี้และเปลี่ยนการกำหนดค่า
คุณสามารถพิมพ์ +++ แล้วรอหนึ่งวินาทีโดยไม่ต้องกดปุ่มใด ๆ จากนั้นข้อความ OK จะปรากฏเป็นภาพของเทอร์มินัลขึ้นมา ตกลง XBee บอกเราว่าเขาใช้จ่ายในโหมด COMMAND และพร้อมที่จะรับข้อความกำหนดค่า
คำสั่ง XBee AT:
AT (TEST):นี่คือคำสั่งทดสอบเพื่อตรวจสอบว่าโมดูลตอบสนองหรือไม่และตอบตกลงเมื่อตอบกลับยืนยันเช่นเดียวกัน
ATDH:ที่อยู่ปลายทางสูง ในการกำหนดค่า 32 บิตบนของที่อยู่ปลายทาง 64 บิต DL และ DH รวมกันจะให้ที่อยู่ปลายทาง 64 บิตแก่คุณ
ATDL:ที่อยู่ปลายทางต่ำ อีกครั้งสำหรับการกำหนดค่า 32 บิตล่างของที่อยู่ปลายทาง 64 บิต
ATID:คำสั่งนี้เปลี่ยน PAN ID (PersThe ID เป็นเลขฐานสิบหก 4 ไบต์และสามารถอยู่ในช่วงตั้งแต่ 0000 ถึง FFFF
ATWR:เขียน เขียนค่าพารามิเตอร์ไปยังหน่วยความจำแบบไม่ลบเลือนเพื่อให้การปรับเปลี่ยนพารามิเตอร์คงอยู่ผ่านการรีเซ็ตในภายหลัง
หมายเหตุ: เมื่อออก WR แล้วไม่ควรส่งอักขระเพิ่มเติมไปยังโมดูลจนกว่า
หลังจากได้รับคำตอบ "OK \ r"
ATRE (Restore Defaults):คืนค่าการตั้งค่าจากโรงงานไปยังโมดูลมีประโยชน์มากหากโมดูลไม่ตอบสนอง
หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับโมดูล ZigBee นี่คือแหล่งข้อมูลที่ยอดเยี่ยมจาก Digi