Arduino:Примеры/HttpClientConsole
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Загрузка логотипа при помощи модуля Arduino Yun Shield[1]
Этот пример для Arduino Yun Shield демонстрирует, как создать простой HTTP-клиент, способный подключаться к интернету и загружать контент. В данном случае мы подключимся к сайту Arduino и загрузим логотип в виде ASCII-текста. Результат будет показан в консоли IDE Arduino, а передаваться будет через WiFi-соединение (не через USB).
Запрограммировав плату, зайдите в меню Инструменты > Порт (Tools > Port) и выберите нужный IP-адрес, а затем откройте монитор порта.
Необходимое оборудование
- Плата или модуль Yun
- Беспроводное соединение с интернетом
Цепь
Для этого примера цепи строить не нужно.
Код
Подключаем библиотеки Bridge, HttpClient и Console.
#include <Bridge.h>
#include <HttpClient.h>
#include <Console.h>
В блоке setup() запускаем Bridge и перед переходом в блок loop() ждем инициализации последовательного подключения.
void setup() {
pinMode(13, OUTPUT);
digitalWrite(13, LOW);
Bridge.begin();
Console.begin();
while(!Console);
}
В блоке loop() создаем именованный экземпляр класса HttpClient, а затем при помощи функции client.get() вызываем нужный URL.
void loop() {
HttpClient client;
client.get("http://www.arduino.cc/asciilogo.txt");
Если в буфере есть какие-нибудь байты, пришедшие от сервера, считываем их и выводим на монитор порта. Повторяем это каждые пять секунд.
while (client.available()) {
char c = client.read();
Console.print(c);
}
Console.flush();
delay(5000);
}
Весь скетч полностью смотрите ниже.
/*
HTTP-клиент для Arduino Uno и Mega при помощи Yún Shield
Этот пример для Yún101/YunShield/Yún показывает, как создать
простой HTTP-клиент, способный подключаться к интернету и загружать
контент. В данном случае мы подключимся к сайту Arduino и загрузим
ASCII-версию логотипа Arduino.
Создан Томом Иго (Tom Igoe) в мае 2013 года,
модифицирован Марко Брианзой (Marco Brianza) для использования
консоли
Этот код не защищен авторским правом.
http://www.arduino.cc/en/Tutorial/HttpClient
*/
#include <Bridge.h>
#include <HttpClient.h>
#include <Console.h>
void setup() {
// Запуск Bridge требует около 2 секунд, поэтому есть смысл
// воспользоваться встроенный светодиодом как индикатором
// инициализации библиотеки:
pinMode(13, OUTPUT);
digitalWrite(13, LOW);
Bridge.begin();
digitalWrite(13, HIGH);
Console.begin();
while (!Console); // ждем последовательного подключения:
}
void loop() {
// инициализируем HttpClient:
HttpClient client;
// делаем HTTP-запрос:
client.get("http://www.arduino.cc/asciilogo.txt");
// если от сервера доступны какие-нибудь входящие байты,
// считываем их и выводим на монитор порта:
while (client.available()) {
char c = client.read();
Console.print(c);
}
Console.flush();
delay(5000);
}