Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

Arduino:Примеры/HTTPClient

Материал из Онлайн справочника
Перейти к: навигация, поиск

Перевод: Максим Кузьмин (Cubewriter)
Перевел 2686 статей для сайта.

Контакты:

Проверка/Оформление/Редактирование: Мякишев Е.А.


HTTP-клиент[1]

Этот пример для Arduino Yun показывает, как создать базовый HTTP-клиент, который будет подключатся к интернету и загружать некоторый контент. В данном случае вы будете подключаться в сайту Arduino и загружать логотип Arduino, выполненный в ASCII-символах.

Запрограммировав Yun, откройте среду разработки Arduino, а в ней – Serial Monitor.

Необходимое оборудование

  • Плата Arduino Yun;
  • Беспроводное соединение с интернетом;

Цепь

Для этого примера цепи строить не нужно.

Код

Подключаем библиотеки Bridge и HttpClient.

  1. #include <Bridge.h>
  2. #include <HttpClient.h>

В секции setup() инициализируем Bridge и ждем активации последовательной передачи данных.

  1. void setup() {
  2.   pinMode(13, OUTPUT);
  3.   digitalWrite(13, LOW);
  4.   Bridge.begin();
  5.   Serial.begin(9600);
  6.   while(!Serial);
  7. }

В секции loop() создаем экземпляр класса HttpClient и вызываем URL при помощи функции client.get(url).

  1. void loop() {
  2.   HttpClient client;
  3.   client.get("http://arduino.cc/asciilogo.txt");

Покуда в клиентском буфере есть какие-нибудь данные, пришедшие от сервера, считываем их и выводим на Serial Monitor. Повторяем операцию каждые 5 секунд.

  1. while (client.available()) {
  2.     char c = client.read();
  3.     Serial.print(c);
  4.   }
  5.   Serial.flush();
  6.  
  7.   delay(5000);
  8. }

Весь скетч полностью – ниже:

  1. #include <Bridge.h>
  2. #include <HttpClient.h>
  3.  
  4. void setup() {
  5.   pinMode(13, OUTPUT);
  6.   digitalWrite(13, LOW);
  7.   Bridge.begin();
  8.   Serial.begin(9600);
  9.   while(!Serial);
  10. }
  11.  
  12. void loop() {
  13.   HttpClient client;
  14.   client.get("http://arduino.cc/asciilogo.txt");
  15.  
  16.   while (client.available()) {
  17.     char c = client.read();
  18.     Serial.print(c);
  19.   }
  20.   Serial.flush();
  21.  
  22.   delay(5000);
  23. }

См.также

Внешние ссылки

  1. Arduino - HTTP Client