Skip to content

kbulygin/sdk20-eth-zb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Источник: http://embedded.ifmo.ru/wiki/index.php5/SDK-2.0_Ethernet-ZigBee

SDK-2.0 Ethernet-ZigBee — программное обеспечение, позволяющее с персонального компьютера получить доступ к ZigBee-устройствам через ЛВС Ethernet с помощью стенда SDK-2.0/E, подключенного к той же ЛВС.

Table of Contents

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

Задачи управления и мониторинга устройств беспроводной ЛВС ZigBee, обычно выполняемые операторами на их рабочих станциях, требуют доступа к сети ZigBee, обеспечение которого с помощью индивидуальных ZigBee-модулей может оказаться затруднительным с экономической, надёжностной и территориальной точек зрения. При этом доступ к ЛВС Ethernet на операторских рабочих станциях, как правило, уже имеется. Таким образом, представляется актуальной задача создания в сети Ethernet сервера, обеспечивающего удалённый доступ к сети ZigBee. Такой сервер должен обладать высокой производительностью и надёжностью, а также низким энергопотреблением. В качестве базы для построения сервера использована вычислительная платформа SDK-2.0/E.

Выполнение работы

Работа по созданию ПО, обеспечивающего работу сервера, потребовала изучения:

  • архитектуры стенда SDK-2.0 (а также микроконтроллерного ядра, контроллеров Ethernet и ZigBee);
  • драйверов используемых интерфейсов;
  • инструментальной цепочки программирования стенда;
  • требуемых сетевых технологий и средств отладки их применения;
  • способов создания кросс-платформенного Ethernet-клиента для ПК.
Работа велась в ОС GNU/Linux, поэтому использовались соответствующие программные средства:
  • кросс-компилятор GNU ARM 3.4.3 и др., см. SDK-2.0;
  • анализатор трафика Wireshark;
  • генератор пакетов PackETH;
  • Java Development Kit.
В результате разработано следующее:
  • программа для SDK-2.0 на языке Си, способная выполнять функции Ethernet/ZigBee-сервера и ZigBee-клиента (для её работы не требуется операционная система);
  • Ethernet-клиент для ПК на языке Java.

Модель работы

Клиентская программа получает IP-адрес сервера, адрес ZigBee-устройства и сообщение для него, затем возвращает ответ от ZigBee-устройства или информацию о его недоступности. Интерфейс командной строки позволяет встраивать программу в различные приложения.

Для связи с сервером используется его MAC-адрес, полученный с помощью ARP-запросов. Клиент отправляет UDP-пакет, в котором в качестве порта-источника указывается порт, на который ожидается получение ответа, а в качестве порта-приёмника указывается адрес ZigBee-устройства. Пользовательское сообщение (payload) полностью передаётся ZigBee-устройству, следовательно, сервер работает независимо от протокола обмена между Ethernet-клиентом и ZigBee-клиентом, лишь длина пользовательского сообщения ограничена 102 байтами по стандарту IEEE 802.15.4-2006. Ответ ZigBee-устройства отправляется Ethernet-клиенту в аналогичном UDP-пакете.

Время ответа

Время ответа удалённого ZigBee-клиента на запрос составляет около 300 мс (без вывода отладочной информации на консоль, при прямом соединении ПК и серверного стенда SDK-2.0 по Ethernet; время вычисления ответа незначительно). Цикл обращения к серверу (без обмена информацией по ZigBee) занимает около 0,3 мс.

Исходные коды

Исходные коды программ доступны по адресу: https://github.com/kbulygin/sdk20-eth-zb.

Поскольку в ходе работы с драйверами были решены некоторые общие проблемы (использование функции printf при работе через последовательный канал, отправление Ethernet-кадров с малой и нечётной длиной и др.), были добавлены новые функции, в некоторых местах упрощена реализация старых и т.п., можно использовать данный проект в качестве отправной точки для собственных разработок, для чего вместе с исходными кодами размещена вся собранная нами документация, касающаяся SDK-2.0.

Авторы

Булыгин Кирилл (kirill.bulygin@قmail.com), Пинкевич Василий (группа 4105, январь 2012 г.)

Категория:Студенческие проекты

About

SDK-2.0 as a Ethernet-ZigBee adapter

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published