Каталог статей

Главная » Все схемы » Схемы бытовых устройств » Телевизионная техника

Выбранная схема!!!


8051
Интерфейс XBee с Raspberry Pi Model 2 | Доступен исходный код

Интерфейс XBee с Raspberry Pi Model 2 | Доступен исходный код

Модуль XBee Pro (S2) представляет собой беспроводной приемопередатчик XBee ZB ZigBee на основе Mesh-протокола, разработанный Digi International, с превосходной дальностью прямой видимости 1,6 км (одна миля) (для 50 мВт, соединение U.FL) и 90 метров в помещении. Это устройство работает от напряжения 3,3 В постоянного тока при токе 295 мА в режиме передачи и имеет максимальную скорость передачи данных 250 кбит/с. Данные от процессора к модулю XBee передаются через последовательный порт.

Raspberry Pi Model 2 — это Raspberry Pi второго поколения, выпущенный в феврале 2015 года. Это компьютер на базе Linux, оснащенный мощным четырехъядерным процессором Broadcom BCM2836 ARMv7 900 МГц и SDRAM объемом 1 ГБ. Всего он имеет 40 контактов, в том числе 17 контактов GPIO, а также HDMI, слот для карты micro SD, Ethernet, USB 2.0 и 3.5 аудиовыходных порта.

Программное обеспечение

Рис. 1: Экран XBee Explorer

Существует множество операционных систем, разработанных для Raspberry Pi Model 2, но наиболее широко используются Raspbian (на базе Linux) и Microsoft Windows 10 IOT Core. Если вы новичок в Raspberry Pi Model 2, перейдите по ссылке  для получения информации о Raspberry Pi. В этой статье используется компилятор Python, а OS, необходимый для Raspberry Pi, — Raspbian.

Цель — отправить символ в модуль XBee и получить его в другом модуле XBee. Для отправки/получения данных через XBee модули должны быть настроены, а для этого требуется программное обеспечение XCTU. XCTU — это бесплатное программное обеспечение, разработанное Digi International, которое позволяет пользователю настраивать модули XBee. XCTU можно загрузить по ссылке

Цепь и работа

Необходимые компоненты: Raspberry Pi Model 2, два модуля XBee с экранами Explorer и несколько перемычек между гнездами.

Рис. 2: Скриншот программного обеспечения XCTU
рис. 3: Настройка COM-порта

Чтобы настроить модуль XBee, подключите XBee Explorer Shield к компьютеру через USB.

Рис. 4. Вид снизу типичного модуля XBEE

Затем запустите программное обеспечение XCTU и щелкните значок «Добавить устройства». Скриншот вывода XCTU показан на рис. 2. Вы получите окно «Добавить радиоустройство». Подтвердите COM-порт Explorer и установите скорость передачи данных на 9600, биты данных на 8, четность на нулевой и нажмите «Готово», как показано на рис. 3. Теперь нажмите «Модуль XBee» слева от экрана конфигурации радио (см. Рис. 5), чтобы настроить его. В сети связи существует три типа устройств     : координатор, конечное устройство и сначала настройте XBee в качестве координатора.

Рис. 5: Окно настройки радио
Рис. 6: Подробности конфигурации координатора

Для этого нажмите «Обновить прошивку», установите для нее значение «Координатор XBee AT», выберите последнюю доступную версию прошивки, а затем нажмите «Готово». Каждый XBee имеет две важные клавиши, SH и SL, которые помогают в передаче и приеме данных. SL уникален для каждого XBee, тогда как SH одинаков. Вид снизу типичного модуля XBee показан на рис. 5 вместе с его номером SL как 406F70BE и SH как 0013A200. Координатор отправляет данные, поэтому XBee, подключенный к Raspberry Pi, устанавливается в качестве координатора.

Конечное устройство получает данные. Здесь мы будем использовать консольный режим X-CTU для просмотра полученных данных, поэтому XBee, подключенный к компьютеру с XCTU, должен быть установлен в качестве конечного устройства. Маршрутизатор (разновидность ретранслятора) — дополнительный режим; при этом XBee просто получает, а затем передает одни и те же данные, поэтому этот режим используется для расширения радиуса действия передатчика. Чтобы настроить XB2 в качестве конечного устройства, повторите шаги, выполненные для настройки XB1, обновите прошивку и замените его значения DH и DL значениями SH и SL координатора XB1 соответственно. Теперь XB1 может передавать данные, а XB2 может их принимать. Подробную информацию о модулях координатора (XB1) и конечного устройства (XB2) можно увидеть на рис. 6 и рис. 7 соответственно.

Подробную информацию о модулях координатора (XB1) и конечного устройства (XB2) можно увидеть на рис. 6 и рис. 7 соответственно.

Взаимодействие XBee с Raspberry Pi

Рис. 7. Подробности конфигурации конечного устройства

Связь между XBee и Raspberry Pi осуществляется посредством последовательной связи. Соединения для последовательной связи между XBee и Raspberry Pi Model 2 приведены ниже, а также показаны на рис. 8.

Рис. 8. Интерфейс XBee с Raspberry Pi Model 2
Рис. 9: Скриншот minicom на Raspberry Pi

Rx (контакт 3) XBee ® контакт 08 (GPIO14)

Tx (контакт 2) XBee ® контакт 10 (GPIO15)

Vcc (контакт 1) XBee ® контакт 01 (3,3 В постоянного тока)

Земля (контакт 10) XBee ® контакт 06 (земля)

Вам необходимо перезагрузить плату Raspberry Pi после этих подключений и настроек, как описано ниже.

Чтобы использовать последовательный порт для связи между Raspberry Pi и XBee, необходимо настроить некоторые конфигурации в файлах cmdline.txt и inittab.txt . Запустите «Терминал» на плате Raspberry Pi и затем выполните указанную последовательность команд:

 [stextbox id="grey"]pi@raspberrrypi ~ $
обновление sudo apt-get[/stextbox]
// Проверяем наличие обновлений
[stextbox id="grey"]pi@raspberrrypi ~ $ sudo apt-get обновление[/stextbox]
// Устанавливает обновления if любые
[stextbox id="grey"]pi@raspberrrypi ~ $ cd /etc[/stextbox]
// Это должно сменить каталог на папку etc
[stextbox id="grey"]pi@raspberrypi ~ /etc $ sudo chmod 666
/dev/ttyAMA0[/stextbox]
// Чтобы добавить разрешение на использование последовательного порта
[stextbox id="grey"]pi@raspberrypi ~ /etc $ sudo apt-get
установить python-serial[/stextbox]
// Это установит последовательную библиотеку на Raspberry Pi
[stextbox id="grey"]pi@raspberrrypi ~ /etc $ cd[/stextbox]
// Это должно изменить каталог на корневую папку
[stextbox id="grey"]pi@raspberrrypi ~ $ sudo apt-get install
миником[/stextbox]
// Это установит Minicom на ваш Raspberry Pi
[stextbox id="grey"]pi@raspberrrypi ~ $ cd /boot[/stextbox]
// Это должно изменить каталог на папку Boot
[stextbox id="grey"]pi@raspberrrypi ~ /boot $ sudo cp
cmdline.txt cmdlinebackup.txt[/stextbox]
// Это должно сделать копию cmdline.txt и переименовать ее в cmdlinebackup.txt
[stextbox id="grey"]pi@raspberrrypi ~ /boot $ sudo nano
cmdline.txt[/stextbox]
// Это должно открыть cmdline.txt в текстовом редакторе
// Удалить: «console=ttyAMA0, 115200 console=ttyl»
// Нажмите Ctrl+O для сохранения и Ctrl+X для выхода
[stextbox id="grey"]pi@raspberrrypi ~ /boot $ cd /etc[/stextbox]
// Это должно сменить каталог на папку etc
[stextbox id="grey"]pi@raspberrrypi ~ /etc $ sudo cp inittab
inittab.backup[/stextbox]
// Это должно сделать копию inittab и переименовать ее в inittab.backup
[stextbox id="grey"]pi@raspberrrypi ~ /etc $ sudo nano
inittab[/stextbox]
// Это должно открыть inittab в текстовом редакторе
// Прокомментируйте строку: «T0:23:respawn:/sbin/getty –L ttyAMA0 115200 vt100» // добавив перед ней «#».
// Нажмите Ctrl+O для сохранения и Ctrl+X для выхода
[stextbox id="grey"]pi@raspberrrypi ~ $ sudo minicom –b 9600
–o –D /dev/ttyAMA0[/stextbox]
// Это установит скорость передачи данных порта: ttyAMA0 на 9600
[stextbox id="grey"]pi@raspberrrypi ~ /etc $ cd[/stextbox]
// Это должно изменить каталог на основную папку Pi
[stextbox id="grey"]pi@raspberrrypi ~ $ sudo restart[/stextbox]
// Это должно перезагрузить систему

Теперь последовательный порт Raspberry Pi отключен от последовательности загрузки и может использоваться для связи с модулем XBee. Скорость передачи данных default ttyAMA0 равна 115200, но для XBee требуется скорость передачи 9600 бод. Вы можете изменить скорость передачи данных в программном обеспечении minicom, как показано ниже:

 [stextbox id="grey"]

pi@raspberrrypi ~ $ sudo minicom –b 9600

–o –D /dev/ttyAMA0

[/stextbox]// Это установит скорость передачи данных порта ttyAMA0 на 9600

Появится окно, показанное на рис. 9. Нажмите клавиши Ctrl+A, а затем Q на клавиатуре, чтобы выйти без сброса настроек.

Код Python

Запустите Raspberry Pi и создайте новую папку «XBeeTest». В этом уроке используются библиотеки «serial» и «time». Создайте новый файл с помощью редактора nano, как показано ниже:

 [stextbox id="grey"]

$ pi@raspberrrypi ~ $ cd /XBeeTest

pi@raspberrrypi ~ /XBeeTest$ sudo nano

serial_XBee.py

Здесь серийный_XBee.py — это имя проекта. Введите следующий код:

импортировать серийный номер

// Для последовательной связи

время импорта

 [stextbox id="grey"]

[/stextbox]

// Для функции задержки

 [stextbox id="grey"]ser = серийный.Serial('/dev/ttyAMA0')[/stextbox]

// Устанавливаем ser как объект

 [stextbox id="grey"]ser.baudrate = 9600[/stextbox]

// Устанавливаем скорость передачи данных 9600

[stextbox id="grey"]

ser.write(“A”)

[/stextbox]

// Отправляем символ «A»

 [stextbox id="grey"]time.sleep(1)[/stextbox]

// Даем задержку в 1 секунду

 [stextbox id="grey"]ser.write("B")[/stextbox]

// Отправляем символ «B»

 [stextbox id="grey"]time.sleep(1)[/stextbox]

 // Даем задержку в 1 секунду

[stextbox id="grey"]ser.close()[/stextbox]

// Тесное общение

Чтобы сохранить этот код, нажмите клавиши Ctrl+O, а затем Ctrl+X.

Рис. 10: Консоль приемника

Этот код отправляет символ «A» на консоль (см. рис. 10) получателя, делает паузу на секунду, а затем отправляет символ «B».

Создание и тестирование

Теперь пришло время протестировать наш проект. После сохранения кода и подключения модуля XBee в режиме координатора к Raspberry Pi загрузите Raspberry Pi и с терминала напишите следующие команды для выполнения вашей программы. Папка назначения — XBeeTest , а имя файла — serial_XBee.py

Рис. 11: Прототип устройства отправки данных

[stextbox id="grey"]

pi@raspberrrypi ~ $ cd /XBeeTest[/stextbox]

// Изменяем каталог на XBeeTest

 [stextbox id="grey"]

pi@raspberrrypi /XBeeTest

$ sudo python серийный_XBee.py

[/stextbox]

// Запускаем программу Serial_XBee.py

Эта программа должна отправить символ «A», сделать паузу на секунду, а затем отправить символ «B». Обратите внимание, что как только вы включите оба модуля XBee, должен загореться ASSI (индикация ассоциации) LED. В этом case это желтый LED, как показано в прототипе (рис. 11).

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

Эта статья была первоначально опубликована 19 сентября 2016 года и недавно обновлена.

Чувствуете интерес? Ознакомьтесь с другими проектами Raspberry Pi.


Категория: Телевизионная техника | Добавил: Администратор (20.05.2026)
Просмотров: 87 | Рейтинг: 0.0/0


Всего комментариев: 0

Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов! Подробно тут!
Жалоба

ьте свои комментарии !!!!

Имя *:
Email:
Код *:

Copyright Zloy Soft (Company) © 2008 - 2026