Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Лабораторная работа 12 Программирование сети ZigBee для работы с датчиками и извещателями Постановка зада

Работа добавлена на сайт samzan.net: 2016-06-09

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 20.5.2024

Лабораторная работа № 12 «Программирование сети ZigBee для работы с датчиками и извещателями»

Постановка задачи:

Программное обеспечение разрабатывается для работы и взаимодействия следующих узлов системы: координатор, маршрутизатор и конечный узел. Управление их работой производится путем программирования конфигурационных регистров, доступ к которым осуществляется по радиоканалу через АТ-команды, а также набором типовых сценариев работы узла беспроводной сети, которыми разработчик беспроводной системы может пользоваться как готовыми подпрограммами.

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

Примерная структура сети

Датчик измерения температуры, освещенности  и уровня влажности

В качестве датчиков измеряющих температуру, освещенность  и уровень влажности выбран мультифункциональный датчик Xbee sensor XS-B14CB2RB производства компании Digi. Использование данного устройства позволит сэкономить затраты на приобретение дополнительных ZigBee модулей для интеграции датчиков температуры, освещенности и влажности в беспроводную сеть. Связь с другими узлами осуществляется через интерфейс ZigBee. Совместим со стеком EmberZNet версии 2.5.х.

Датчик наличия дыма

В качестве датчика наличия дыма выбрано устройство на основе микросхемы MC145012 от компании Freescale: уровень потребляемого напряжения не  превышает 9 вольт, малое энергопотребление, оснащение устройством звуковой сигнализации. Обнаружение дыма выполняется путем сканирования рассеянного света на наличие мельчайших частиц дыма или других аэрозолей (Рис. 1). Интеграция датчика в беспроводную сеть осуществляется при помощи модуля ETRX2 от Telegesis.

Рис.1 Диаграмма работы датчика обнаружения дыма

Датчик движения

Устройство Pir sensor от компании Parallax выбрано в качестве датчика движения: обнаружение движение в радиусе не менее 5 метров, уровень потребляемого напряжения не должен превышать 9 вольт.

Принцип работы основан на отслеживании уровня ИК-излучения в поле зрения датчика. Распознавание движения выбранным датчиком движения осуществляется на расстояние 6 метров.  На выходе датчик имеет однобитный сигнал. Интеграция датчика в беспроводную сеть осуществляется при помощи модуля ETRX2 от Telegesis.

Алгоритмы программы взаимодействия узлов сети

Примерная схема обмена данными между узлами в сети (Рис. 2):

Рисунок 2. Схема обмена данными между узлами сети

Примерный план формирования и настройки сети:

  1.  Необходимо сформировать будущую сеть:
  •  создать сеть с уникальным идентификатором;
  •  задать устройство, которое будет исполнять роль координатора;
  •  подключить к сети модули.
  1.  Сконфигурировать полученную сеть. Для этого необходимо:
  •  назначить центральный узел сбора данных, на который модули будут отправлять результаты;
  •  задать модули в качестве маршрутизаторов или конечных узлов.
  1.  Сконфигурировать конечные узлы (модуль датчика движения, модуль датчика дыма, устройство Xbee и модуль реле):
  •  конфигурация модуля датчика движения;
  •  конфигурация модуля датчика дыма;
  •  конфигурация устройства Xbee.

Следуя этому списку, необходимо разработать следующие алгоритмы работы системы:

  1.  Формирование сети.
  2.  Конфигурация сети.
  3.  Конфигурация модуля датчика дыма.
  4.  Конфигурация модуля датчика движения.
  5.  Конфигурация устройства Xbee.

Все подпрограммы вводятся через координатор. Схема распределения программного обеспечения для узлов имеет вид: (3):

Рис. 3. Схема распределения программного обеспечения для узлов системы

Опираясь на описанную выше информацию, составлены алгоритмы работы программы взаимодействия узлов сети:

Программное обеспечение взаимодействия узлов сети

Для ввода AT-команд могут использоваться несколько программ. К примеру – Hyper Terminal, TeraTerm или же программа прилагающаяся к ZigBee модулям ETRX2, - Telegesis terminal. Программирование всех устройств производится путем передачи команд с координатора по радиоканалу на другие узлы системы.

Необходимые настройки подключаемого модуля для программирования: скорость потока – 19200 бит в секунду, проверка на четность отключена, 8 бит данных, 1 стоповый бит, управление потоком отключено. Данные настройки вносятся в программу из которой будут вводится AT-команды. К примеру, ввод настроек для программы Telegesis Terminal версии 1.2.5  показан на :

Рисунок 4. . Окно ввода настроек подключаемого модуля в программе Telegesis Terminal v.1.2.5

Далее в основном окне программы вводятся список AT-команд.

Рассмотрим список AT-команд, необходимых для конфигурации системы:

Формирование сети

Формирование сети осуществляется вводом команды AT+EN. При этом устройство, с которого была введена эта команда, автоматически становится координатором сети. После создания сети генерируется случайный идентификатор (Pan Id) и происходит ожидание автоматического подключения остальных узлов сети.

После того как сеть создана вводится команда AT+SN, которая позволяет просканировать созданную сеть и установить связь к каждому присоединенному узлу.

Конфигурация сети

После создание сети нам необходимо установить центральный узел сбора данных (Sink),а также запретить подключения остальных узлов к сети, для дальнейшего конфигурирования конечных узлов. Для этого необходимо записать значение 090С в 16 битный регистр координатора S06. Для доступа к регистру необходим пароль, который по умолчанию для координатора – «TG-ETRX1USB», для других модулей – «TG-ETRX1». В целях соображения безопасности и удобства будет целесообразно установить новый пароль. Делается это путем ввода следующей команды в регистр S09: ATS09=Password:TG-ETRX1USB, где слово «Password» - это новый пароль. Также можно сменить пароли для оставшихся узлов в сети:  ATSREM09:<EUI64>= Password:TG-ETRX1, где EUI64 – это идентификатор модуля ETRX2, подключенного к сети. Теперь команда для записи значения 090С в регистр S06 будет выглядеть следующим образом: ATS06=090C:Password.  Далее необходимо провести конфигурацию конечных узлов. При автоматическом присоединении, по умолчанию узлы системы становятся маршрутизаторами. Для изменения типа узла необходимо изменить биты 9 и A на необходимое нам значение. Если бит 9 установлен, то устройство будет конечным. В противоположном случае устройство будет работать в режиме маршрутизатора. Если бит A установлен, то устройство будет мобильным, если нет – спящим. В данной системе все конечные узлы будут спящими, поэтому необходимо внести значение 060С в регистр S06. При этом устройство не должно быть частью сети, поэтому необходимо его вывести из нее. После этого можно конфигурировать регистр S06. Команды будут выглядеть следующим образом:

AT+DASSR:<EUI64>

ATSREM06=060C:Password

После того как регистр S06 сконфигурирован, необходимо обратно присоединить узел к сети. Для этого на координаторе необходимо обратно разрешить функцию автоматического подключение узлов к сети – записываем значение 010C в регистр S06 следующей командой - ATS06=010C:Password. Теперь после того как все конечные узлы сконфигурированы и вернулись в сеть – обратно делаем сеть недоступной для автоматического присоединения новых узлов – ATS06=090C:Password.

Конфигурация модуля датчика движения

Узел датчика движения определен как конечный спящий узел. Целью его работы будет передача данных поступающих на модуль ETRX2 с датчика движения на центральный узел сбора информации. Для этого вначале необходимо перевести узел в рабочий режим, т.к. по умолчанию он «спит», после этого передать данные и снова перевести узел в спящий режим. Делается это с помощью встроенного типового сценария. Каждый сценарий имеет свое кодовое значение. За его исполнение отвечают регистры S17-S28, которые работают попарно. Первый регистр является таймером, определяющим время повторения сценария, второй определяет сам сценарий. При выполнении сценария передачи информации узел автоматически «просыпается», а после передачи данных возвращается в спящий режим. Для выполнения данного сценария необходимо записать следующие команды:

ATSREM17:<EUI64>=20:Password

ATSREM18:<EUI64>=0101:Password, где:

<EUI64> - идентификатор узла датчика движения.

20 – число четверть секунд, через которые будут передаваться данные (Т.е. 5 секунд).

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

Конфигурация модуля датчика дыма

Узел датчика дыма будет осуществлять опрос A/D1 на наличие перепада. Для этого используются регистры S15-16,S2E и события IRQ0 и IRQ1. S2E будет отвечать за определение перепада и назначения события. Регистр S15 отвечает за действие, которое произойдет при наступлении IRQ0, S16 при наступлении IRQ1. Мы будем ожидать перепад на A/D1, допустим это событие IRQ0. Для его определения в регистр S2E записываем значение 0001 и выполняем передачу информации путем задания стандартного сценария через регистр S15:

ATSREM2E:<EUI64>=0001:Password

ATSREM15:<EUI64>=0101:Password, где:

<EUI64> - идентификатор узла датчика дыма.

  1.  Конфигурация устройства Xbee

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

Вначале конфигурации данного узла следует включить всю группу датчиков, это производится записью значения 2 в регистры D1, D2 и D3.  Команды будут выглядеть следующим образом:

ATSREMD1:<EUI64>=2:Password

ATSREMD2:<EUI64>=2:Password

ATSREMD3:<EUI64>=2:Password, где

<EUI64> - идентификатор узла Xbee  sensor.

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

ATSREMDH:<EUI64>=XXXX:Password

ATSREMDL:<EUI64>=YYYY:Password, где

<EUI64> - идентификатор узла Xbee  sensor,

XXXX – старший байт сетевого идентификатора координатора,

YYYY - младший байт сетевого идентификатора координатора.

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

ATSREMSP:<EUI64>=6000:Password

ATSREMSN:<EUI64>=3:Password, где

<EUI64> - идентификатор узла Xbee  sensor,

6000 – количество периодов по 10 мсек (SP),

3 – количество SP-периодов.

Алгоритмы работы программы взаимодействия узлов сети

Блок-схема подпрограммы «Формирование сети»


Блок-схема подпрограммы «Конфигурация сети»


Блок-схема подпрограммы «Работа датчика движения»


Блок-схема подпрограммы «Работа датчика дыма»


Блок-схема подпрограммы «Работа устройства Xbee sensor»


Пример список последовательно вводимых AT-команд программы взаимодействия узлов сети

AT+EN

AT+SN

ATS09=Password:TG-ETRX1USB

ATSREM09:<EUI64>= Password:TG-ETRX1

ATS06=090C:Password

AT+DASSR:<EUI64>

ATSREM06=060C:Password

ATS06=010C:Password

ATS06=090C:Password

ATSREM17:<EUI64>=20:Password

ATSREM18:<EUI64>=0101:Password

ATSEM2E:<EUI64>=0001:Password

ATSREM15:<EUI64>=0101:Password

ATSREMD1:<EUI64>=2:Password

ATSREMD2:<EUI64>=2:Password

ATSREMD3:<EUI64>=2:Password

ATSREMDH:<EUI64>=XXXX:Password

ATSREMDL:<EUI64>=YYYY:Password

ATSREMSP:<EUI64>=6000:Password

ATSREMSN:<EUI64>=3:Password




1. Фразеологічні одиниці з компонентом назва тварин
2. Доказательства и доказывание в хозяйственном процессе Республики Беларусь
3. Вариант 1 1.1. Как изменяется давление идеального газа в ходе процесса 12 на приведенной ниже VT д
4. внутри жизненной сферы человека при включении в этот процесс элементной системы мышления лежат в осно
5. На тему- Енергозабезпечення комплексу житлових будівель ЛКП ldquo;Бондарівкаrdquo; та розроблення заходів з пі
6. Происхождение и эволюция жизни на Земле
7. апологія аксіологія онтологія гносеологія антологія 2 0 1 1 1 120 В чому сутність філософс
8. Економічна безпека підприємства.html
9. Аббревиация как характерная черта языка виртуальной коммуникации
10. Отдельные элементы валютных отношений появились еще в античном мире Древней Греции и Древнем Риме в виде
11. Понятие диалектики, ее основные принципы, категории, законы
12. ті роки ХІХ ст стосовно до грошового обігу в Північній америці переповненого паперовими знаками які випуск
13. вид. Проклассифицировать виды
14. Развитие Дальнего Востока1
15. реферат дисертації на здобуття наукового ступеня кандидата педагогічних наук Ха
16. одинаковый и ~nym
17. а и количества заряженных частиц образующихся при том или ином процессе воздействия на вещество см
18. 2013 г 2013 г
19. Notebook or rdio. Scientists hve rchived so much scientific minds re still working t some urgent problems.html
20. ЗАТВЕРДЖУЮ Проректор з науковопедагогічної роботи 20року.