Розробка технічної частини програми аналізу мережі Wi-Fi

Головні параметри і характеристики технології Wi-Fi. Огляд її стандартів та частотних каналів. Робота з компонентами Windows Forms. Техніко-економічне обґрунтування програми. Охорона праці та забезпечення безпечних, нешкідливих і сприятливих умов праці.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык украинский
Дата добавления 24.07.2014
Размер файла 1,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

13. ПУЭ-87 Правила устройства электроустановок. - М.: Энерго- атомиздат, 1988-648с.

14. ДБН В 1.1-7-2002 Державні будівельні норми. Захист від пожежі. Пожежна безпека об'єктів будівництва. К.:-2003 - 42с.

15. ГОСТ 12.0.003-74* ССБТ. Опасные и вредные производственные факторы. Классификация. - Вед.01.01.76.

16. ГОСТ 12.1.003-83* ССБТ. Шум. Общие требования безопасности. -Введ. 01.07.84.

17. ДБН В. 2.5-28-2006 Державні будівельні норми. Інженерне облад- нання будинків і споруд. Природне і штучне освітлення. Зміна №2. -К.: Мінбуд України. - Від 2012 р.

18. ГОСТ 12.1.038-82* ССБТ. Электробезопасность. Предельно допустимые значения напряжений прикосновения и токов. - Введ. 01.07.83.

19. СанПіН 2.2.4.1294-03 Гігієнічні вимоги до аероіонного складу повітря виробничих і громадських приміщень - Введ. 15.06.2003.

20. ГОСТ 12.1.005-88* ССБТ. Общие санитарно-гигиенические требования к воздуху рабочей зоны.-Вед.01.01.89.

21. ГОСТ 12.1.006-84*ССБТ. Электромагнитные поля радиочастот. Допустимые уровни на рабочих местах и требования к проведению контроля. - Введ. 01.01.86.

22. ГОСТ 12.1.045-84 ССБТ. Электростатические поля. Допустимые уровни на робочих местах и требования к проведению контроля. - Введ.01.01.85.

23. ДСанПіН 3.3.2.007-98 Державні санітарні правила і норми роботи з візуальними дисплейними терміналами електронно-обчислювальних машин. - Діє з 01.01.99.

24. ДБН В.2.5-67:2013. Державні будівельні норми. Опалення, вентиляція та кондиціонування. - Діє з 01.01.2014р.

25. ГОСТ 12.1.012-90 ССБТ. Вибрационная безопасность. Общие требования. - Введ. 01.01.85.

26. Закон України «Про охорону навколишнього природного середовища» - Діє з 26.06.1991р.

Додаток А

Текст програми

Текст файла Wifi.cs

Найменування програми - WifiAnylizer. Автор - Петля Д.І

Дата створення програми - 14.04.2014 р. Номер версії - 1.0

Дата останньої модифікації - 20.06.2014 р.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using NativeWifi;

namespace WindowsFormsApplication1

{

static class GetMacExtension

{

public static uint Channel;

public static string Mac;

/// <summary>

/// Росширення для отримання мак-адреси в зручній формі

/// </summary>

/// <param name="entry">екземпляр класу Wlan.WlanBssEntry</param>

/// <returns>мак-адресу у вигляді строки</returns>

public static string GetMac(this Wlan.WlanBssEntry entry)

{

byte[] macAddr = entry.dot11Bssid;

Mac = macAddr.Aggregate("", (current, t) => current + t.ToString("x2").PadLeft(2, '0').ToUpper());

return Mac;

}

/// <summary>

/// Отримання номеру каналу мережі

/// </summary>

/// <param name="entry">екземпляр класу Wlan.WlanBssEntry</param>

/// <returns>номер канала у формати uint</returns>

public static uint GetChannel(this Wlan.WlanBssEntry entry)

{

var freq1 = (entry.chCenterFrequency%2412000)/1000;

var freq2 = freq1/5;

Channel = freq2 + 1;

return Channel;

}

public class Wifi : IWifi

{

private readonly WlanClient _client;

public string Mac;

public List<Wlan.WlanAvailableNetwork> List;

public List<Wlan.WlanBssEntry> BssList;

public Wlan.WlanAvailableNetwork CurrNetwork;

public Wlan.WlanBssEntry CurrBssNetwork;

public Wifi()

{

_client = new WlanClient();

List = new List<Wlan.WlanAvailableNetwork>();

BssList = new List<Wlan.WlanBssEntry>();

}

/// <summary>

/// Отримання списку доступних Wi-Fi мереж

/// </summary>

/// <returns>Список Мереж типу Wlan.WlanAvailableNetwork</returns>

public List<Wlan.WlanAvailableNetwork> GetListOfNetwroks()

{

foreach (var wlanClient in _client.Interfaces)

{

Wlan.WlanAvailableNetwork[] bssEntries = wlanClient.GetAvailableNetworkList(0);

foreach (var wlanAvailableNetwork in bssEntries)

List.Add(wlanAvailableNetwork);

}

return List;

}

/// <summary>

/// Отримання додаткових данних о мережах

/// </summary>

/// <returns>Список мереж тиу Wlan.WlanBssEntry</returns>

public List<Wlan.WlanBssEntry> GetListOfBssNetwroks()

{

foreach (var wlanClient in _client.Interfaces)

{

Wlan.WlanBssEntry[] bssEntries = wlanClient.GetNetworkBssList();

foreach (var wlanAvailableNetwork in bssEntries)

BssList.Add(wlanAvailableNetwork);

}

return BssList;

}

Текст файла Form1.cs

Найменування програми - WifiAnylizer. Автор - Петля Д.І

Дата створення програми - 14.04.2014 р. Номер версії - 1.0

Дата останньої модифікації - 20.06.2014 р.

using System;

using System.Drawing;

using System.Globalization;

using System.Linq;

using System.Windows.Forms;

using System.Windows.Forms.DataVisualization.Charting;

namespace WindowsFormsApplication1

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

/// <summary>

/// Метод який спрацьовуює коли програма запускається та виводить отриманні данні до форми

/// Для цього створюється екземпляр класу Wifi() з якого достаються данні, і записуються до форми

/// </summary>

/// <param name="e"></param>

protected override void OnLoad(EventArgs e)

{

var cl = new Wifi();

foreach (var network in cl.GetListOfNetwroks().Take(5))

{

ListViewItem listItemWiFi = new ListViewItem

{

Text = System.Text.Encoding.ASCII.GetString(network.dot11Ssid.SSID).Trim((char) 0)

};

listItemWiFi.SubItems.Add(network.wlanSignalQuality.ToString(CultureInfo.InvariantCulture));

listItemWiFi.SubItems.Add(

cl.GetListOfBssNetwroks()

.First(

x =>

System.Text.Encoding.ASCII.GetString(x.dot11Ssid.SSID).Trim((char) 0) ==

System.Text.Encoding.ASCII.GetString(network.dot11Ssid.SSID).Trim((char) 0))

.GetMac());

listItemWiFi.SubItems.Add(network.dot11DefaultCipherAlgorithm.ToString());

listItemWiFi.SubItems.Add(

cl.GetListOfBssNetwroks()

.First(

x =>

System.Text.Encoding.ASCII.GetString(x.dot11Ssid.SSID).Trim((char) 0) ==

System.Text.Encoding.ASCII.GetString(network.dot11Ssid.SSID).Trim((char) 0))

.GetChannel()

.ToString());

listView1.Items.Add(listItemWiFi);

}

chart1.Series.Clear();

chart1.ChartAreas[0].AxisY.Minimum = 0;

chart1.ChartAreas[0].AxisY.Maximum = 100;

chart1.ChartAreas[0].AxisX.IsStartedFromZero = true;

chart1.ChartAreas[0].AxisX.Title = "Channelsdfsdfdsf";

chart1.ChartAreas[0].AxisY.Title = "Signal, dB";

chart1.BackColor = Color.Transparent;

chart1.ChartAreas[0].BorderWidth = 460;

chart1.ChartAreas[0].AxisY.MajorGrid.LineColor = Color.LightSlateGray;

chart1.ChartAreas[0].BackColor = Color.Black;

//chart1.ChartAreas[0].AxisX.Minimum = 0;

chart1.ChartAreas[0].AxisX.Maximum = 16;

foreach (var network in cl.GetListOfBssNetwroks().Take(5))

{

var seriesName = System.Text.Encoding.ASCII.GetString(network.dot11Ssid.SSID).Trim((char) 0) + "a";

chart1.Series.Add(seriesName);

chart1.Series[seriesName].ChartType = SeriesChartType.Line;

//chart1.Series[seriesName].Label = seriesName;

//chart1.Series[seriesName].LabelForeColor = Color.White;

chart1.Series[seriesName].BorderWidth = 3;

chart1.Series[seriesName].BorderDashStyle = ChartDashStyle.Solid;

chart1.Series[seriesName].Points.AddXY(network.GetChannel() - 2, 0);

chart1.Series[seriesName].Points.AddXY(network.GetChannel() - 1, network.linkQuality);

chart1.Series[seriesName].Points.AddXY(network.GetChannel() + 1, network.linkQuality);

chart1.Series[seriesName].Points.AddXY(network.GetChannel() + 2, 0);

chart1.Series[seriesName].Points[1].Label = seriesName;

chart1.Series[seriesName].Points[1].LabelForeColor = Color.White;

chart1.Series[seriesName].Color = new Color();

}

/// <summary>

/// Метод для обновлення данних у формі

/// Обновлюється ListView та Chart

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void timer1_Tick(object sender, EventArgs e)

{

listView1.Items.Clear();

var cl = new Wifi();

foreach (var network in cl.GetListOfNetwroks().Take(5))

{

ListViewItem listItemWiFi = new ListViewItem

{

Text = System.Text.Encoding.ASCII.GetString(network.dot11Ssid.SSID).Trim((char) 0)

};

listItemWiFi.SubItems.Add(network.wlanSignalQuality.ToString(CultureInfo.InvariantCulture));

listItemWiFi.SubItems.Add(

cl.GetListOfBssNetwroks()

.First(

x =>

System.Text.Encoding.ASCII.GetString(x.dot11Ssid.SSID).Trim((char) 0) ==

System.Text.Encoding.ASCII.GetString(network.dot11Ssid.SSID).Trim((char) 0))

.GetMac());

listItemWiFi.SubItems.Add(network.dot11DefaultAuthAlgorithm.ToString());

listItemWiFi.SubItems.Add(

cl.GetListOfBssNetwroks()

.First(

x =>

System.Text.Encoding.ASCII.GetString(x.dot11Ssid.SSID).Trim((char) 0)

System.Text.Encoding.ASCII.GetString(network.dot11Ssid.SSID).Trim((char) 0))

.GetChannel()

.ToString());

listView1.Items.Add(listItemWiFi);

}

chart1.Series.Clear();

chart1.ChartAreas[0].AxisY.Minimum = 0;

chart1.ChartAreas[0].AxisY.Maximum = 100;

chart1.ChartAreas[0].AxisX.IsStartedFromZero = true;

chart1.ChartAreas[0].AxisX.Title = "Channel";

chart1.ChartAreas[0].AxisY.Title = "Signal";

chart1.BackColor = Color.Transparent;

chart1.ChartAreas[0].BorderWidth = 460;

chart1.ChartAreas[0].AxisY.MajorGrid.LineColor = Color.LightSlateGray;

chart1.ChartAreas[0].BackColor = Color.Black;

//chart1.ChartAreas[0].AxisX.Minimum = 0;

chart1.ChartAreas[0].AxisX.Maximum = 16;

foreach (var network in cl.GetListOfBssNetwroks().Take(5))

{

var seriesName = System.Text.Encoding.ASCII.GetString(network.dot11Ssid.SSID).Trim((char) 0) + "a";

chart1.Series.Add(seriesName);

chart1.Series[seriesName].ChartType = SeriesChartType.Line;

//chart1.Series[seriesName].Label = seriesName;

//chart1.Series[seriesName].LabelForeColor = Color.White;

chart1.Series[seriesName].BorderWidth = 3;

chart1.Series[seriesName].BorderDashStyle = ChartDashStyle.Solid;

chart1.Series[seriesName].Points.AddXY(network.GetChannel() - 2, 0);

chart1.Series[seriesName].Points.AddXY(network.GetChannel() - 1, network.linkQuality);

chart1.Series[seriesName].Points.AddXY(network.GetChannel() + 1, network.linkQuality);

chart1.Series[seriesName].Points.AddXY(network.GetChannel() + 2, 0);

chart1.Series[seriesName].Points[1].Label = seriesName;

chart1.Series[seriesName].Points[1].LabelForeColor = Color.White;

chart1.Series[seriesName].Color = new Color();

Текст файла Program.cs

Найменування програми - WifiAnylizer. Автор - Петля Д.І

Дата створення програми - 14.04.2014 р. Номер версії - 1.0

Дата останньої модифікації - 20.06.2014 р.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace WindowsFormsApplication1

{

static class Program

{

/// <summary>

/// Головна точка входу у програму

/// </summary>

[STAThread]

static void Main()

{

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

Application.Run(new Form1());

}

Размещено на Allbest.ru


Подобные документы

  • Статистичний огляд ринку праці в ІТ-галузі в Україні. Математичні, економетричні методи, моделі в аналізу ІТ-ринку праці. Оцінка людського капіталу. Динаміка оплати праці за декілька останніх років. Структура вакансій розробників програмного забезпечення.

    дипломная работа [457,3 K], добавлен 12.10.2015

  • Огляд Windows 95/98: загальні відомості, аналіз файлової системи. Розробка програми, що виконує всі основні функції файлового менеджера та може використовуватись як повноцінний програмний продукт даного типу. Установка та умови застосування програми.

    курсовая работа [360,6 K], добавлен 17.10.2013

  • Реалізація, за допомогою технології Windows Forms, програми обліку даних про волонтерів та подій, на які вони зареєстровані. можливості об'єктно-орієнтованого програмування. Створення класів. Методи, властивості. Використання Multiple Document Interface.

    курсовая работа [1,5 M], добавлен 02.12.2015

  • Характеристика предметної області: FTP-server для ОС Windows. Шляхи встановлення FTP-серверу в ОС Windows. Опис мови та середовища програмування, компонентів та функцій програми. Аналіз реалізованої програми FTP-клієнта. Тестовий запуск та опис програми.

    курсовая работа [1,7 M], добавлен 22.06.2017

  • Комплексна обробка просторово-розподілених ресурсів мережі Інтернет. Системи інформаційного моніторингу в мережі. Обґрунтування технологій, розробка системи інтеграції Інтернет-контенту для конкурентного середовища ринку праці. Оцінювання систем аналізу.

    дипломная работа [763,8 K], добавлен 14.07.2013

  • Програма на мові програмування С++. Аналіз стану технологій програмування та обґрунтування теми. Розробка програми виконання завдання, методу вирішення задачі. Робота з файлами, обробка числової інформації і робота з графікою. Розробка програми меню.

    курсовая работа [41,0 K], добавлен 17.02.2009

  • Розробка структурної схеми системи управління, головні вимоги до основних елементів. Обґрунтування та вибір елементної бази. Блок-схема алгоритму і програми реалізації закону управління (лістинг програми). Зміст програми керування мікроконтроллером.

    курсовая работа [170,7 K], добавлен 28.08.2012

  • Вибір та обґрунтування компонентів мережі, клієнтської частини, комунікаційного обладнання та прикладного програмного забезпечення. Опис фізичної та логічної структури мережі. Принципова схема топології мережі та cхема логічної структури мережі.

    курсовая работа [487,4 K], добавлен 16.02.2015

  • Розробка програми калькулятора, що може виконувати найголовніші арифметичні операції над двома числами. Вимоги до апаратного і програмного забезпечення. Опис форм та компонентів програми. Розробка алгоритмів програмного забезпечення. Опис коду програми.

    курсовая работа [57,1 K], добавлен 31.05.2013

  • Поняття мови програмування С++, її сутність та особливості, призначення та використання. Структура програми, її основні елементи та загальні правила роботи. Охорона праці при роботі з обчислювальною технікою. Апаратні вимоги для виконання програми.

    курсовая работа [126,2 K], добавлен 29.03.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.