Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metodichka.doc
Скачиваний:
62
Добавлен:
16.05.2015
Размер:
2.13 Mб
Скачать

Список посилань

1. http://www.arduino.cc/

2. http://www.linuxcenter.ru/shop/embedded/arduino/Arduino_Diecimila_microcontroller_board_ ATmega168/

3. http://wiring.org.co/

4. http://www.processing.org/

5. http://www.efo.ru/doc/Ftdi/Ftdi.pl?2454

Контрольні запитання

1. Для чого встановлюються пристрої: “USB Serial Converter” та “USB Serial Port”?

2. Опишіть вирішення проблемної ситуації: замість світлодіода до цифрового контакту 13 слід під'єднати потужний споживач струму.

3. Як перевірити правильність програми, без завантаження до макета?

4. Які дії потрібно виконати, якщо випливає надпис про помилку протокола завантаження програми в макет?

5. Як завантажити готову програму у макет?

Лабораторна робота № 2

Дослідження криптографічних алгоритмів шифрування сигналів

Мета. Моделювання методів шифрування сигналів.

Теоретичні відомості

Із доповненням Arduino Ethernet Shield, можливо під'єднання плати Arduino Diecimila до локальної мережі. Тоді ця плата може слугувати як сервер для оброблення вхідних з'єднань. Для початку роботи необхідно у тілі функції setup() провести ініціалізацію бібліотеки ethernet та мережевих налаштувань:

void setup()

{

Ethernet.begin(mac, ip);

}

Можливий такий синтаксис функції:

Ethernet.begin(mac, ip);

Ethernet.begin(mac, ip, gateway);

Ethernet.begin(mac, ip, gateway, subnet);

де, mac — MAC адреса для пристрою (масив із байт);

ip — IP адреса пристрою (масив із 4 байт);

gateway — IP адреса мережевого шлюзу (масив із 4 байт). Опція: за замовчуванням це пристрій, у якого останній октет установлений у 1.

subnet — маска підмережі (масив із 4 байт). Опція: за замовчуванням установлюється у 255.255.255.0

Приклад:

#include <Ethernet.h>

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

byte ip[] = { 10, 0, 0, 177 };

void setup()

{

Ethernet.begin(mac, ip);

}

void loop {}

Для виконання різних функцій необхідно створити екземпляр класу Client або Server.

Синтаксис для Client:

Client(ip, port) — створює клієнта для підключення до вказаної ІР адреси із вказаним портом.

Синтаксис для Server:

Server(port) — створює сервер, який прослуховує вказані порти.

Хід роботи

1. Запустити програму Arduino Environment.

2. Встановити додаток Arduino Ethernet Shield:

Рисунок 10 – Додатковий пристрій для моделювання роботи сервера

Рисунок 11 – Зовнішній вигляд готового макету для моделювання роботи сервера

2. Увести та проаналізувати такий код (для роботи екземпляра класа Client):

#include <Ethernet.h>

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

byte ip[] = { 10, 0, 0, 177 };

byte server[] = { 64, 233, 187, 99 }; // Google

Client client(server, 80);

void setup()

{

Ethernet.begin(mac, ip);

Serial.begin(9600);

delay(1000);

Serial.println("connecting...");

if (client.connect()) {

Serial.println("connected");

client.println("GET /search?q=arduino HTTP/1.0");

client.println();

} else {

Serial.println("connection failed");

}

}

void loop()

{

if (client.available()) {

char c = client.read();

Serial.print(c);

}

if (!client.connected()) {

Serial.println();

Serial.println("disconnecting.");

client.stop();

for(;;)

;

}

}

3. Увести та проаналізувати такий код (для роботи екземпляра класу Server):

#include <Ethernet.h>

// network configuration. gateway and subnet are optional.

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

byte ip[] = { 10, 0, 0, 177 };

byte gateway[] = { 10, 0, 0, 1 };

byte subnet[] = { 255, 255, 0, 0 };

// telnet defaults to port 23

Server server = Server(23);

void setup()

{

// initialize the ethernet device

Ethernet.begin(mac, ip, gateway, subnet);

// start listening for clients

server.begin();

}

void loop()

{

Client client = server.available();

if (client) {

server.write(client.read());

}

}

4. Зробити звіт та надати його викладачу.