Arduino Yun
Примечание
Эта страница относится к продукту, который снят с производства.
Arduino YUN — идеальная плата для проектирования подключённых устройств и, в более широком смысле, проектов Интернета вещей. Она сочетает мощь Linux с простотой использования Arduino.
Arduino Yun — это плата микроконтроллера на базе ATmega32u4 и Atheros AR9331. Процессор Atheros поддерживает дистрибутив Linux на основе OpenWrt под названием Linino OS. Плата имеет встроенную поддержку Ethernet и WiFi, USB-A порт, слот для карт micro-SD, 20 цифровых выводов ввода/вывода (7 из которых могут использоваться как выходы ШИМ и 12 как аналоговые входы), кварцевый генератор 16 МГц, разъём micro USB, разъём ICSP и 3 кнопки сброса.
Предупреждение
В некоторых странах продажа устройств с WiFi без государственного разрешения запрещена. В ожидании надлежащей сертификации некоторые местные дистрибьюторы отключают функциональность WiFi. Уточните у вашего продавца перед покупкой Yun, если вы считаете, что живёте в такой стране.
Yun отличается от других плат Arduino способностью взаимодействовать с дистрибутивом Linux на борту, предлагая мощный сетевой компьютер с простотой Arduino. Помимо команд Linux, таких как cURL, вы можете писать собственные скрипты shell и Python для надёжного взаимодействия. Yun похож на Leonardo с ATmega32u4, за исключением того, что на нём установлен Linux (имеет встроенную USB-связь, устраняющую необходимость во вторичном процессоре).
Примечание
Yun Release 5: новый Arduino Yun R5 существенно отличается от предыдущей версии следующими особенностями:
Система питания обеспечивает 5 В на AREF.
Компоновка была изменена: добавлены два отверстия для USB-сигналов и два отверстия для GP6 и GPIO13(LED2).
Начало работы
В разделе «Начало работы» вы найдёте всю информацию, необходимую для настройки платы. Готовы начать? Если вы купили Arduino Yun до октября 2014 года, ознакомьтесь со страницей начала работы Yun Open WRT OS; если после 2015 года — со страницей начала работы Arduino Yun Linino OS.
Предупреждение
Arduino YUN несовместим с модулем PoE 12 В.
Документация
OSH: Схемы
Arduino Yun — это оборудование с открытым исходным кодом! Вы можете собрать свою собственную плату, используя следующие файлы:
Питание
Рекомендуется питать плату через разъём micro-USB напряжением 5 В постоянного тока. Если вы питаете плату через вывод Vin, необходимо подавать стабилизированное напряжение 5 В постоянного тока. На плате нет встроенного стабилизатора напряжения для более высоких напряжений, что приведёт к повреждению платы.
Yun также совместим с питанием PoE, но для использования этой функции необходимо установить модуль PoE на плату или приобрести предварительно собранную плату.
Примечание
Ранние модели Yun с адаптером PoE ошибочно подавали на плату 12 В. Обновлённая версия с ожидаемым напряжением 5 В скоро будет предоставлена дистрибьюторам. Если вы считаете, что у вас неправильный адаптер PoE, обратитесь в службу поддержки.
Выводы питания следующие:
VIN. Входное напряжение платы Arduino. В отличие от других плат Arduino, если вы собираетесь питать плату через этот вывод, необходимо подавать стабилизированное напряжение 5 В.
5V. Источник питания, используемый для питания микроконтроллеров и других компонентов на плате. Может поступать либо от VIN, либо от USB.
3V3. Источник напряжения 3,3 В, генерируемый встроенным стабилизатором. Максимальный ток — 50 мА.
GND. Выводы заземления.
IOREF. Напряжение, при котором работают выводы ввода/вывода платы (то есть VCC для платы). На Yun это 5 В.
Память
ATmega32u4 имеет 32 КБ флеш-памяти (из которых 4 КБ используются загрузчиком). Также имеется 2,5 КБ SRAM и 1 КБ EEPROM (которую можно читать и записывать с помощью библиотеки EEPROM).
Память AR9331 не встроена в процессор. ОЗУ и память хранения подключены извне. Yun имеет 64 МБ DDR2 RAM и 16 МБ флеш-памяти. Флеш-память предварительно загружена на заводе дистрибутивом Linux на основе OpenWrt под названием Linino OS. Вы можете изменить содержимое заводского образа, например, при установке программы или изменении файла конфигурации. Вернуться к заводской конфигурации можно, удерживая кнопку «WLAN RST» в течение 30 секунд.
Установка Linino OS занимает около 9 МБ из 16 МБ доступной внутренней флеш-памяти. Вы можете использовать карту micro SD, если вам нужно больше дискового пространства для установки приложений.
Вводы и выводы
Невозможно получить доступ к выводам ввода/вывода Atheros AR9331. Все линии ввода/вывода привязаны к 32U4.
Каждый из 20 цифровых выводов ввода/вывода Yun может использоваться как вход или выход с помощью функций pinMode(), digitalWrite() и digitalRead(). Они работают при напряжении 5 В. Каждый вывод может обеспечить или принять максимум 40 мА и имеет внутренний подтягивающий резистор (по умолчанию отключён) от 20 до 50 кОм. Кроме того, некоторые выводы имеют специализированные функции: Serial: 0 (RX) и 1 (TX). Используются для приёма (RX) и передачи (TX) данных последовательного порта TTL с помощью аппаратных возможностей ATmega32U4. Обратите внимание, что на Yun класс Serial относится к USB (CDC) связи; для TTL-связи на выводах 0 и 1 используйте класс Serial1.
Аппаратные последовательные порты ATmega32U4 и AR9331 на Yun соединены между собой и используются для связи между двумя процессорами. Как принято в системах Linux, консоль доступа к системе предоставляется через последовательный порт AR9331, что означает, что вы можете получить доступ к программам и инструментам Linux из вашего скетча.
TWI: 2 (SDA) и 3 (SCL). Поддержка связи TWI с использованием библиотеки Wire.
Внешние прерывания: 3 (прерывание 0), 2 (прерывание 1), 0 (прерывание 2), 1 (прерывание 3) и 7 (прерывание 4). Эти выводы могут быть настроены на срабатывание прерывания по низкому уровню, по нарастающему или спадающему фронту, или по изменению значения. Подробности см. в функции attachInterrupt(). Не рекомендуется использовать выводы 0 и 1 в качестве прерываний, так как они также являются аппаратным последовательным портом для связи с процессором Linux. Вывод 7 подключён к процессору AR9331 и может использоваться в будущем как сигнал подтверждения. Рекомендуется соблюдать осторожность при возможных конфликтах, если вы намерены использовать его как прерывание.
PWM: 3, 5, 6, 9, 10, 11 и 13. Обеспечивают 8-битный выход ШИМ с помощью функции analogWrite().
SPI: на разъёме ICSP. Эти выводы поддерживают связь SPI с использованием библиотеки SPI. Обратите внимание, что выводы SPI не подключены к каким-либо цифровым выводам ввода/вывода, как на Uno. Они доступны только через разъём ICSP. Это означает, что если у вас есть плата расширения, использующая SPI, но не имеющая 6-контактного разъёма ICSP для подключения к 6-контактному разъёму ICSP Yun, плата расширения работать не будет. Выводы SPI также подключены к выводам GPIO AR9331, где программно реализован интерфейс SPI. Это означает, что ATMega32u4 и AR9331 также могут обмениваться данными по протоколу SPI.
LED: 13. Встроенный светодиод подключён к цифровому выводу 13. Когда значение вывода HIGH, светодиод горит, когда LOW — выключен. На Yun есть несколько других индикаторных светодиодов, показывающих питание, подключение WLAN, подключение WAN и USB.
Аналоговые входы: A0 - A5, A6 - A11 (на цифровых выводах 4, 6, 8, 9, 10 и 12). Yun имеет 12 аналоговых входов, обозначенных от A0 до A11, все из которых также могут использоваться как цифровые выводы ввода/вывода. Выводы A0-A5 расположены в тех же местах, что и на Uno; входы A6-A11 находятся на цифровых выводах 4, 6, 8, 9, 10 и 12 соответственно. Каждый аналоговый вход обеспечивает 10-битное разрешение (т.е. 1024 различных значения). По умолчанию аналоговые входы измеряют от земли до 5 В, однако верхнюю границу диапазона можно изменить с помощью вывода AREF и функции analogReference().
AREF. Опорное напряжение для аналоговых входов. Используется с функцией analogReference().
На плате имеется 3 кнопки сброса с различными функциями:
Yun RST. Подача LOW на эту линию сбрасывает микропроцессор AR9331. Сброс AR9331 вызовет перезагрузку системы Linux. Все данные в ОЗУ будут потеряны, и все запущенные программы будут завершены.
32U4 RST. Подача LOW на эту линию сбрасывает микроконтроллер ATmega32U4. Обычно используется для добавления кнопки сброса на плату расширения, которая блокирует штатную кнопку.
WLAN RST. Эта кнопка имеет двойную функцию. Основная — восстановление WiFi до заводской конфигурации. Заводская конфигурация переводит WiFi Yun в режим точки доступа (AP) и назначает ему IP-адрес по умолчанию 192.168.240.1. В этом состоянии вы можете подключиться с компьютера к WiFi-сети с SSID «Arduino Yun-XXXXXXXXXXXX», где двенадцать «X» — это MAC-адрес вашего Yun. После подключения вы можете открыть веб-панель Yun в браузере по адресу 192.168.240.1 или «http://arduino.local». Обратите внимание, что восстановление конфигурации WiFi вызовет перезагрузку среды Linux. Для восстановления конфигурации WiFi нужно нажать и удерживать кнопку WLAN RST в течение 5 секунд. При нажатии кнопки синий светодиод WLAN начнёт мигать и будет продолжать мигать после отпускания кнопки через 5 секунд, указывая на то, что процедура восстановления WiFi была записана. Вторая функция кнопки WLAN RST — восстановление образа Linux до заводского. Для восстановления среды Linux необходимо удерживать кнопку в течение 30 секунд. Обратите внимание, что восстановление заводского образа приведёт к потере всех сохранённых файлов и установленного программного обеспечения во внутренней флеш-памяти, подключённой к AR9331.
Связь
Yun имеет ряд средств для связи с компьютером, другой платой Arduino или другими микроконтроллерами. ATmega32U4 обеспечивает выделенную последовательную связь UART TTL (5 В). 32U4 также поддерживает последовательную (CDC) связь через USB и отображается как виртуальный COM-порт в программном обеспечении компьютера. Микросхема также работает как полноскоростное устройство USB 2.0, используя стандартные драйверы USB COM. Программное обеспечение Arduino включает монитор последовательного порта, позволяющий отправлять и получать простые текстовые данные с платы Arduino. Светодиоды RX и TX на плате мигают при передаче данных через USB-подключение к компьютеру.
Цифровые выводы 0 и 1 используются для последовательной связи между 32U4 и AR9331.
Для связи между процессорами можно использовать библиотеку Ciao.
Библиотека SoftwareSerial позволяет осуществлять последовательную связь на любом из цифровых выводов Yun. Следует избегать использования выводов 0 и 1, так как они используются библиотекой Bridge. ATmega32U4 также поддерживает связь I2C (TWI) и SPI. Программное обеспечение Arduino включает библиотеку Wire для упрощения работы с шиной I2C. Для связи SPI используйте библиотеку SPI.
Yun может отображаться как универсальная клавиатура и мышь и может быть запрограммирован для управления этими устройствами ввода с помощью классов Keyboard и Mouse.
Встроенные интерфейсы Ethernet и WiFi подключены непосредственно к процессору AR9331. Для отправки и получения данных через них используйте библиотеку Bridge.
Yun также поддерживает USB-хост через Linino OS. Вы можете подключать периферийные устройства, такие как USB-флеш-накопители для дополнительного хранения, клавиатуры или веб-камеры. Для работы этих устройств может потребоваться загрузка и установка дополнительного ПО.
Программирование
Yun можно программировать с помощью Arduino software (скачать). Выберите «Arduino Yun» в меню Tools > Board (в соответствии с микроконтроллером на вашей плате).
ATmega32U4 на Arduino Yun поставляется с предзаписанным загрузчиком, который позволяет загружать новый код без использования внешнего аппаратного программатора. Он работает по протоколу AVR109.
Вы также можете обойти загрузчик и запрограммировать микроконтроллер через разъём ICSP (In-Circuit Serial Programming), используя Arduino ISP или аналогичный программатор.
Автоматический (программный) сброс
Вместо физического нажатия кнопки сброса перед загрузкой, Yun спроектирован так, что его можно сбросить программно с подключённого компьютера. Сброс запускается при открытии виртуального (CDC) последовательного / COM-порта Yun на скорости 1200 бод с последующим закрытием. Когда это происходит, процессор сбрасывается, разрывая USB-соединение с компьютером (виртуальный последовательный / COM-порт исчезнет). После сброса процессора запускается загрузчик, оставаясь активным около 8 секунд.
Загрузчик также можно запустить нажатием кнопки сброса на Yun. Обратите внимание, что при первом включении питания плата перейдёт непосредственно к пользовательскому скетчу (если он есть), а не к загрузчику. Лучше позволить программному обеспечению Arduino инициировать сброс перед загрузкой, особенно если вы привыкли нажимать кнопку сброса перед загрузкой на других платах. Если программное обеспечение не может сбросить плату, вы всегда можете запустить загрузчик, нажав кнопку сброса.
Защита от перегрузки по USB
Yun имеет самовосстанавливающийся предохранитель (полифьюз), который защищает USB-порты вашего компьютера от коротких замыканий и перегрузок по току. Хотя большинство компьютеров имеют собственную внутреннюю защиту, предохранитель обеспечивает дополнительный уровень защиты. Если к USB-порту подводится более 500 мА, предохранитель автоматически разорвёт соединение до устранения короткого замыкания или перегрузки.
Физические характеристики
Максимальная длина и ширина печатной платы Yun составляют 2,7 и 2,1 дюйма соответственно, при этом USB-разъём выступает за первый размер. Четыре крепёжных отверстия позволяют закрепить плату на поверхности или в корпусе. Обратите внимание, что расстояние между цифровыми выводами 7 и 8 составляет 160 мил (0,16 дюйма), что не является чётным кратным шагу 100 мил остальных выводов. Масса платы — 32 г.
Распиновка
Предыдущие версии
Если вы приобрели Arduino Yun до октября 2014 года, ознакомьтесь со страницей начала работы Yun Open WRT OS. Если вы купили его в 2015 году, ознакомьтесь со страницей начала работы Arduino Yun Linino OS.
Технические характеристики
Микроконтроллер AVR Arduino
Микроконтроллер |
ATmega32U4 |
Рабочее напряжение |
5 В |
Входное напряжение |
5 В |
Цифровые выводы ввода/вывода |
20 |
Выходы ШИМ |
7 |
Аналоговые выводы ввода/вывода |
12 |
Ток на вывод ввода/вывода |
40 мА на выводах I/O; 50 мА на выводе 3,3 В |
Флеш-память |
32 КБ (из которых 4 КБ используются загрузчиком) |
SRAM |
2,5 КБ |
EEPROM |
1 КБ |
Тактовая частота |
16 МГц |
Микропроцессор Arduino
Процессор |
Atheros AR9331 |
Архитектура |
MIPS |
Рабочее напряжение |
3,3 В |
Ethernet |
802.3 10/100 Мбит/с |
WiFi |
802.11b/g/n 2,4 ГГц |
Тип USB |
2.0 Host |
Кард-ридер |
Micro-SD |
ОЗУ |
64 МБ DDR2 |
Флеш-память |
16 МБ |
SRAM |
2,5 КБ |
EEPROM |
1 КБ |
Тактовая частота |
400 МГц |