Arduino:Библиотеки/Webduino
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Библиотека Webduino[1][2][3]
Библиотека Webduino – это расширенная веб-серверная библиотека для Arduino, разработанная для класса в хакерспейсе NYC Resistor и выпущенная под лицензией MIT, которая разрешает все виды повторного использования. Для использования библиотеки необходим Ethernet-модуль на базе Wiznet. Англоязычную (и незаконченную) презентацию, посвященную Webduino, можно посмотреть по этой ссылке.
В библиотеке Webduino имеется функционал для следующих задач:
- Анализ параметров URL
- Обработка следующих HTTP-методов: GET, HEAD, POST, PUT, DELETE, PATCH
- Работа с веб-формами
- Работа с изображениями
- Работа с интерфейсом JSON/RESTful
- Базовая HTTP-аутентификация
Примечания к установке
Для Arduino 0016 и ранее поместите файл WebServer.h в папку hardware/libraries/webduino в директории, где находится IDE Arduino. Для Arduino 0017 и позже поместите папку Webduino в папку «libraries», которая находится в папке со скетчами (на Windows это папка «Arduino», которая находится в папке с документами).
Примеры можно положить в вашу собственную папку со скетчами или, если предпочитаете, в папку hardware/libraries/webduino/examples.
Если при компиляции примеров возникает ошибка вроде «WebServer.h not found», это значит, что вы не в то место поместили папку Webduino. Сервер не будет работать, если заголовочный файл находится прямо в папке с библиотеками.
Дополнительные библиотеки
Библиотека Streaming упрощает вывод сложных данных при помощи классов, наследующих у Print. Самая простейшая форма этого метода представлена в скетче-примере Web_Demo в виде шаблона operator <<.
Библиотека Ethernet 2, которая является переписанной версией оригинальной библиотеки Ethernet. Она по-прежнему служит тому, чтобы плата могла «разговаривать» с Ethernet-модулем, но теперь работает лучше и требует меньше программного места.
Замена файла Client.cpp в папке Hardware/Library/Ethernet для Arduino 15. Он также используется вместе с Ethernet 2. Делает соединение с сервером более надежным. Будем надеяться, он вскоре станет официальной частью ядра Arduino.
Как использовать?
Поместите копию WebServer.h в папку со скетчами. В самом верху скетча впишите
#include "Webserver.h"
Далее объявите объект WebServer, а также убедитесь, что в блоке setup() вписана функция begin(), а в блоке loop() – функция processConnection().
Функции
- WebServer(urlPrefix, int port)
- begin()
- processConnection(buffer, bufferLen)
- processConnection()
- setDefaultCommand(cmd)
- setFailureCommand(cmd)
- addCommand(verb, cmd)
- print(...)
- printCRLF()
- printP(progStr)
- write(data, length)
- writeP(progData, length)
- readPOSTparam(name, nameLen, value, valueLen)
- nextURLparam(tail, name, nameLen, value, valueLen)
- radioButton(name, val, label, selected)
- checkBox(name, val, label, selected)
- int read()
- push(ch)
- bool expect(expectedStr)
- httpFail()
- httpSuccess(contentType, extraHeaders)
- httpSeeOther(otherURL)
Примеры
- Web AjaxBuzzer - Управление зуммером через браузерный интерфейс (AJAX)
- Web AjaxRGB - Управление RGB-светодиодом через браузерный интерфейс
- Web AjaxRGB mobile - Управление RGB-светодиодом при помощи смартфона
- Web Authentication - HTTP-аутентификация
- Web Buzzer - Управление зуммером через браузерный интерфейс
- Web Demo - Запрос значений на контактах через браузерный интерфейс
- Web HelloWorld - Показ в браузере надписи «Hello, World!»
- Web Image - Показ в браузере иконки со светодиодом
- Web Net Setup - Браузерный интерфейс для настройки сети
- Web Parms - Передача и анализ параметров