Розробка технічної частини програми аналізу мережі 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