5fan_ru_Средства моделирования беспроводных сенсорных сетей на б. Характеристики дипломного проекта
Скачать 3.33 Mb.
|
1.3.4 Выбор средства моделированияНаиболее перспективными в плане дальнейшей поддержки и развития представляются модели open-zb и Castalia. Особое внимание необходимо обратить на модель Castalia, поскольку команда разработчиков изначально ставила перед собой задачу смоделировать все аспекты работы беспроводных сенсорных сетей, её исходный код является открытым и, что особенно важно, среда моделирования на основе, которой она построена, имеет также открытый исходный код и распространяется бесплатно для некоммерческого использования. Модель же open-zb, к сожалению, построена на базе очень дорогого коммерческого продукта OPNET Modeler 10.5 и выше, бесплатного только для университетов США.
Таблица 5: Основные возможности рассмотренных моделей БСС Для достижения поставленной цели дипломного проектирования необходимо выбрать средство имитационного моделирования по следующим критериям и определить наиболее подходящее:
Таблица 6: Выбор наилучшей модели БСС 1.3.5 Выводы Так как планируется некоммерческое использование средства моделирования, то программный комплекс OPNET Modeler не подходит из-за дороговизны. Network Simulator NS-2 не подходит из-за несоответствия спецификации ZigBee. Программный комплекс OMNET++ и Castalia являются наилучшим вариантом. Базируясь на ОС Linux так же портированы и на OS Windows. В данном проекте использована версия OMNET++ 4.1 и Castalia 3.1 для OS Linux. Использовалась версия Ubuntu 10.10. 1.4 Моделирование БСС 1.4.1 Программно-графическое представление сети В графическом редакторе OMNET++ беспроводная сенсорная сеть Castalia представлена следующим образом (в Приложении 1 приведен код, описывающий БСС): SN - имя сети (используется для моделирования); wirelessChannel - модуль беспроводного канала; node[numNodes] - модуль элементов сети; physicalProcess[numPhysicalProcesses] - модуль физических процессов. Рис. 15 Структура БСС Элемент Node описывает каждую рабочую станцию и имеет настраиваемый параметр numNodes, который определяет количество станций в сети. Каждая станция состоит из следующих модулей (в Приложении 2 приведен код, описывающий модуль Node): Node - имя сети (используется для моделирования); Communication - модуль связи; SensorManager - модуль, описывающий количество датчиков; ResourceManager - модуль потребляемых ресурсов; Application - модуль приложений; MobilityManager - модуль мобильности узлов. Рис. 16 Модуль Node Модуль связи имеет следующую структуру (в Приложении 3 приведен код, описывающий модуль CommunicationModule): Radio - модуль радиоканала; MAC - модуль физического уровня; Routing - модуль маршрутизации. Рис. 17 Модуль CommunicationModule Все элементы необходимы для работы и их удаление или изменение может привести к не правильной симуляции сети или к ошибке. 1.4.2 Создание конфигурационного файла Для моделирования сети необходимо создать файл конфигурации omnetpp.ini: [General] network = SN include ../Parameters/Castalia.ini sim-time-limit = 3600s SN.numNodes = 20 SN.node[*].Communication.MACProtocolName = "Mac802154" SN.node[*].Communication.MAC.isFFD = true SN.node[0].Communication.MAC.isPANCoordinator = true SN.node[*].Communication.MAC.phyDataRate = 1024 SN.node[*].Communication.MAC.phyBitsPerSymbol = 2 SN.wirelessChannel.pathLossMapFile = "../Parameters/WirelessChannel/BANmodels/pathLossMap.txt" SN.wirelessChannel.temporalModelParametersFile = "../Parameters/WirelessChannel/BANmodels/TemporalModel.txt" SN.node[*].ApplicationName = "ThroughputTest" SN.node[*].Application.startupDelay = 1 SN.node[*].Communication.Radio.RadioParametersFile = "../Parameters/Radio/BANRadio.txt" SN.node[*].Communication.Radio.TxOutputPower = "-25dBm" Файл конфигурации начинается с раздела [General]. В нем указываются общие параметры для всех сценариев (в данном случае используется всего один сценарий). Перед моделированием сети необходимо определить следующие параметры: количество станций (numNodes); время симуляции (sim-time-limit); настройки протокола канального уровня (Communication.MAC); сервер приложений (Application); настройки радиоканала (Communication.Radio). Моделирование будет проводиться для 20 устройств (SN.numNodes = 20) в течении одного часа (sim-time-limit = 3600s). Все устройства используют в качестве протокола канального уровня протокол IEEE 802.15.4 (SN.node[*].Communication.MACProtocolName = "Mac802154"). Для него есть несколько дополнительных параметров: функциональность устройства (Communication.MAC.isFFD); кто PAN-координатор (Communication.MAC.isPANCoordinator); скорость передачи данных (Communication.MAC.phyDataRate); количество битов в символе (Communication.MAC.phyBitsPerSymbol); В сети все устройства являются полнофункциональными (SN.node[*].Communication.MAC.isFFD = true), для удобства первую станцию сделаем PAN-координатором (SN.node[0].Communication.MAC.isPANCoordinator = true), скорость передачи данных будет равнять 1024 символа/сек, (SN.node[*].Communication.MAC.phyDataRate = 1024), в одном символе будет передаваться 2 байта информации (SN.node[*].Communication.MAC.phyBitsPerSymbol = 2). Так же необходимо указать настройки для беспроводного канала (wirelessChannel) (устанавливаются по умолчанию): SN.wirelessChannel.pathLossMapFile="../Parameters/WirelessChannel/BANmodels/pathLossMap.txt" SN.wirelessChannel.temporalModelParametersFile="../Parameters/WirelessChannel/BANmodels/TemporalModel.txt". Сервер приложений определяет пропускную способность канала (SN.node[*].ApplicationName = "ThroughputTest") и задержку перед отправкой пакета (SN.node[*].Application.startupDelay = 1) (в секундах). Для радиоприемопередатчика устанавливается файл входных данных по умолчанию (SN.node[*].Communication.Radio.RadioParametersFile = "../Parameters/Radio/BANRadio.txt") и мощность передатчика устанавливается в -25 dB (SN.node[*].Communication.Radio.TxOutputPower = "-25dBm") (умолчание для беспроводных маломощных сетей). 1.4.3 Моделирование сети Для моделирования сети в терминале вводим команду: alex@alex:$ cd omnetpp41/samples/diplom/Simulations/dipl для перехода в директорию, содержащую файл конфигурации omnetpp.ini. Следующая команда отображает все доступные сценарии: alex@alex:/omnetpp41/samples/diplom/Simulations/dipl$ Castalia List of available input files and configurations: * omnetpp.ini General В данном случае это сценарий General. Для моделирования сети запускаем его (все данные моделирования будут записаны в выходной файл gen.txt): alex@alex:/omnetpp41/samples/diplom/Simulations/dipl$ Castalia -c [General] -o gen.txt Running configuration 1/1 В графическом режиме топология сети будет выглядеть следующим образом: Рис. 18 Топология сети Для просмотра собранной статистики запускаем скрипт CastaliaResults (статистика отразится в файле gen.txt): alex@alex:/omnetpp41/samples/diplom/Simulations/dipl$ CastaliaResults -i gen.txt
Таблица 7: Статистика сети Статистика в сети собирается для каждой станции по следующим модулям: модуль канального уровня (Communication.MAC); модуль радиоприемопередатчика (Communication.Radio); модуль потребляемых ресурсов (ResourceManager); модуль беспроводного канала (wirelessChannel). Для модуля канального уровня определены следующие параметры: время без соединения с PAN-координатором (Fraction of time without PAN connection) (в секундах); количество принятых маяков (Number of beacons received); количество переданных маяков (Number of beacons sent). В модуле радиоприемопередатчика используются два параметра: статистика Rx пакетов; статистика Tx пакетов. Модуль потребляемых ресурсов показывает количество затраченной каждой станцией энергии (в мАч). Модуль беспроводного канала отображает степень затухания сигнала в зависимости от частоты несущего сигнала. Смоделировав сеть, перейдем к рассмотрению энергопотребления каждой из станций. Для просмотра статистики вводим в терминале следующую команду: alex@alex:/omnetpp41/samples/diplom/Simulations/dipl$ CastaliaResults -i gen.txt -s energy -n ResourceManager:Consumed Energy
Таблица 8: Энергопотребление в час Для удобства представим полученные данные графически: alex@alex:/omnetpp41/samples/diplom/Simulations/dipl$ CastaliaResults -i gen.txt -s energy -n | CastaliaPlot -o energy.jpg -s histogram Рис. 19 Энергопотребление Рассчитаем максимальное время работы каждого устройства. Для подсчета энергопотребления Castalia использует данные с сайта [http://www.allaboutbatteries.com/Energy-tables.html]: одна батарейка AA имеет емкость 2122 мАч. Следовательно, максимальное время работы (в часах), при использовании двух батареек AA, каждой станции составляет:
Таблица 9: Максимальное время работы Работа скрипта Castalia Работа скриптов CastaliaResults и CastaliaPlot Рис. 20 Структура работы системы |