Arduino:Библиотеки/Bridge

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

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


Библиотека Bridge (для устройств Yun)[1]

В плату Yun встроено два процессора. Один из них – это ATmega32U4, и он сродни тому, что стоит на Arduino Leonardo. Второй – это Atheros 9331, работающий на Linux-дистрибутиве OpenWRT и позволяющий плате подключаться к сетям WiFi и Ethernet. Кроме того, через Arduino на Linux можно вызывать программы и специальные скрипты, чтобы подключаться к различным интернет-устройствам. Модуль Yun Shield обладает той же архитектурой и функциями, но это именно модуль, поэтому его нужно подключать к плате, вследствие чего микроконтроллер будет подключен к процессору Atheros через аппаратный последовательный порт.

Библиотека Bridge упрощает коммуникацию между ATmega32U4 – или платой, если вы используете модуль – и AR9331. Интерпретация команд Bridge, идущих от микроконтроллера платы на AR9331, выполняется на Python.

Основные задачи, выполняемые процессором AR9331, это:

  1. выполнение программ на GNU/Linux при запросе с Arduino,
  2. обеспечение места для хранения данных вроде показаний датчиков, общего для Arduino и интернета,
  3. получение команд из интернета и их передача напрямую на Arduino.

Библиотека Bridge позволяет осуществлять коммуникацию в обоих направлениях, служа интерфейсом для командной строки Linux. Коротко о терминале и выполнении команд на Linux читайте тут.

Более подробно о семействе плат Arduino Yun читайте тут, а о модуле Yun Shieldтут.

Структура библиотеки

  • Класс Process – используется для запуска на процессоре Linux различных процессов, а также, к примеру, shell-скриптов
  • Класс Console – используется для коммуникации с монитором порта в IDE Arduino (через оболочку). Функционально очень похож на класс Serial
  • Класс FileIO – интерфейс с файловой системой Linux. Используется для считывания/записи файлов на SD-карту или на USB-память (если вы используете модуль Yun Shield)
  • Класс HTTPClient – создает HTTP-клиента на Linux. Работает как надстройка (посредством расширения Process) для традиционных CURL-команд
  • Класс Mailbox – асинхронный интерфейс для коммуникации между Linux и Arduino, но не использующий сессии
  • Класс BridgeClient – HTTP-клиент Arduino, сделанный по образцу класса EthernetClient
  • Класс BridgeServer – HTTP-сервер Arduino, сделанный по образцу класса EthernetServer

Платформа Temboo – упрощает подключение к множеству различных онлайн-инструментов. Более подробно о Temboo читайте тут

Функции

Примеры

  • Bridge – Доступ к контактам платы через веб-браузер.
  • Console ASCII Table – Демонстрирует, как выводить на консоль символы в разных форматах.
  • Console Pixel – Управление светодиодом при помощи консоли.
  • Console Read – Анализ информации, пришедшей через консоль, а затем отправка ее обратно.
  • Datalogger – Сохранение информации от датчика на SD-карте.
  • File Write Script – Демонстрирует, как при помощи класса Process записывать shell-скрипт в файловую систему Yun, а затем исполнять его.
  • HTTP Client – Создает простой клиент, который загружает веб-страницу и выводит ее на монитор порта
  • HTTP Client Console – Создает простой клиент, который загружает веб-страницу и выводит ее на монитор порта через WiFi при помощи класса Console
  • Mailbox Read Messages – отправляет процессору Arduino текстовые сообщения через браузер и при помощи REST API.
  • Process – Демонстрирует, как использовать класс Process для запуска Linux-команд.
  • Remote Due Blink – Демонстрирует, как удаленно загружать скетчи на платы Due
  • Shell Commands – Использует класс Process для запуска shell-команд.
  • Temperature Web Panel – После запроса через браузер постит на веб-странице данные от датчика.
  • TimeCheck – Берет информацию о текущем времени от сетевого сервера времени, а затем выводит ее на Serial Monitor.
  • WiFiStatus – Запускает преднастроенный скрипт, который в ответ сообщает о мощности сигнала в текущей WiFi-сети.
  • Yun First Config – Подключает устройство Yun к WiFi-сети при помощи монитора порта и нескольких простых вопросов.
  • Yun Serial Terminal – Доступ к Linux Terminal через Serial Monitor.

См.также

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