Arduino:Примеры/Web HelloWorld
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Показ в браузере надписи «Hello, World!»[1]
Этот пример демонстрирует, как при помощи библиотеки Webduino отобразить в окне браузера надпись «Hello, World!»
Код
/* Показ в браузере надписи «Hello, World!» (Webduino) */
#include "SPI.h"
#include "Ethernet.h"
#include "WebServer.h"
/* ПОСТАВЬТЕ ЗДЕСЬ СОБСТВЕННОЕ ЗНАЧЕНИЕ. MAC-адрес должен отличаться
* от других девайсов в сети. Если MAC-адрес Ethernet-модуля совпадет
* с другим MAC-адресом, это повлечет проблемы с получением пакетов.
*/
static uint8_t mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
/* ВЫСТАВЬТЕ ТУТ ЗНАЧЕНИЕ, СООТВЕТСТВУЮЩЕЕ СЕТИ ВАШЕГО ХОСТА.
* Большинство сетей находятся в диапазонах 192.168.0.XXX
* или 192.168.1.XXX. Выберите адрес, который не используется
* и не присваивается автоматически DHCP-сервисом, к которому
* подключен ваш роутер.
*/
static uint8_t ip[] = { 192, 168, 1, 210 };
/* Это создает экземпляр веб-сервера. Как PREFIX указываем "",
* благодаря чему все страницы будут в корне сервера. */
#define PREFIX ""
WebServer webserver(PREFIX, 80);
/* Команды – это функции, вызываемые веб-сервером. Они могут считывать
// любые данные, опубликованные клиентом, и передавать их обратно от
// сервера к браузеру.
*/
void helloCmd(WebServer &server, WebServer::ConnectionType type, char *, bool)
{
/* отправляем стандартное сообщение, что запрос был успешным. */
server.httpSuccess();
/* Если получили GET или POST, то показываем данные.
Если получили HEAD request, останавливаемся после
показа заголовков */
if (type != WebServer::HEAD)
{
/* Записываем HTML-текст в PROGMEM (память только для считывания).
* Это нужно для того, чтобы не загружать лишними строками
* оперативную (RAM) память. */
P(helloMsg) = "<h1>Hello, World!</h1>";
/* Специальная функция для того, чтобы выводить текст из PROGMEM
*/
server.printP(helloMsg);
}
}
void setup()
{
/* Инициализируем Ethernet-модуль */
Ethernet.begin(mac, ip);
/* Указываем команду, которая будет запускаться, когда пользователь
* получит доступ к корневой странице сервера. */
webserver.setDefaultCommand(&helloCmd);
/* Запускаем ту же команду, если пользователь пытается
* загрузить /index.html – эта страница, как правило, считается
* на сайте самой главной. */
webserver.addCommand("index.html", &helloCmd);
/* Запускаем веб-сервер. */
webserver.begin();
}
void loop()
{
char buff[64];
int len = 64;
/* Вечно обрабатываем входящие соединения (по одному за раз) */
webserver.processConnection(buff, &len);
}
См.также
Внешние ссылки
Arduino продукты | |
---|---|
Начальный уровень | Arduino Uno • Arduino Leonardo • Arduino 101 • Arduino Robot • Arduino Esplora • Arduino Micro • Arduino Nano • Arduino Mini • Arduino Starter Kit • Arduino Basic Kit • MKR2UNO • TFT-дисплей Arduino |
Продвинутые функции | Arduino Mega 2560 • Arduino Zero • Arduino Due • Arduino Mega ADK • Arduino Pro • Arduino Motor Shield • Arduino USB Host Shield • Arduino Proto Shield • MKR Proto Shield • MKR Proto Large Shield • Arduino ISP • Arduino USB 2 Serial Micro • Arduino Mini USB Serial Adapter |
Интернет вещей | Arduino Yun • Arduino Ethernet • Arduino MKR1000 • Arduino WiFi 101 Shield • Arduino GSM Shield V2 • Arduino WiFi Shield • Arduino Wireless SD Shield • Arduino Wireless Proto Shield • Arduino Ethernet Shield V2 • Arduino Yun Shield • Arduino MKR1000 Bundle |
Носимые устройства | Arduino Gemma • Lilypad Arduino Simple • Lilypad Arduino Main Board • Lilypad Arduino USB • LilyPad Arduino SimpleSnap |
3D-печать | Arduino Materia 101 |
Устаревшие устройства | - |
Примеры Arduino | |
---|---|
Стандартные функции | |
Основы |
|
Цифровой сигнал |
|
Аналоговый сигнал |
|
Связь |
|
Управляющие структуры |
|
Датчики |
|
Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
Строки |
|
USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
Клавиатура |
|
Мышь |
|
Разное |
Категории:
- Страницы, использующие повторяющиеся аргументы в вызовах шаблонов
- Справочник языка Arduino
- Arduino
- Перевод от Сubewriter
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Пример
- Примеры
- Пример программирования Arduino
- Примеры программирования Arduino