Главная » Все файлы » Просмотр файлов из архивов » Документы » Пояснительная записка - копия

Пояснительная записка - копия (Разработка системы позиционирования подвижных объектов с помощью беспроводных сенсорных сетей), страница 7

2020-10-04СтудИзба

Описание файла

Файл "Пояснительная записка - копия" внутри архива находится в следующих папках: Разработка системы позиционирования подвижных объектов с помощью беспроводных сенсорных сетей, 255 Демин Григорий Иннокентьевич. Документ из архива "Разработка системы позиционирования подвижных объектов с помощью беспроводных сенсорных сетей", который расположен в категории "". Всё это находится в предмете "дипломы и вкр" из 8 семестр, которые можно найти в файловом архиве ДВГУПС. Не смотря на прямую связь этого архива с ДВГУПС, его также можно найти и в других разделах. .

Онлайн просмотр документа "Пояснительная записка - копия"

Текст 7 страницы из документа "Пояснительная записка - копия"

Помимо визуального отображения топологии сети, в данном режиме работы есть возможность задавать необходимую топологию.

2.4 Программное обеспечение для управляющего микроконтроллера

Для проведения экспериментальной части работы был реализован метод позиционирования основанный на анализе уровня принимаемого сигнала. Для этого использовались модули XBee S2C, со встроенной протокольной функцией определения уровня сигнала. В качестве управляющего микроконтроллера использовалась плата Arduino Uno. Один из узлов передачи данных являлся стационарным и был подключен к ПК по средствам USB. На ПК при помощи разработанного пользовательского приложения происходил сбор и анализ данных.

Программное обеспечение для управляющего микроконтроллера было разработано для передающего и принимающего узлов.

В Arduino IDE есть набор стандартных библиотек, которые используются очень часто. Эти библиотеки поддерживают все примеры, которые включены в Arduino IDE. Стандартные библиотеки поддерживают функции для работы с наиболее распространенным периферийным оборудованием.

Для работы с модулями XBee в проекте применялась библиотека <XBee.h>. Данная библиотека поддерживает работу с XBee модулями Series 1 и Series 2. Кроме того поддерживает работу с большинством типов пакетов. Функции, которые использовались в работе, рассмотрены далее.

Xbee.setSerial() – функция установки скорости обмена данными. Аргументом функции является скорость коммуникации.

Xbee.begin() – функция инициализации модуля XBee. Функция не имеет аргументов.

Xbee.readPacket() – функция чтения данных из эфира. Аргументом функции является время чтения эфира в миллисекундах.

Xbee.getResponse() – функция проверки статуса отправленного пакета. Функция не имеет аргументов.

Xbee.getApiId() – функция получения информации о приемнике. Функция не имеет аргументов.

Xbee.getRssi() – функция считывания информации о RSSI. Функция не имеет аргументов. Возвращает значение RSSI последнего принятого пакета.

Xbee.send() – функция передачи данных в эфир. Аргументом функции является массив данных.

Так как в Arduino Uno аппаратная поддержка интерфейса последовательной передачи данных реализована через выводы 0 и 1 которые также используются для связи с компьютером посредством USB необходимо дополнительно реализовать последовательный интерфейс на любых цифровых выводах с помощью программных средств, дублирующих функциональность UART. Это необходимо для того что бы принимающий узел получал данные по беспроводному каналу и ретранслировал их по проводному на ПК.

Библиотека <SoftwareSerial.h> позволяет программно создавать несколько последовательных портов, работающих на скорости до 115200 бод. Функции, использованные в работе, рассмотрены далее.

SoftwareSerial.begin() – функция инициализации передачи данных по UART интерфейсу.

SoftwareSerial.nss() – функция задания дискретных портов для дополнительного UART интерфейса. Функция имеет два аргумента RX и TX.

SoftwareSerial.println() – функция отправки данных в serial порт.

Для работы с программными задержками использовалась стандартная функция delay().

2.5 Организация беспроводного канала связи

2.5.1 Режимы управления

Как уже отмечалось ранее модули с версиями программного обеспечения 2020, 2220, 2820 поддерживают работу в прозрачном режиме (с помощью AT-команд). При работе в прозрачном режиме взаимодействие управляющего микроконтроллера и модуля происходит по UART интерфейсу. Все последовательные данные, полученные модулем по интерфейсу UART, будут отправлены в эфир. Полученные из эфира данные так же будут отправлены через UART. При этом узлы могут находиться вне прямой видимости по радиоканалу. В этом случае ретрансляцию сообщений будут осуществлять другие маршрутизаторы. Таким образом, в прозрачном режиме модули выступают как заменители последовательного интерфейса, реализуя вместо проводных линий беспроводный канал. В прозрачном режиме модули настраиваются с помощью АТ-команд, для чего необходимо переключиться в специальный режим управления. Для перехода в режим управления необходимо подать специальную последовательность символов (по умолчанию +++), причем до и после подачи этой последовательности необходимо выдержать паузу заданной длительности. Сделать это можно при помощи различных serial терминалов. Данный механизм предотвращает случайный переход в режим управления, даже если в отсылаемых данных встречаются подряд три символа + [11].

Для более гибкой настройки и управления модулем предназначен режим управления с помощью API-фреймов. Работа с API, основанная на фреймах, расширяет возможности приложения по управлению модулем. Например, для отправляемых данных можно в самом теле фрейма задать адрес получателя или после каждой отправки данных можно получать специальный фрейм, уведомляющий об успешном или неуспешном прохождении информации до точки назначения через узлы сети ZigBee. Фреймы данных на передачу, получаемые модулем на вход последовательных данных UART, включают:

  • фрейм данных для передачи другому узлу сети;

  • фрейм управления (эквивалент АТ-команд);

  • фреймы приема RF-данных от другого моду­ля сети;

  • ответ модуля на фрейм управления;

  • оповещение — перезапуск, активация и де­активация, и т. д.

Формат API-фрейма, содержащего запрос на обнаружение всех устройств в сети ZigBee, представлен на рисунке 2.20.

Рисунок 2.20 –- Фрейм запроса на обнаружение устройств в сети

Формат API-фрейма, содержащего ответ на фрейм поиска устройств ZigBee в сети, представлен на рисунке 2.21. Структура фрейма ответа для устройств, выполняющие различные роли в сети ZigBee, одинакова, отличается только идентификаторами.

Рисунок 2.21 – Фрейм ответа на команду поиска устройств ZigBee

2.5.2 Форматы пакетов данных

В сетях ZigBee принята к использованию единая топология передаваемых пакетов. Различаются следующие виды:

  • Пакет данных: используется для передачи данных.

  • Пакет подтверждения: используется для подтверждения успешной передачи данных.

  • Пакет МАС команды: используется для организации пересылок управляющих МАС команд.

  • Сигнальный пакет: используется координатором для организации синхронизированного доступа.

Формат пакета данных представлен на рисунке 2.22. Он позволяет передавать до 104 байт данных. Контроль последовательности передаваемых пакетов реализуется с помощью нумерации пакетов (параметр Data sequence number). Так же на уровне MAC проверяется безошибочность передачи данных. Это реализуется параметром Frame Check Sequence.

Рисунок 2.22 – Формат пакета данных

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

Пакеты MAC команд используется для удаленного управления и конфигурирования сетевых устройств. Это позволяет координатору сети конфигурировать по отдельности все сетевые подчиненные устройства вне зависимости от размеров сети.

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

2.6 Создание пользовательского приложения для ПК

2.6.1 Требования к пользовательскому приложению

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

Для накопления и последующей обработки данных, конечный узел сенсорной сети подключается к ПК. Маршрутные таблицы других узлов настраиваются на передачу данных к нему.

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

  • настройка нескольких подключений;

  • настройка параметров передачи данных;

  • отображение текущих принимаемых значений;

  • возможность передачи управляющих команд;

  • хранение принимаемых данных;

  • хранение выданных управляющих команд;

  • визуальное отображение накопленных данных.

В данном дипломном проекте было разработано пользовательское приложение для сбора и обработки данных, отвечающее всем требованиям, рассмотренным выше. Для создания приложения была выбрана среда разработки Delphi 7. Вид главного окна приложения представлен на листе 6 графического материала.

2.6.2 Описание используемых компонентов

В процессе разработки приложения необходимо было реализовать подключения устройства к ПК по средствам USB. Реализовать прямое подключение устройств собранных на базе плат Arduino к USB позволяет микроконтроллер ATmega16U2. Это позволяет плате определяться как виртуальный COM-порт. Со стороны устройства, физически, оно будет подключено к порту USB, а со стороны ПК это будет виртуальный COM. Для реализации виртуального порта, необходим компонент, который подключается к COM порту через адреса по внутренней шине ПК, без физического подключения. Для реализации данных функций в приложении сбора и обработки данных используется компонент CommPortDriver.

Компонент ComPortDriver предназначен для работы как физическими, так и виртуальными с COM-портами. Компонент позволяет задавать настройки скорости передачи, номер COM порта, размер одной посылки, количество стоп битов, время ожидания. Данный компонент позволяет полностью настроить канал передачи данных между устройством и ПК.

Для визуального отображения принимаемой и передающей информации использовались стандартные поля отображения текстовой информации – Memo и Edit. Помимо компонентов для визуального отображения информации использовались стандартные компоненты управления и отображения системной информации – кнопки, таймер, вкладки, статус строки.

Для накопления вновь получаемых данных разработанное приложение работает с базой данных, куда заносится вся информация по работе с устройством. В качестве компонента для подключения к базе данных использован компонент FIBPlus. Данный компонент осуществляет подключение к базе данных через систему управления базами данных – FireBird. Управление базами происходит посредством SQL запросов. В разработанном приложении использовались следующие инструменты:

  • FIBDataBase – подключается к базе данных;

  • FIBDataSet – выполняет стандартные SQL запросы и сортировку;

  • FIBTransaction – выполняет операция чтения и записи в базу данных.

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

  • DataSourse – является источником данных;

  • DBChart – позволяет строить различные диаграммы и графики;

  • DBGrid – предназначен для отображения данных в виде таблицы.

2.6.3 Алгоритм приложения

Алгоритм работы пользовательского приложения представлен на листе 6 графического материала. На этапе инициализации, происходит автоматическое подключение библиотек для работы по созданию графического интерфейса. На этом этапе также описываются переменные.

Информация на экране обновляется раз в секунду, после переполнения программного таймера.

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5224
Авторов
на СтудИзбе
428
Средний доход
с одного платного файла
Обучение Подробнее