Связь между двумя компьютерами с использованием модулей XBee


В предыдущем уроке мы узнали о протоколе ZigBee, его архитектуре, а также узнали о модулях XBee и AT-командах для управления им. В этом уроке мы соединим два модуля XBee с двумя компьютерами и заставим компьютеры обмениваться данными по беспроводной сети с помощью этих модулей XBee. В конце концов, мы сможем отправлять текст с одного компьютера на другой, как, например, в приложении для общения.

Связь между двумя компьютерами с использованием модулей XBee

Обнаружение подключенного модуля XBee на компьютере

Вы можете обнаружить свой радиомодуль XBee в Linux и Mac OSX. Открыв терминал, вы можете ввести несколько команд, чтобы проверить, распознается ли модуль вашим компьютером. Кроме того, мы видим, что при подключении к более чем одному модулю вам нужно быть немного осторожнее. После открытия терминала вам необходимо использовать следующие командные строки, чтобы проверить, правильно ли распознается ваше устройство вашей системой или нет.

В Linux и MAC вам нужно ввести

Вы увидите что-то вроде преобразователя последовательного устройства USB FTDI, который теперь подключен,  или, в данном случае, cp210x, подключенного к «ttyUSB0».

Обнаружение подключенного модуля XBee на компьютере

Как показано на изображении выше, вы увидите /dev/ttyUSB0. Убедитесь, что вы не подключили другие USB-устройства, в этом случае USB1, 2 или x. Этот каталог будет очень полезен при взаимодействии XBee с Python.

Для Windows перейдите в Панель управления-> Диспетчер устройств-> Найдите Com-порты на устройствах, как показано ниже, если вы используете putty или Python. В качестве альтернативы теперь вы можете использовать XCTU для того же самого.

Подключение модуля XBee к компьютеру для связи

Для различных платформ доступно множество терминальных приложений для связи с XBee. Для простоты мы будем использовать CoolTerm , поскольку оно совместимо с Windows и MAC, программное обеспечение бесплатное и доступно для всех операционных систем, таких как MAC, Windows, Linux.

Для MAC OS

Загрузите CoolTerm для Mac отсюда.

Перетащите папку CoolTermMac из папки «Загрузки» в папку «Приложения», и значок CoolTerm автоматически появится на панели запуска.

Теперь откройте приложения CoolTerm, щелкнув его значок, а затем перейдите в меню Connection menu -> Options. После нажатия на параметры откроется новое окно. Просканируйте порты с помощью кнопки “ReScan Serial Ports” («Повторное сканирование последовательных портов»), как только вы получите COM-порт, установите:

  • скорость передачи данных 9600,
  • Биты данных 8,
  • Паритет Нет (Parity None) и
  • Стоповые биты 1.

Чтобы правильно видеть, что вы пишете в терминале, вам потребуется дополнительно включить Local Echo. Для этого нажмите Terminal («Терминал»), как показано ниже на изображении, установите флажок Local Echo («Локальное эхо»), а затем нажмите «ОК».

Настройка параметров последовательного порта в CoolTerm

Настройка параметров терминала в CoolTerm

Нажмите кнопку Connect («Подключиться»), как показано на рисунке ниже, после ее нажатия выполните следующие действия:

  • Введите +++ (не нажимайте Enter), если вы получите ответ «ОК», продолжайте. Если нет, подождите более 10 секунд и повторно введите +++ для команды арендатора.
  • Введите ATSH и нажмите Enter, и вы увидите, как показано ниже, 32-битный адрес более старшего адреса, который является статическим адресом.

Теперь вы можете вводить другие команды, чтобы увидеть параметры.

Параметры, вводимые в командном окне

Если у вас возникли проблемы с подключением XBee к вашему компьютеру:

  • Проверьте настройки, например настройки скорости передачи данных.
  • Переподключите модуль и проверьте, правильно ли он подключен.
  • Попробуйте обновить прошивку, это может решить проблему, если она не работает из-за некоторых предыдущих настроек.
  • Сбросьте настройки, если это спящий режим.

Для Linux

Пользователь Linux может просто установить putty с помощью терминала в Linux (версии Debian).

Для другого дистрибутива загрузите исходный файл, перейдите в каталог с помощью терминала и введите следующие команды.

1. Теперь откройте putty, щелкните переключатель Serial («Последовательный порт») и введите текст в текстовое поле «/dev/ttyusb0», как показано на рисунке ниже. И установите скорость передачи данных 9600.

Настройка параметров последовательного порта в putty

Настройка параметров терминала в putty

2. После этого нажмите Terminal («Терминал»), измените настройки как показано на рисунке выше, а именно, измените

Implicit LF в каждом CR. Измените параметр Local echo («Локальное эхо») на Force on («Принудительно включить»). Затем нажмите Open.

3. Затем на терминале введите «+++» (не нажимая Enter), затем после получения ОК вы можете ввести другие AT-команды, как показано ниже.

Ввод AT команд в окне терминала

Для Windows

Пользователи Windows могут просто загрузить zip-файл CoolTerm отсюда, распаковать его, а затем щелкнуть по Coolterm.exe, и все готово.

Простой проект связи двух модулей XBee

Итак, теперь мы готовы обмениваться данными между двумя компьютерами с помощью двух трансиверов XBee. Идея состоит в том, чтобы отправить текстовую информацию в значениях ASCII с одного компьютера на другой компьютер. Мы будем использовать консольный модем XCTU.

Для продолжения вам необходимо выполнить следующие действия:

  • Два модуля XBee, в нашем случае это семейство XB24-ZB.
  • Две платы адаптера XBee.
  • Два ПК с терминалами последовательной связи.

Но прежде чем продолжить, нам необходимо настроить наш модуль XBee и добавить радиомодули XBee. Теперь следуйте инструкциям по общению с другими XBee:

Шаг 1: Сначала давайте обновим прошивку для нашего координатора, просто откройте режим конфигурации. Затем в меню Radio Configuration («Конфигурация радио») обновите прошивку, щелкнув изображение, как показано ниже:

Изменение параметров координатора

Шаг 2: Записав адрес на задней стороне радиомодуля, например «0013A200 – выше XXXXXXXX – ниже (адрес вашего радио)», нам необходимо настроить модули с помощью команд, перечисленных ниже в таблице.

Функция Команда Параметр
PAN-идентификатор ATID 1001 (подойдет любой адрес от 0 до FFFE)
Старшие байты адреса назначения ATDH 0013A200
Младшие байты адреса назначения ATDL (См. нижний адрес вашего модуля Router Xbee) 
Функция записи ATWR NA

Шаг 3: Теперь перейдите в режим консоли и нажмите кнопку Add Packet («Добавить пакет»), как показано ниже на изображении. Вы добавите наши команды в формате ASCII как ATID. После добавления команд перейдите в шестнадцатеричный редактор и здесь добавьте 0D (введите замену ключа), вам нужно повторить ту же процедуру для каждой команды, кроме «+++».

Порядок добавления команд показан ниже:

Ввод команды ATID

Добавление в шестнадцатеричном редакторе 0D

Шаг 4. Как показано ниже, добавьте пакеты и создайте последовательность. Это сэкономит ваше время, поскольку вы сможете повторно использовать их, сохранив эти пакеты для дальнейшего использования. После добавления пакетов в последовательности, как показано ниже, установите интервал передачи на 1000 мс.

Шаг 5: Откройте последовательное соединение с радиомодулем XBee в консоли. Теперь нажмите кнопку в нижней части консоли “Start sequence” («Начать последовательность»), ваш сеанс консоли может выглядеть, как показано на изображении ниже.

Примечание. Вы также можете использовать Putty и CoolTerm, но XCTU сэкономит больше времени и упростит работу пользователя. 

Добавление последовательности пакетов

Консольный сеанс для координатора:

Конфигурация маршрутизатора XBee:

Аналогичным образом вам необходимо настроить маршрутизатор, используя следующие параметры, перечисленные в таблице ниже:

Функция Команда Параметр
PAN-идентификатор ATID 1001 (подойдет любой адрес от 0 до FFFE)
Старшие байты адреса назначения ATDH 0013A200
Младшие байты адреса назначения ATDL (См. нижний адрес вашего модуля Router Xbee)
Функция записи ATWR NA

Сеанс консоли для маршрутизатора будет выглядеть следующим образом:

Отправка текста с одного компьютера на другой с помощью XBee

Теперь пришло время действовать: загрузите CoolTerm/Putty или даже XCTU на два компьютера, подключите к ним XBee с адаптерной платой. Здесь мы, как показано ниже, используем CoolTerm. Теперь откройте последовательное соединение и подключите модуль XBee, как вы узнали в начале этого руководства.

В любой консоли напишите любой символ, и вы увидите, что тот же символ появляется и в другом окне консоли. Здесь один модуль XBee работает как передатчик, а другой как приемник.

Отправка текста с одного компьютера на другой с помощью XBee

Таким образом, включая наше предыдущее руководство «Введение в ZigBee», мы до сих пор рассмотрели основы архитектуры сетей XBee, принимая во внимание экосистему XBee, а также приобрели знания о AT-командах и использовании терминалов. В этом уроке мы узнали, как модуль XBee можно подключить к компьютеру для связи между двумя компьютерами. Теперь мы можем общаться с нашими друзьями в соседних комнатах, используя радио XBee!!!

Сделай сам

  • Загрузите IDE Python по адресу: https://www.python.org/ftp/python/2.7.8/python-2.7.8.msi , загрузите последовательные библиотеки Python и отправьте AT-команды с помощью Python.
  • Используйте AT-команды для подключения светодиодов к цифровому вводу-выводу и удаленного управления ими.
  • Настройте модуль XBee для получения аналоговых входов от потенциометра:   http://examples.digi.com/sensors/802-15-4-analog-input-with-a-potentiometer
  • Используя Tkinter Python, вы можете создать интерактивное приложение для отслеживания движения с помощью акселерометра и XBee для получения жестов.
  • Подключите модуль XBee и получайте данные о вашей траве с помощью датчика влажности. Вы можете расширить этот проект, построив график данных с помощью Pythons Matplotlib.
(Проголосуй первым!)
Загрузка...
22 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *