- متطلبات الأجهزة
- تكوين وحدات XBee باستخدام XCTU
- مخطط الدائرة لجزء المستقبل
- قم بإعداد Raspberry Pi للاتصال التسلسلي
- برمجة Raspberry Pi لاتصالات XBee
- اختبار اتصال XBee اللاسلكي باستخدام Raspberry Pi
في البرنامج التعليمي السابق ، قمنا بتوصيل وحدة XBee مع Arduino Uno وجعلناهم يتواصلون لاسلكيًا باستخدام وحدة XBee. سنقوم الآن بواجهة وحدة XBee مع Raspberry Pi والتي ستعمل كجهاز استقبال وتجعلها تتواصل لاسلكيًا مع وحدة XBee أخرى (XBee explorer board) متصلة تسلسليًا بالكمبيوتر المحمول.
متطلبات الأجهزة
- 1 x Raspberry Pi مثبت عليه Raspbian
- 2 × وحدات XBee Pro S2C (يمكن استخدام أي طراز آخر)
- 1 × XBee Explorer board (اختياري)
- 1 × Xbee Breakout board (اختياري)
- كبلات USB
- المصابيح
من المفترض أن Raspberry Pi الخاص بك يومض بالفعل بنظام تشغيل. إذا لم يكن كذلك ، فاتبع البرنامج التعليمي Getting started with Raspberry Pi قبل المتابعة. نحن هنا نستخدم Raspberry Jessie المثبت Raspberry Pi 3.
هنا يتم استخدام الشاشة الخارجية باستخدام كابل HDMI كشاشة للتواصل مع Raspberry Pi. إذا لم يكن لديك شاشة ، يمكنك استخدام عميل SSH (معجون) أو خادم VNC للاتصال بـ Raspberry pi باستخدام الكمبيوتر المحمول أو الكمبيوتر. تعرف على المزيد حول إعداد Raspberry Pi بدون رأس هنا.
تكوين وحدات XBee باستخدام XCTU
كما تعلمنا في البرنامج التعليمي السابق لمقدمة ZigBee ، يمكن أن تعمل وحدة XBee كمنسق أو جهاز توجيه أو جهاز نهاية ولكن يجب تكوينها للعمل في الوضع المطلوب. لذا ، قبل استخدام وحدات XBee مع Raspberry Pi ، يتعين علينا تكوين هذه الوحدات باستخدام برنامج XCTU.
لتوصيل وحدة XBee بالكمبيوتر المحمول ، يتم استخدام USB إلى محول تسلسلي أو لوحة مستكشف مصممة خصيصًا. ما عليك سوى توصيل وحدة XBee بلوحة Explorer وتوصيلها بالكمبيوتر المحمول باستخدام كابل USB.
إذا لم يكن لديك أي محول أو لوحة مستكشف ، فيمكن استخدام لوحة Arduino كجهاز USB إلى جهاز تسلسلي يمكنه التواصل بسهولة مع XBee والكمبيوتر المحمول. ما عليك سوى تحميل رسم فارغ في لوحة Arduino والآن يمكن أن يتصرف مثل محول USB إلى Serial.
تكوين وحدات XBee:
هنا في هذا البرنامج التعليمي ، يتم استخدام لوحة Explorer لتكوين وحدات XBee النمطية.
قم بتنزيل برنامج XCTU من هذا الرابط وقم بتثبيته. بعد تنزيل برنامج XCTU وتثبيته ، افتحه وتأكد من توصيل وحدة XBee بشكل صحيح. تحقق من منفذ COM بلوحة Arduino في مدير الجهاز.
1. الآن ، انقر فوق زر البحث. سيُظهر لك هذا جميع أجهزة التردد اللاسلكي المتصلة بجهاز الكمبيوتر المحمول. في حالتنا ، ستظهر وحدة XBee واحدة فقط.
2. حدد المنفذ التسلسلي للوحة Explorer / لوحة Arduino وانقر فوق التالي.
3. في النافذة التالية ، اضبط معلمات منفذ USB كما هو موضح أدناه وانقر فوق "إنهاء".
4. حدد الجهاز الذي تم اكتشافه وانقر فوق إضافة جهاز محدد . ستضيف هذه العملية وحدة XBee إلى لوحة معلومات XCTU.
5. الآن ، يمكنك تكوين وحدة XBee الخاصة بك في هذه النافذة. يمكنك استخدام أوامر AT أو وضع البيانات يدويًا. كما ترى ، هناك R تظهر على اللوحة اليسرى مما يعني أن XBee في وضع جهاز التوجيه. علينا أن نجعله المنسق لجزء الارسال.
أولاً ، قم بتحديث البرنامج الثابت بالنقر فوق تحديث البرنامج الثابت.
6. اختر عائلة المنتج الخاصة بجهازك والتي تتوفر على الجزء الخلفي من وحدة XBee. حدد مجموعة الوظائف وإصدار البرنامج الثابت كما هو موضح أدناه وانقر فوق تحديث.
7. الآن ، يجب عليك تقديم بيانات الهوية وبياناتي و DL لإجراء اتصال مع XBee الأخرى. يبقى المعرف نفسه لكل من الوحدات النمطية. فقط تبادل البيانات MY و DL ، أي MY لجهاز الاستقبال XBee يصبح DL لجهاز الإرسال XBee (المنسق) و DL لجهاز الاستقبال XBee يصبح MY لجهاز الإرسال XBee. اجعل CE منسقًا ثم اضغط على زر الكتابة. كما هو مبين أدناه.
ATDL |
ATMY |
||
منسق XBee 1 |
|||
جهاز XBee 2 الطرفي |
8. بعد كتابة البيانات أعلاه إلى جزء جهاز الإرسال ، قم بتوصيلها من لوحة المستكشف وتوصيل وحدة XBee الثانية بها. كرر نفس العملية على النحو الوارد أعلاه فقط التغييرات هي DL و MY و CE. نظرًا لأننا سنصنع XBee الثاني كجهاز End ، في القائمة المنسدلة CE ، حدد جهاز النهاية واضغط على زر الكتابة.
9. الآن ، وحدات XBee الخاصة بنا جاهزة للتفاعل مع Raspberry Pi. سنقوم بتوصيل جهاز الإرسال XBee بجهاز الكمبيوتر المحمول وجهاز الاستقبال XBee مع Raspberry Pi. ثم أعط أوامر لجزء المتلقي باستخدام الكمبيوتر المحمول. حاسوب محمول.
مخطط الدائرة لجزء المستقبل
يتم عرض اتصالات لتوصيل وحدة ZigBee مع Raspberry PI في مخطط الدائرة.
روابط:
- Tx (pin2) لـ XBee -> Tx of Pin Raspberry Pi
- Rx (pin3) من XBee -> Rx of Raspberry Pi
- Gnd (pin10) لـ XBee -> GND لـ Pin Raspberry Pi
- Vcc (Pin1) من XBee -> 3.3 فولت من دبوس Raspberry Pi
- مؤشر LED متصل بـ GPIO 23
قم بإعداد Raspberry Pi للاتصال التسلسلي
الآن ، سنقوم بإعداد Raspberry Pi للاتصال التسلسلي. بشكل افتراضي ، يتم تعطيل المنفذ التسلسلي للأجهزة لـ Pi. لذلك ، يتعين علينا تمكينه قبل بدء الاتصال.
1. في المحطة ، قم بتشغيل الأمر raspi-config .
2. اذهب إلى الخيار 5 Interfacing options واضغط على enter. الآن ، حدد الخيار P6 Serial وقم بتمكينه ثم احفظه.
اخرج من الجهاز وستكون جاهزًا لإجراء الاتصال بين Raspberry Pi و XBee. سيعمل GPIO14 و 15 كـ Tx و Rx على التوالي وهما متاحان في / dev / ttyS0 منفذ raspberry pi.
الآن ، سنقوم بكتابة برنامج نصي من نوع python على LED عندما نتلقى "a" من جانب جهاز الإرسال XBee.
برمجة Raspberry Pi لاتصالات XBee
يتم تقديم برنامج Python الكامل لربط XBee بـ Raspberry Pi في النهاية.
أولاً ، يتعين علينا استيراد مكتبات الوقت والتسلسل و RPi.GPIO باستخدام وظيفة الاستيراد.
استيراد وقت الاستيراد استيراد تسلسلي RPi.GPIO كـ GPIO…
الآن ، اكتب خصائص الاتصال التسلسلي ، وحدد المنفذ ، ومعدل البث بالباود ، والتماثلات على النحو التالي.
ser = serial.Serial ( المنفذ = '/ dev / ttyS0' ، معدل الباود = 9600 ، التكافؤ = serial.PARITY_NONE ، stopbits = serial.STOPBITS_ONE ، bytesize = serial.EIGHTBITS ، timeout = 1 )
اكتب كل عناصر الإرسال والاستلام في حلقة while .
بينما 1:
يمكنك استخدام وظيفة ser.write لإرسال الرسائل إلى جانب جهاز الإرسال. قم بإلغاء التعليق على الأسطر أدناه لإرسال عمليات العد.
# ser.write (str.encode ('كتابة العداد:٪ d \ n'٪ (عداد))) # time.sleep (1) #counter + = 1
لتلقي الرسائل علينا استخدام وظيفة ser.readline () . قم بتخزين الرسالة الواردة في متغير وتحقق من الحالة. إذا كانت الرسالة الواردة هي "a" ، فقم بتشغيل مؤشر LED لمدة 3 ثوانٍ ثم قم بإيقاف تشغيل مؤشر LED.
x = ser.readline (). strip () print (x) إذا كانت x == 'a': GPIO.output (23، GPIO.HIGH) time.sleep (3)….
يتم تقديم كود Python الكامل مع فيديو توضيحي في نهاية البرنامج التعليمي. الصق الكود في أي محرر نصوص في Pi واحفظه. قم بتشغيل البرنامج النصي في الجهاز باستخدام sudo python script_name.py أو يمكنك استخدام Python IDE و Shell لتنفيذ البرنامج النصي.
اختبار اتصال XBee اللاسلكي باستخدام Raspberry Pi
الآن ، قررنا جميعًا اختبار جهاز الإرسال والاستقبال XBee الخاص بنا. لإعطاء الأوامر لجزء المرسل ، سنستخدم محطة وحدة التحكم XCTU. انقر فوق أيقونة وحدة التحكم بالقرب من خيار الإعدادات. ثم ، انقر فوق الزر فتح لتوصيل XBee بالكمبيوتر المحمول.
أدخل "أ" في سجل وحدة التحكم. سترى أن LED سيتم تشغيله لمدة 3 ثوانٍ ثم ينطفئ.
بهذه الطريقة ، يمكنك أيضًا توصيل جهاز الإرسال XBee بلوحة Arduino كما هو موضح في البرنامج التعليمي السابق ، وجعل Raspberry Pi و Arduino للتواصل مع بعضهما البعض.