Універсальний web-сервер на Arduino
Універсальний web-сервер на Arduino
Цей сервер зберігає HTML файли та малюнки на SD-карті. Для його функціонування потрібний Ethernet Shield W5100 (схема), який встановлюється за допомогою роз'ємів на контролері Arduino.

Рис.1. Arduino Ethernet Shield W5100
Arduino Ethernet Shield дозволяє підключити плату Arduino до мережі. Вона заснована на Ethernet-мікросхемі Wiznet W5100. Wiznet W5100 підтримує стеки TCP/IP та UDP в IP-мережі. Він підтримує до чотирьох одночасних підключень до сокетів. Для створення скетчів (програм), які підключають Arduino до мережі за допомогою плати, використовується бібліотека Ethernet. Ця платня з'єднується з платою Arduino за допомогою довгих штирьків, що проходять через неї. Це дозволяє не змінювати розташування висновків та встановлювати інші плати поверх неї. Плата Ethernet Shield має стандартний роз'єм RJ-45.
Останні версії плати мають роз'єм для карт типу micro-SD, які можуть використовуватися для зберігання файлів та роботи з ними через мережу. Плата сумісна також з Arduino Uno та Mega (при використанні бібліотеки Ethernet library). Роз'єм microSD доступний за допомогою бібліотеки SD Library. При застосуванні цієї бібліотеки висновок Arduino 4 використовується для сигналу SS (Slave Select).
Останні версії плати мають покращене скидання, що дозволяє бути впевненим у перезапуску W5100 після включення. Попередні версії плати були несумісні з Arduino Mega і вимагали також ручного скидання після увімкнення шляхом натискання клавіші RESET. При підключенні комп'ютера через адаптер FTDI-USB, Arduino та Ethernet Shield отримують живлення від адаптера.
Arduino здійснює зв'язок з W5100 та картою SD за допомогою шини SPI (через роз'єм ICSP header). Ця шина розташована на висновках 11, 12, і13 плати Arduino UNO та висновків 50, 51, та 52 Arduino Mega. На обох платах висновок № 10 використовується для вибору W5100, а введення № 4 – для картки SD. Ці висновки не можуть бути використані для іншого введення-виводу. На платі Mega апаратний висновок SS № 53 не використовується для вибору ні W5100, ні карти SD, але він повинен бути налаштований на висновок, інакше інтерфейс SPI може не працювати.
Мікросхема W5100 та карта SD поділяють шину SPI, тому одночасно вони працювати не можуть. Якщо використовуються обидва ці периферійні пристрої в програмі, слід використовувати відповідні бібліотеки. Якщо не використовується жодний із цих периферійних пристроїв, слід явно відключити їх. Щоб це зробити, необхідно налаштувати висновок плати № 4 для SD як вихід і записати в нього "1". Для W5100 необхідно встановити на виведенні №10 також "1".
Нижче наведено текст програми універсального web-сервера