Начало работы с Arduino Wireless SD Shield и модулями XBee Series 1
Первые шаги по настройке Arduino Wireless SD Shield и модулей XBee Series 1.
Примечание
Это устаревший продукт.
Arduino Wireless Shield с модулями XBee 802.15.4 позволяет плате Arduino обмениваться данными по беспроводной связи с использованием протокола Zigbee. В этом документе описывается использование платы расширения с модулем XBee 802.15.4 (иногда называемым «Series 1», чтобы отличить его от модулей Series 2, хотя «Series 1» не фигурирует в официальном названии или описании продукта).
Простой пример
Вы можете заставить две платы Arduino с Wireless Shield обмениваться данными друг с другом без какой-либо настройки, используя стандартные команды последовательного порта Arduino (описанные в справочнике).
Чтобы загрузить скетч на плату Arduino с Wireless Shield, извлеките XBee. Затем вы можете загрузить скетч обычным способом из среды Arduino. В данном случае загрузите скетч Communication | Physical Pixel на одну из плат. Этот скетч инструктирует плату включать светодиод на пине 13, когда она получает символ „H“ через последовательное соединение, и выключать светодиод при получении символа „L“. Вы можете проверить его, подключившись к плате через монитор последовательного порта Arduino (убедитесь, что скорость установлена на 9600 бод), набрав H и нажав Enter (или щёлкнув «Отправить»). Светодиод должен включиться. Отправьте L, и светодиод должен выключиться. Если ничего не происходит, возможно, ваша плата Arduino не имеет встроенного светодиода на пине 13 (проверьте список плат), в этом случае вам нужно будет подключить свой собственный.
После загрузки скетча Physical Pixel и проверки его работоспособности отключите первую плату Arduino от компьютера. Переведите переключатель в положение Micro. Теперь вам нужно загрузить скетч на вторую плату. Убедитесь, что её переключатель находится в положении USB. Затем загрузите следующий скетч на плату:
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.print('H');
delay(1000);
Serial.print('L');
delay(1000);
}
После завершения загрузки вы можете проверить его работу с помощью монитора последовательного порта Arduino. Вы должны видеть символы H и L, приходящие раз в секунду. Выключите монитор последовательного порта и отключите плату. Переведите переключатель в положение Micro. Теперь подключите обе платы к питанию. Через несколько секунд вы должны увидеть, как светодиод на первой плате включается и выключается раз в секунду. (Это светодиод на самой плате Arduino, а не на плате расширения XBee, который отображает информацию о состоянии модуля XBee.) Если так, поздравляем, ваши платы Arduino общаются по беспроводной связи.
Несколько замечаний
Вы можете использовать любые стандартные команды последовательного порта Arduino с платой расширения XBee. При переключателе в положении Micro команды print и println будут отправлять данные как через плату расширения XBee, так и через USB-соединение (то есть одновременно на другие платы расширения XBee и на компьютер). Однако в такой конфигурации плата будет получать данные только от платы расширения XBee, а не от USB-соединения.
Модуль XBee на плате расширения по умолчанию настроен на работу со скоростью 9600 бод, поэтому, если вы не переконфигурируете его, вам нужно убедиться, что вы передаёте значение 9600 в команду Serial.begin() в вашем скетче.
Чтобы ваш компьютер мог напрямую общаться с платой расширения XBee, подключите её к плате Arduino, из которой извлечён микроконтроллер, и установите переключатель в положение USB. Тогда вы сможете отправлять и получать данные от модуля XBee из любой терминальной программы. Это позволяет, например, видеть данные, которые модуль получает от других плат расширения XBee (например, для сбора данных с датчиков по беспроводной связи из нескольких мест).
Настройка модуля XBee
Вы можете настроить модуль XBee из кода, работающего на плате Arduino, или из программного обеспечения на компьютере. Для настройки с платы Arduino переключатель должен быть в положении Micro. Для настройки с компьютера переключатель должен быть в положении USB, а микроконтроллер должен быть извлечён из платы Arduino.
Чтобы перевести модуль в режим конфигурации, нужно отправить ему три символа «плюс»: +++, и перед и после этого должна быть пауза не менее одной секунды, во время которой вы не отправляете никаких других символов модулю. Обратите внимание, что это включает символы новой строки или возврата каретки. Поэтому, если вы пытаетесь настроить модуль с компьютера, вам нужно убедиться, что ваше терминальное программное обеспечение настроено на отправку символов по мере их ввода, не дожидаясь нажатия Enter. В противном случае оно отправит символы «плюс», сразу за которыми последует символ новой строки (то есть вы не получите нужную однесекундную паузу после +++). Если вы успешно вошли в режим конфигурации, модуль отправит обратно два символа „OK“, за которыми следует символ возврата каретки.
Отправить команду |
Ожидаемый ответ |
|---|---|
|
|
Войдя в режим конфигурации, вы можете отправлять AT-команды модулю. Строки команд имеют формат ATxx (где xx – имя настройки). Чтобы прочитать текущее значение настройки, отправьте строку команды, за которой следует возврат каретки. Чтобы записать новое значение настройки, отправьте строку команды, сразу за которой следует новое значение (без пробелов и символов новой строки между ними), а затем возврат каретки. Например, чтобы прочитать сетевой ID модуля (который определяет, с какими другими модулями XBee он будет обмениваться данными), используйте команду ATID:
Отправить команду |
Ожидаемый ответ |
|---|---|
|
|
Чтобы изменить сетевой ID модуля:
Отправить команду |
Ожидаемый ответ |
|---|---|
|
|
Теперь проверьте, что настройка вступила в силу:
Отправить команду |
Ожидаемый ответ |
|---|---|
|
|
Если вы не укажете модулю записать изменения в энергонезависимую (долговременную) память, они будут действовать только до тех пор, пока модуль не потеряет питание. Чтобы сохранить изменения на постоянной основе (пока вы явно не измените их снова), используйте команду ATWR:
Отправить команду |
Ожидаемый ответ |
|---|---|
|
|
Чтобы сбросить модуль к заводским настройкам, используйте команду ATRE:
Отправить команду |
Ожидаемый ответ |
|---|---|
|
|
Обратите внимание, что как и другие команды, сброс не будет постоянным, если вы не выполните после него команду ATWR.
Ссылки
Для получения дополнительной информации смотрите страницу оборудования Arduino Wireless SD Shield и страницу Digi XBee.