Освой Arduino играючи

Сайт Александра Климова

Шкодим

/* Моя кошка замечательно разбирается в программировании. Стоит мне объяснить проблему ей - и все становится ясно. */
John Robbins, Debugging Applications, Microsoft Press, 2000

Библиотека aREST

Забавное название библиотеки для русского уха aREST позволяет легко реализовать REST API для Arduino & ESP8266 WiFi. Вы можете легко обмениваться между устройствами через WiFi, Bluetooth, USB и даже через облако. Кроме Arduino поддерживается также Raspberry PI и ESP8266.

Главная страница - aREST

Исходные коды библиотеки на Гитхабе - GitHub - marcoschwartz/aREST: A RESTful environment for Arduino

Подключаем библиотеку следующим образом. Старый способ: На Гитхабе выбираем кнопку Clone or download, далее выбираем Download ZIP и загружаем архив на свой компьютер. Распаковываем архив и переименовываем папку в aREST. Копируем папку в папку libraries вашей среды разработки Arduino IDE. При запуске IDE выбираем File | Examples | aREST и изучаем поставляемые примеры.

Новый способ: Открываем меню Library | Include Library | Manage Libraries и ищем библиотеку под именем aREST и нажимаем кнопку Install. Открываем File | Examples | aREST и изучаем поставляемые примеры.

Базовый пример

Рассмотрим простейший пример, не требующий никаких усилий. Пример рассчитан на подключение платы Arduino к компьютеру через USB.

Скетч


#include <SPI.h>
#include <aREST.h>

aREST rest = aREST();

void setup() {
  Serial.begin(115200);

  rest.set_id("1");
  rest.set_name("serial");
}

void loop() {
  rest.handle(Serial);
}

Запустите пример, затем откройте окно Serial Monitor и в нижней части окна установите скорость 115200, а также выберите режим Carriage Return.

Введите команду:

/mode/13/o

Команда включит порт 13 со встроенным светодиодом в режим OUTPUT. В окне монитора появится сообщение:

{"message": "Pin D13 set to output", "id": "1", "name": "serial", "hardware": "arduino", "connected": true}

Далее введите команду:

/digital/13/1

Данная команда запускает функцию digitalWrite(), которая обращается к порту 13 со значением 1. В результате светодиод должен загореться. Появится следующее сообщение:

{"message": "Pin D13 set to 1", "id": "1", "name": "serial", "hardware": "arduino", "connected": true}

Если вы получили эти результаты, значит библиотека работает корректно.

aREST

Можете изучать другие примеры.

Например, хотим узнать значение из аналогового вывода A0. Если он не подключён, то будет возвращать случайное число от 0 до 1023.

/analog/0

{"message": "Pin D13 set to 1", "id": "1", "name": "serial", "hardware": "arduino", "connected": true}

Реклама