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 - Передача и анализ параметров
См.также
Внешние ссылки
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.
|
Клавиатура |
|
Мышь |
|
Разное |