- •Методичні вказівки
- •Методичні вказівки
- •Зміст дисципліни
- •Завдання до контрольної роботи Завдання № 1
- •Завдання № 2
- •Завдання № 3
- •Вимоги до оформлення контрольної роботи
- •Запитання до іспиту
- •Хід роботи
- •Список посилань
- •Хід роботи
- •Контрольні запитання
- •Хід роботи
- •Хід роботи
- •Контрольні запитання
- •Лабораторна робота № 5 Вивчення криптографічних методів кодування інформації
- •Теоретичні відомості
- •Хід роботи
- •Контрольні запитання
- •Список літератури
- •21021, М. Вінниця, Хмельницьке шосе, 95,
- •21021, М. Вінниця, Хмельницьке шосе, 95,
- •Ключові слова
Список посилань
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. Зробити звіт та надати його викладачу.