Лабораторная установка включает в себя следующие элементы (см. рис. 1):
· Микроконтроллер с платой программатора – 3 шт.,
· Модуль ZigBee – 3 шт.,
· ЖК-дисплей,
· Блок индикации,
· Блок переключения
· Порт USB для подключения к ПК – 3 шт.,
· Кнопка управления питанием.
Рис. 1 – Схема лабораторной установки
Лабораторная установка включает в себя 3 узла ZigBee. Центральный узел является координатором, а боковые узлы – оконечными узлами или маршрутизаторами.
Описание программы
В данной лабораторной работе будет рассмотрено создание сети ZigBee, содержащей три узла. Узел-координатор будет создавать сеть, а затем проверять присутствие двух оконечных узлов. Как только все три узла появятся в сети, узел-координатор передаст в канал символ «0», что переведет оконечные узлы 2 и 3 в режим обмена данными. Данные с оконечного узла 2 будут передаваться на оконечный узел 3, где они будут отображаться на блоке светодиодов.
В описании работы используются следующие обозначения для узлов ZigBee:
|
|
• Узел 1 – координатор (находится в центре лабораторного макета)
• Узел 2 – оконечный узел с блоком переключателей (находится в правой части лабораторного макета)
• Узел 3 – оконечный узел с блоком индикации (находится в левой части лабораторного макета)
Алгоритмы программ для каждого из узлов приведены ниже.
Для узла 1:
• Конфигурирование узла 1 как координатора.
• Ожидание присоединения узлов 2 и 3 к сети.
• Передача команды узлам 2 и 3 для их перевода в режим обмена данными.
Для узла 2:
• Конфигурирование узла 2 как оконечного устройства.
• Присоединение к сети.
• Включение режима обмена данными с узлом 3 при поступлении команды от узла 1.
• Передача символов, соответствующих нажатым клавишам на блоке переключателей, узлу 3.
Для узла 3:
• Конфигурирование узла 3 как оконечного устройства.
• Присоединение к сети.
• Включение режима обмена данными с узлом 2 при поступлении команды от узла 1.
• Отображение полученных от узла 2 символов на блоке индикации.
Программа для узла 1 содержит несколько блоков. В первом блоке инициализируют устройство ZigBee и ЖК-экран. Далее выполняют поиск других устройств. Для поиска подключенных устройств программа узла 1 отправляет в радиоинтерфейс ZigBee символ «1». После этого устройство ожидает ответы от узлов 2 и 3. От узла 2 должен прийти ответ с символом «2», а от узла 3 – с символом «3». Успешный прием ответов от узлов 2 и 3 должен сопровождаться выводом информации об этом событии на экран узла 1. В заключительной части программы узел 1 должен отправить узлам 2 и 3 символ «0», приняв который оконечные узлы начнут передачу информации друг для друга.
|
|
Программа для узлов 2 и 3 также содержит несколько блоков. В первом блоке производят инициализацию устройств. Затем узлы ожидают получения символа «1» от координатора. Узел 2, получив данный символ, отправляет на координатор ответ с символом «2». Узел 3, получив данный символ, делает паузу в 5 мс и отправляет на координатор ответ с символом «3». Пауза необходима для того чтобы избежать коллизии при передачи ответов на координатор. В следующей части программы узлы ожидают от координатора получения символа «0». Получив данный символ, узел 2 подключается к узлу 3 с помощью макроса Connect _ To_Name. Далее узел 2 в бесконечном цикле ожидает нажатия на любую из клавиш блока переключателей и передает значение нажатой клавиши на узел 3 с помощью макроса Send_Char. Узел 3 принимает все символы от узла 2 с помощью макроса Receive_Char и отображает их на блоке индикации.