Тема «Низкоскоростная сеть передачи данных»

Часть 1

 

Волков И.Ю.

гр. 218

Основные положения

 

Разрабатываемый проект является основой для реализации концепции «интернет вещей». Для выполнения этой задачи она объединяет в одну сеть центральный командный блок (Master) и несколько блоков непосредственного управления (Slave, клиент). Структурная схема проекта изображена на рисунке 1.

 

Рис. 1 – Структурная схема проекта

 

Основой блоков является связка трансивера nRF24l01+ [1] и аппаратной платформы Arduino Pro Mini [2]. Каждый Slave-блок имеет 4 ШИМ-выхода, 2 аналоговых выхода  и шину цифровых адресных датчиков, что позволяет ему управлять сразу шестью различными устройствами и контролировать показания некоторого количества адресных датчиков. Наличие аппаратной платформы позволяет управлять устройствами различного типа, расширяя функционал, внося лишь незначительные изменения в прошивку модуля. Это достигается тем, что система является лишь «проводником» между пользовательским устройством (например, ПК) и конечным устройством, передавая команды управления (1 байт по-умолчанию, с возможностью расширения до 5 байт на одну команду) от пользователя к управляемому устройству не внося в них никаких изменений. А так же, использование аппаратной платформы позволяет расширить поддержку пользовательских устройств лишь добавлением к нему соответствующих интерфейсов (и внесения соответствующих библиотек в исходный код Mastera). Кроме того, использование модуля nRF24l01+ позволяет включать в сообщения о подтверждении приема (ACK) короткие блоки данных, например, показания датчиков, при передачи ACK-сообщения от Slavea Master’у.

Описанные выше особенности позволяют создавать на основе разрабатываемой сети, целую линейку таких систем для различных решений.

Основные технические характеристики сети обусловлены характеристиками приемо-передатчика nRF24l01+.

 

Краткая характеристика сети:

·         Работа в законодательно разрешенном частотном диапазоне: 2,4 ГГц;

·         Различные профили скорости передачи: 256 кбит/c, 1 Мбит/с, 2 Мбит/с;

·         Количество поддерживаемых частотных каналов: 125;

·         Максимальная мощность излучения передатчика: 4 дБм;

·         Радиус зоны радиопокрытия: 30 м. в помещении, до 100 м. на открытом пространстве.

 

Основные состояния элементов сети

 

Основные состояния Master’а (рис. 2):

·   Прослушивание радиоканала – основное состояние, Master’а слушает радиоканал в ожидании от Slave’а служебного сообщения (например, сообщения регистрации);

·    Регистрация нового Slave’а – регистрирование в базе активных клиентов, нового Slave’а;

·   Считывание команд от ПУ – Master’а считывает команды от пользовательского устройства и подготавливает их к передачи;

· Передача сообщения – формирование пакета L2 в аппаратной платформе и передача его трансиверу для непосредственной передачи по радиоканалу;

·    Сигнализация – проверка на выполнение условия  запуска световой (звуковой) сигнализации.

 

 

Рис. 2 – Основные состояния Master’a

 

Основные состояния Slave’а (рис. 3):

·   Регистрация – при включении PRX посылает в Радиоканал запрос на регистрацию и ожидает подтверждение приема (ACK) от Master’а;

·   Прослушивание радиоканала – Slave прослушивает радиоканал, ожидая поступления команд от Master’а;

· Контроль датчиков – Slave контролирует (через определенные пользователем промежутки времени) подключенные к нему датчики и принимает решение о досрочном извещении Master’а об этом по средствам служебного сообщения;

·   Прием и выполнение команд – Slave принимает команду от Master’а и выполняет ее, а затем отсылает ему в ответ очередную порцию показаний датчиков;

·  Передача служебных сообщений –  в этом состоянии Slave передает Master’у служебные сообщения различных типов.

 

Рис. 3 – Основные состояния Slavea

 

 

Сценарии взаимодействий элементов сети

 

Рассмотрим основные моменты функционирования сети. Регистрация нового Slavea в сети:

1.      После включения Slave формирует и передает в радиоканал запрос на регистрацию. Он повторяет передачу до тех пор, пока не получит подтверждение о регистрации от Mastera;

2.      Получив от Slavea запрос на регистрацию Master отправляет ему подтверждение получения сообщения (ACK) и обновляет свой список активных клиентов. Slave, получив подтверждение от Mastera переходит в режим прослушивания радиоканала и становится готовым к приему команд.

 

 

Рис. 3 - Регистрация нового Slavea в сети

 

Передача сообщений в направлении Master Slave:

1.      Master передает сформированное сообщение Slave’у и ожидает подтверждение приема;

2.   Slave передает подтверждающее сообщение (ACK) в котором, помимо элементов выполняющих функцию подтверждения приема, содержится информация с различных датчиков;

3.      После передачи подтверждения Slave записывает в ACK информацию со следующего датчика(ов), Master из полученного пакета ACK считывает показания очередного датчика(ов).

 

 

Рис. 4 - Передача сообщений в направлении Master Slave

 

Передача сообщений в направлении Slave Master:

1.      Slave передает сообщение Master’у;

2.      Master передает подтверждение приема Slave’у.

 


Рис. 5 - Передача сообщений в направлении Slave Master

 

Сообщения L2-уровня используемые в сети

 

В сети можно различить 3 вида сообщений:

·        Информационное (командное) сообщение – основной вид сообщения передаваемого в сети. Поле Service содержит 4 бита отвечающих за адрес, и 4 бита отвечающих за тип сообщения. Остальные 6 байт отвечают за передачу команд на 1-6 канал Slave соответственно;

 

 

Рис. 6 - Информационное (командное) L2-сообщение 


·        Служебное сообщение – состоит из поля Service имеющего аналогичные структуру и функции, что и у командного сообщения, а так же из информационного поля (2 байта).

 

 

Рис. 7 - Служебное L2-сообщение


·        Сообщение ACK – можно разделить на две части: первая – стандартное сообщение ACK генерируемое трансивером nRF24l01+, вторая – 2 байта информации, которые могут передаваться вместе с сообщением ACK. Эти 2 байта могут быть использованы для передачи любых видов информации, например, для показаний различных датчиков.

 

 

Рис. 8 - L2-сообщение ACK

 

Физический уровень сети

 

        Физический уровень сети полностью реализуется трансивером nRF24l01+ и его описание содержится в описании [1] к данному модулю. В радиосети планируется использование всех основных функциональных особенностей nRF24l01+. Более подробно, о этом модуле, а так же о аппаратной платформе Arduino, их программировании (в т.ч. реализация функций энергосбережения) будет изложено в следующих частях работы.
 
Источники:
  1. nRF24L01Single Chip 2.4GHz TransceiverProduct Specification;
  2. Arduino Pro Mini Specification.