Arduino:Примеры/HTTPClient: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
м (Замена текста — «<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">» на «<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">»)
 
Нет описания правки
Строка 22: Строка 22:
Подключаем библиотеки '''Bridge''' и '''HttpClient'''.
Подключаем библиотеки '''Bridge''' и '''HttpClient'''.


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
#include <Bridge.h>
#include <Bridge.h>
#include <HttpClient.h>
#include <HttpClient.h>
Строка 29: Строка 29:
В секции setup() инициализируем '''Bridge''' и ждем активации последовательной передачи данных.
В секции setup() инициализируем '''Bridge''' и ждем активации последовательной передачи данных.


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
void setup() {
void setup() {
   pinMode(13, OUTPUT);
   pinMode(13, OUTPUT);
Строка 41: Строка 41:
В секции loop() создаем экземпляр класса '''HttpClient''' и вызываем '''URL''' при помощи функции client.get(url).
В секции loop() создаем экземпляр класса '''HttpClient''' и вызываем '''URL''' при помощи функции client.get(url).


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
void loop() {
void loop() {
   HttpClient client;
   HttpClient client;
Строка 49: Строка 49:
Покуда в клиентском буфере есть какие-нибудь данные, пришедшие от сервера, считываем их и выводим на '''Serial Monitor'''. Повторяем операцию каждые '''5 секунд'''.
Покуда в клиентском буфере есть какие-нибудь данные, пришедшие от сервера, считываем их и выводим на '''Serial Monitor'''. Повторяем операцию каждые '''5 секунд'''.


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
while (client.available()) {
while (client.available()) {
     char c = client.read();
     char c = client.read();
Строка 62: Строка 62:
Весь скетч полностью – ниже:
Весь скетч полностью – ниже:


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
#include <Bridge.h>
#include <Bridge.h>
#include <HttpClient.h>
#include <HttpClient.h>

Версия от 18:19, 14 мая 2023

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


HTTP-клиент[1]

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

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

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

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

Цепь

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

Код

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

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

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

void setup() {
  pinMode(13, OUTPUT);
  digitalWrite(13, LOW);
  Bridge.begin();
  Serial.begin(9600);
  while(!Serial);
}

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

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

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

while (client.available()) {
    char c = client.read();
    Serial.print(c);
  }
  Serial.flush();

  delay(5000);
}

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

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

void setup() {
  pinMode(13, OUTPUT);
  digitalWrite(13, LOW);
  Bridge.begin();
  Serial.begin(9600);
  while(!Serial);
}

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

  while (client.available()) {
    char c = client.read();
    Serial.print(c);
  }
  Serial.flush();

  delay(5000);
}

См.также

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