Файл: Технология «клиент-сервер» (Клиент-серверная система).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 25.06.2023

Просмотров: 40

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Беспроводные сенсорные сети применяются во многих отраслях (промышленной, транспортной, жилищной, охранной и т.д.) и позволяют, например:

  • Своевременно выявлять возможные отказы исполнительных механизмов, контролирую таких параметров, как вибрация, температура, давление и т. п.;
  • Контролировать доступа к удалённым системам объекта мониторинга в режиме реального времени;
  • Контролировать экологические параметров окружающей среды

Беспроводными сенсорные сети являются основным направлением рабочей группы IEEE 802.15.4.

    1. MAC слой


Слой механизма доступа (MAC – Media Access Control) вместе со слоем управления логической связью являются подуровнями канального уровня модели OSI. MAC слой обеспечивает адресацию и механизмы управления доступом к каналам. В случае с беспроводными персональными сетями необходимо оптимально использовать беспроводную среду потому, что они работают на ограниченных нелицензированных частотах совместно с другими стандартными и нестандартными беспроводными технологиями, включая беспроводные локальные сети. Стандарт IEEE 802.15.4 использует CSMA-CA алгоритм, который требует проверять канал перед началом передачи сообщения, чтобы избежать коллизий с текущей передачей от другого сетевого устройства.

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

Обмена сообщениями между сетевыми протоколами происходит через точки доступа к услугам (SAP – Service Access Point). MAC слой предоставляет два сервиса для связи с верхними уровнями:

  • Объект управления уровнем MAC (MLME – MAC Layer Management Entity)
  • Общий MAC-уровень (MCPS – MAC common part sublayer)

Существует 4 вида сообщений:

  • request – запрос от верхнего слоя к MAC слою;
  • confirm – ответ MAC слоя на запрос верхнего слоя;
  • indication – сообщение от MAC слоя к верхнему слою, которое указывает на внутреннее событие слоя;
  • response – отправляется от верхнего слоя к MAC слою, чтобы завершить процедуру ранее вызванную примитивом indication. [4]
    1. Взаимодействие сетевых протоколов

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

Рисунок 3. Функционирование сети

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


Для того чтобы сформировать сеть нужно выбрать координатор персональной сети (PAN Coordinator – Personal Area Network Coordinator). В каждой сети должен присутствовать ровно один координатор. Рисунок 4 демонстрирует формирование сети, которое начинается, когда верхний слой посылает примитив MLME-SCAN.request объекту управления уровнем MAC (MLME – MAC Management Service or MAC Layer Management Entity), запрашивая активное сканирование канала. После завершения сканирования канала результаты отсылаются обратно через примитив MLME-SCAN.confirm. Если результаты приемлемые, то верхний слой выбирает идентификатор персональной сети и отправляет примитив MLME-START.request объекту управления уровнем MAC. Примитив MLME-START.request требует MAC слой поместить идентификатор персональной сети в информационную базу персональной сети (PIB). После этого, MAC слой отправляет примитив MLME-START.confirm верхнему слою. Данное устройство становится координатором персональной сети и сеть сформирована.

Рисунок 4. Формирование сети

    1. Передача сообщения

Чтобы передать сообщение другому сетевому устройству, приложение отправитель посылать запрос MCPS-DATA.request MAC слою. Запрос MCPS-DATA.request содержит сообщение, адрес получателя, длину сообщения и другие параметры. MAC слой отправителя передает сообщение по радиоканалу MAC слою получателя, который в ответ отправляет подтверждение о доставке, если оно было запрошено. MAC слой получателя отправляет сообщение верхнему слою MCPS-DATA.indication, сообщая о полученном сообщении. Рисунок 5 отображает процесс передачи сообщения от одного сетевого устройства к другому.

Рисунок 5. Схема передачи сообщения

    1. Информационная база

Атрибуты сети хранятся в информационной базе персональной сети (PIB – PAN Information Base). Для того чтобы получит значение какой-нибудь переменной из PIB, нужно отправить запрос MLME-GET на MAC уровень с ее индексом. Для изменения значение используется запрос MLME-SET.

ГЛАВА 2 Клиент-серверная система

В качестве приложения для демонстрации работы беспроводной сети на основе стандарта IEEE 802.15.4 была выбрана система тестирования, состоящая из двух приложений: серверного и клиентского. На рисунке 6 изображена архитектура системы.


    1. Серверное приложение

Серверное приложение состоит из 3 частей:

  1. Первая часть предназначена для работы с сетью и позволяет создавать беспроводную сеть.
  2. Вторая часть представляет собой таблицу результатов пройденных тестов. Есть возможность добавлять, удалять, редактировать и сортировать данные по столбцам.
  3. Третья часть предназначена для работы с тестами. Можно создавать новые тесты, сохранять в файл или редактировать имеющиеся. Пользователь может устанавливать время для прохождения тесты. Вопросы могут быть с одним ответом, несколькими вариантами ответов или своим ответом.

После заполнения формы регистрации на клиентском приложении пользователь отправляет запрос на скачивание теста на серверное приложение. Все запросы собираются в единую очередь. Отправка теста в ответ на запрос происходит в порядке FIFO.

Стандарт IEEE 802.15.4 ограничивает максимальный объем сообщения 102 байтами, поэтому для отправки сообщений большого объема необходимо разбивать их на части размером 102 байта или меньше и отправлять по очереди, а затем собирать на клиентском приложении.

Тесты хранятся в следующем формате:

<body>

<nex>4</nex> - количество вопросов в тесте

<ex1> - вопрос №1

<qt>1</qt> - тип вопроса (1 – с одним правильным ответов, 2 – с несколькими, 3 – со своим ответом)

<q>Сколько будет 3+3?</q> - вопрос

<na>2</na> - количество ответов

<a1>6</a1> - ответ номер №1

<a2>12</a2> - ответ номер №2

<ra>2</ra> - номер правильного ответа

</ex1>

<ex2>

</ex2>

<ex3>

</ex3>

</body>

Сообщение с результатами тестирования также может состоять из нескольких частей, поэтому каждое поступившие сообщение проверяется на законченность. Если в начале и в конце присутствуют теги <body> и </body>, то сообщение целое и данные о прохождении тестирования добавляются в таблицу с результатами. Если сообщение не имеет конечного тега, то сохраняется текущая часть, следующая пришедшая часть добавляется к имеющейся части и снова проверяется на законченность. Чтобы избежать ошибок во время сборки сообщений из нескольких частей, для каждого сетевого устройства сообщения хранятся и собираются отдельно.


    1. Клиентское приложение

Клиентское приложение состоит из 4 частей:

  1. Первое окно предназначено для работы с сетью и позволяет пользователю подключиться к серверу.
  2. В следующем окне имеется форма регистрации для ввода данных, которая затем отправлять запрос на скачивание выбранного теста.
  3. После того как тест будет скачан, пользователь может начать отвечать на вопросы. Тест оканчивается по истечению установленного времени или, если пользователь вручную его завершил. После завершения теста система подсчитывает набранные баллы и отправляет информацию на сервер, где она заносится в таблицу результатов.
  4. В последней форме пользователь может увидеть набранные баллы и вернуться к форме регистрации для повторного прохождения теста.

Результаты тестирования отправляются на сервер в следующем формате:

<body>

<fio>Яхиев Иса Джабраилович</fio> - ФИО

<fac>ПИ</fac> - название факультета

<gro>471</gro> - номер группы

<tstn>1</tstn> - номер теста

<rap>5</rap> - количество правильных ответов

<ras>25</ras> - процен правильных ответов

</body>

2.3 Использованные программные и технические средства

  • Для разработки клиентского и серверного приложений был выбран объектно-ориентированный язык Java, которые и среда разработки Intellij IDEA.
  • Для управления MAC уровнем передатчика с MAC уровня приложения используется библиотека Meshnetics.
  • Для доступа к COM портам из приложения, к которым подключаются передатчики, используется библиотека RxTx.

ЗАКЛЮЧЕНИЕ

Результатом данной работы является клиент-серверная система на основе беспроводной сети стандарта IEEE 802.15.4.

В ходе работы были решены следующие задачи:

  1. Изучен стандарт беспроводной связи IEEE 802.15.4
  2. Построена беспроводная сеть с топологией звезда стандарта IEEE 802.15.4
  3. Создана клиент-серверная система на основе беспроводной сети.

Во время разработк были выявлены ограничения стандарта IEEE 802.15.4, на которые пришлось пойти при разработке стандарта для уменьшения энергопотребления и стоимости монтажа и обслуживания, поэтому они не являются критичными. Стандарт имеет следующие ограничения: