- Хардуерни изисквания
- Конфигуриране на XBee модули с помощта на XCTU
- Програмиране и тестване на XBee комуникация с помощта на Arduino
В предишни уроци научихме за протокола ZigBee и неговата архитектура, както и за безжичната комуникация между два модула Xbee. Сега в този урок ще свържем модула XBee с платката Arduino Uno. XBee, свързан с платката Arduino, ще действа като приемник и ще комуникира безжично с друг модул XBee, който е последователно свързан с лаптопа с помощта на Explorer Board. Така че нека да проучим допълнително за безжичната комуникация Arduino с помощта на XBee.
Хардуерни изисквания
- 1 x Arduino Uno
- 2 x XBee Pro S2C модула (може да се използва всеки друг модел)
- 1 x Xbee explorer платка (по избор)
- 1 x Xbee Breakout дъска (по избор)
- USB кабели
- Светодиоди
Конфигуриране на XBee модули с помощта на XCTU
Както разбрахме в предишни уроци, че модулът XBee може да действа като координатор, рутер или крайно устройство, но трябва да бъде конфигуриран да работи в желания режим. Така че преди да използваме модулите XBee с Arduino, трябва да конфигурираме тези модули с помощта на софтуера XCTU.
За свързване на XBee модул с лаптопа се използва USB към сериен конвертор или специално проектирана платка за изследовател. Просто свържете модула XBee към платката на Explorer и го включете с лаптопа с помощта на USB кабел.
Ако нямате конвертор или изследователска платка, тогава платка Arduino може да се използва като USB към серийно устройство, което лесно може да комуникира с XBee и лаптоп. Просто качете празна скица в дъската на Arduino и сега тя може да се държи като USB към сериен конвертор.
Връзките за свързване на ZigBee модул с Arduino са показани на електрическата схема.
Връзки:
- Tx (pin2) на XBee -> Tx на Arduino платка
- Rx (pin3) на Xbee -> Rx на Arduino платка
- Gnd (pin10) на Xbee -> GND на дъската Arduino
- Vcc (Pin1) на Xbee -> 3.3v на платката Arduino
Тук в този урок се използва дъска на Explorer за конфигуриране на модулите XBee.
Изтеглете софтуера XCTU от тази връзка и го инсталирайте. След като изтеглите и инсталирате софтуера XCTU, отворете го и се уверете, че вашият XBee модул е правилно свързан. Проверете COM порта на платката Arduino в диспечера на устройствата.
Стъпка 1: - Сега кликнете върху бутона за търсене. Това ще ви покаже всички RF устройства, свързани с вашия лаптоп. В нашия случай той ще покаже само един XBee модул.
Стъпка 2: - Изберете серийния порт на платката Explorer / платката Arduino и кликнете върху Напред.
Стъпка 3: - В следващия прозорец задайте параметрите на USB порта, както е показано по-долу, и кликнете върху Finish.
Стъпка 4: - Изберете откритото устройство и кликнете върху Добавяне на избрано устройство . Този процес ще добави вашия модул XBee към таблото за управление на XCTU.
Стъпка 5: - Сега можете да конфигурирате вашия XBee модул в този прозорец. Използвайте AT команди или въведете данните ръчно. Както можете да видите, в левия панел има R, което означава, че Xbee е в режим на рутер. Трябва да го направим координатор за предавателната част.
Първо актуализирайте фърмуера, като кликнете върху Актуализиране на фърмуера.
Стъпка 6: - Изберете семейството продукти на вашето устройство, което се предлага на гърба на модула XBee. Изберете набора от функции и версията на фърмуера, както е подчертано по-долу, и кликнете върху Актуализиране.
Стъпка 7: - Сега трябва да дадете ID, MY и DL данни, за да осъществите връзка с други XBee. Идентификаторите остават еднакви за двата модула. Само обменът на данни MY и DL, т.е. MY за приемника XBee, става DL на предавателя XBee (координатор), а DL за приемника XBee става MY на предавателя XBee. Направете CE като координатор и след това натиснете бутона Write. Както е показано по-долу.
ATDL |
В МОЯ |
||
Координатор на XBee 1 |
|||
XBee 2 крайно устройство |
Стъпка 8: - След като напишете горните данни в предавателната част, извадете ги от платката на изследователя и ги включете във втория модул XBee. Повторете същия процес, както по-горе, само промените са DL, MY и CE. Тъй като ще направим втория XBee като крайно устройство, така че в падащото меню на CE изберете крайното устройство и натиснете бутона Write.
Стъпка 9: - Сега нашите модули XBee са готови за интерфейс с платката Arduino. Ще свържем предавателя XBee с лаптопа и приемника XBee с платката Arduino. След това дайте команди на частта на приемника с помощта на лаптоп.
Схема на веригата за част на приемника:
Връзки:
- Tx (pin2) на XBee -> Rx на Arduino платка
- Rx (pin3) на Xbee -> Tx на платката Arduino
- Gnd (pin10) на Xbee -> GND на дъската Arduino
- Vcc (Pin1) на Xbee -> 3.3v на платката Arduino
Ако използвате платката Arduino за свързване на предавателя ZigBee с лаптопа, връзките ще бъдат същите като при програмирането на ZigBee.
Програмиране и тестване на XBee комуникация с помощта на Arduino
Сега ще напишем код за приемника Arduino, за да включите светодиода всеки път, когато частта на приемника получи 'a', и ще премигнем светодиода, когато получи 'b', за останалите знаци светодиодът ще остане изключен.
Кодът е прост и лесно разбираем. Ние просто ще проверим входящите символи с помощта на функцията Serial.available () и ще съхраним този знак в променлива с помощта на Serial.read (); функция и я съчетайте с 'a' и 'b'. Ако съвпадението е правилно, изпълнете задачата, посочена в условието. Пълният код за частта на приемника е даден в края. Качете кода в приемника Arduino. Премахнете кабелите Tx и Rx на XBee преди качване.
Сега всички сме готови да тестваме нашия предавател и приемник. За да дадем команда на предавателната част, ще използваме конзолния терминал на XCTU. Щракнете върху иконата на конзолата близо до опцията за настройки. След това кликнете върху бутона Open, за да свържете XBee към лаптопа.
Въведете „a“ в дневника на конзолата. Ще видите, че светодиодът ще се включи за 2 секунди и след това въведете 'b', за да накарате LED да мига 5 пъти.
Можете също така да свържете предавателя XBee към платката Arduino, просто променете малко кода на приемника. Вместо функцията Serial.read (), използвайте функцията Serial.println (), за да изпратите символите.
Проверете демонстрационното видео, дадено по-долу.
Тази настройка на XBee-Arduino може да се използва за създаване на много полезни безжични приложения като система за домашна автоматизация, чат стая и т.н.