8-900-374-94-44
[email protected]
Slide Image
Меню

Mega adk подключить по usb – Arduino Mega ADK для Android

USB устройства для Android / Habr

Одной из самых интересных новинок, представленных на Google I/O 2011, можно считать анонс полноценной работы Android устройств с USB.
Новый Android поддерживает два USB режима — хост (Host mode) и устройство (Accessory mode).

С хост режимом все просто и понятно — это подключение к Android устройству клавиатуры, мыши, цифровой камеры, внешних накопителей и т.д.
А вот с режимом USB устройства все намного интереснее. В этом режиме внешнее USB оборудование выступает в роли хоста для Android устройства и таким внешним оборудованием могут выступать док станции, роботизированные контроллеры, диагностическое и музыкальное оборудование, спортивные тренажеры, кардридеры и многое другое. USB оборудование для Android должно поддерживать протокол (Android accessory communication protocol)

Наглядно понять разницу между двумя режимами можно по схеме:

Когда Android устройство выступает в роли USB хоста, то оно питает шину. Когда же Android устройство находится в режиме USB устройства, то шину питает подключенное к нему оборудование.

Режимы USB хоста и USB устройства поддерживаются начиная с Android 3.1 (API level 12). Режим USB устройства также портирован в Android 2.3.4 (API level 10) в виде библиотеки, поддерживающей большой набор устройств. Производители оборудования сами решают добавить им в системный образ эту библиотеку или нет.

Android Open Accessory

Для разработки USB оборудования для Android предлагается Android Open Accessory Development Kit (ADK), который является имплементацией USB оборудования для Android и включает в себя макет на основе Arduino, код прошивки для Accessory mode и Android приложение для взаимодействия с оборудованием.

В роли аппаратного средства для разработки выступает набор RT-ADK&RT-ADS, который нам пытаются продать за ~390$

Хотя это это всего лишь Arduino Mega2560, Circuits@Home USB Host Shield интегрированный в плату, и набор датчиков и элементов управления. Такой набор обойдется до 100$.


Кроме различных датчиков и индикаторов для Arduino существует большое количество плат расширения (Arduino shield), способных превратить USB устройство, например, в робота.

Презентация Android Open Accessory API and Development Kit (ADK) на Google I/O 2011


Android Open Accessory должен способствовать появлению большого числа разных аксессуаров для Android устройств.

В будущем планируется что Android Open Accessory кроме USB интерфейса будет также поддерживать и Bluetooth.

habr.com

Настройка микроконтроллера ATmega16U2 [Амперка / Вики]

Переход контроллера в DFU-режим

  1. Отключите Arduino от компьютера.

  2. Замкните контакты, указанные на нижеприведённом рисунке.
  3. Подключите Arduino к компьютеру.

  4. Разомкните замкнутые ранее контакты.

  5. Зайдите в «Диспетчер устройств» и посмотрите как определяется платформа:

Установка драйвера для контроллера ATmega16U2

  1. Скачайте и установите Flip — программу для прошивки микроконтроллеров.
  2. Зайдите в «Диспетчер устройств» под учётной записью «Администратор»

  3. Нажмите правой кнопкой мыши на «Неизвестное устройство»

  4. В выпадающем меню нажмите «Свойства»

  5. Перейдите на вкладку «Драйвер»

  6. Нажмите «Обновить»

  7. Нажмите «Выполните поиск драйверов на этом компьютере». Драйвера находятся в директории, в которую был установлен Flip, в папке «usb».
  8. Нажмите «Далее» и согласитесь с установкой программного обеспечения для данного устройства. После установки драйверов, в «Диспетчере устройств» Arduino станет определяться так:

Прошивка микроконтроллера ATmega16U2

Если в диспетчере устройств вы видите «ATmega16U2», значит контроллер, который отвечает за коммуникацию между USB-интерфейсом Arduino и контроллером Arduino не прошит.

Мы рассмотрим порядок действий по настройке контроллера для платы Arduino Uno. Для плат Arduino Mega2560 и Arduino ADK порядок действий аналогичен, необходимо только в использовать соответствующий платформе

.hex-файл.

  1. Скачайте и установите Flip — программу для прошивки микроконтроллеров.
  2. Скачайте *.zip-архив, в котором находится файл прошивки контроллера ATmega16U2 для своей платформы.
  3. Распакуйте *.zip-архив.

  4. Сохраните распакованный *.hex-файл в корень диска «C»

  5. Запустите Flip
  6. В меню укажите целевой контроллер ATmega16U2.
  7. В меню выберите файл с прошивкой.

  8. В меню укажите связь по USB.

После всех манипуляций окно программы должно выглядеть так:

  1. Нажмите кнопку «Run» и дождитесь завершения прошивки.
  2. Отключите Arduino от компьютера и подключите её снова. Во вкладке «Порты (COM и LPT)» «Диспетчера устройств» вы должны увидеть следующую картину:

Всё получилось. Теперь можно смело переходить к продолжению «настройки платы» или к «экспериментам»

wiki.amperka.ru

Автономка или USB управление на Arduino под бюджетные станки. — Любительские системы ЧПУ

Решил прикрыть предыдущую тему и выложить что там накопано более конкретного, в этой.

 

Что нужно? Получить бюджетное компактное управление, как в автономе, так и под управлением компа через USB и возможно другие порты.

 

Также иметь возможность перепрошивать быстро под свои команды, для специфического управления оси, осей. То есть не только в области ЧПУ станков.

 

Что, есть для этого бюджетного, общедоступного и с программным сопровождением бесплатного проекта.

 

Uno uno uno un momento, Uno uno uno sentimento, Uno

uno uno complimento

 

То есть самая запрашиваемая и доступная Arduino Uno

 

Uno — самая популярная версия базовой платформы Arduino USB. Uno имеет стандартный порт USB. Arduino Uno во многом схожа с Duemilanove, но имеет новый чип ATMega8U2 для последовательного подключения по USB и новую, более удобную маркировку вход/выходов. Платформа может быть дополнена платами расширения, например, пользовательскими платами с различными функциями.

Общие сведения

 

Arduino Uno контроллер построен на ATmega328 (техническое описание, pdf). Платформа имеет 14 цифровых вход/выходов (6 из которых могут использоваться как выходы ШИМ), 6 аналоговых входов, кварцевый генератор 16 МГц, разъем USB, силовой разъем, разъем ICSP и кнопку перезагрузки. Для работы необходимо подключить платформу к компьютеру посредством кабеля USB, либо подать питание при помощи адаптера AC/DC или батареи.

В отличие от всех предыдущих плат, использовавших FTDI USB микроконтроллер для связи по USB, новый Ардуино Uno использует микроконтроллер ATmega8U2 (техническое описание, pdf).

«Uno» переводится как один с итальянского и разработчики тем самым намекают на грядущий выход Arduino 1.0. Новая плата стала флагманом линейки плат Ардуино. Для сравнения с предыдущими версиями можно обратиться к полному списку плат Arduino.

Характеристики

 

 

Микроконтроллер — ATmega328

 

Рабочее напряжение — 5 В

 

Входное напряжение (рекомендуемое) — 7-12 В

 

Входное напряжение (предельное) — 6-20 В

 

Цифровые Входы/Выходы — 14 (6 из которых могут использоваться как выходы ШИМ)

 

Аналоговые входы — 6

 

Постоянный ток через вход/выход — 40 мА

 

Постоянный ток для вывода 3.3 В — 50 мА

 

Флеш-память — 32 Кб (ATmega328) из которых 0.5 Кб используются для загрузчика

 

ОЗУ — 2 Кб (ATmega328)

 

EEPROM — 1 Кб (ATmega328)

 

Тактовая частота — 16 МГц

 

 

Под неё есть готовый Grbl интерепритатор. Уже версия 0.9 как я знаю. Он поддерживается и улучшается.

Который можно прошить в эту плату и использовать, как автономно, так и через

Grbl controller с исходниками под 3 платформы Windows, Linux и Mac. Внутри её интерпритатора нет. Он как вы поняли, вынесен в плату.

 

Grbl контроллер, написанные с использованием Qt кросс-платформенных библиотек. Он также получает некоторую помощь от QextSerialPort библиотека упростить выбор правильного USB serial port.

Qt — это очень круто, потому что вы можете создать красивый GUI приложений для Windows, Mac и Linux. Qt изначально была разработана компанией Nokia (ок, Trolltech, чтобы быть точным, купил Nokia). Развивать в Qt вы должны быть специалистом в C++.

 

 

прошивки GRBL по умолчанию работают с экранами, джогами и SD. В том же гитхабе есть марлиновская готовая прошивка, или есть онлайн генератор прошивки у него же, можете под себя настроить, и себе слить.

 

 

 

у меня платы пока идут. Может кто уже работал на них в таком направлении, может что сможет подсказать, поделится впечатлениями?

Изменено пользователем Ermak23

www.chipmaker.ru

Аппаратная часть платформы Arduino | Аппаратная платформа Arduino

Существует несколько версий платформ Arduino. Последняя версия Leonardo базируется на микроконтроллере ATmega32u4. Uno, как и предыдущая версия

Duemilanove построены на микроконтроллере Atmel ATmega328 (техническое описание). Старые версии платформы Diecimila и первая рабочая Duemilanoves были разработаны на основе Atmel ATmega168 (техническое описание), более ранние версии использовали ATmega8 (техническое описание). Arduino Mega2560, в свою очередь, построена на микроконтроллере ATmega2560 (техническое описание).

Примечание: На всю документацию Arduino распространяется лицензия ShareAlike 3.0 Creative Commons Attribution. Обратитесь к странице «Вы хотите собрать Arduino?» (англ) за более подробной информацией по разработке собственной платформы. 

Версии платформы Arduino:

Ниже представлены основные версии плат Arduino:

  • Due  — новая плата на базе ARM микропроцессора 32bit Cortex-M3 ARM SAM3U4E. 
  • Leonardo — последняя версия платформы Arduno на ATmega32u4 микроконтроллере . Отличается разъемом microUSB, по размерам совпадает с UNO.
  • Yun (описание на англ.) — новая плата, с встроенной поддержкой WiFi на базе ATmega32u4 and the Atheros AR9331
  • Micro — новое компактное решение на базе ATmega32u4. 
  • Uno — самая популяраня версия базовой платформы Arduino USB. Uno имеет стандартный порт USB. Arduino Uno во многом схожа с Duemilanove, но имеет новый чип ATMega8U2 для последовательного подключения по USB и новую, более удобную маркировку вход/выходов. Платформа может быть дополнена платами расширения, например, пользовательскими платами с различными функциями.
  • Arduino Ethernet — контроллер со встроенной поддержкой работы по сети и с опциональной возможностью питания по сети  с помощью модуля POE (Power over Ethernet).
  • Duemilanove — является предпоследней версией базовой платформы Arduino USB. Подключение Duemilanove производится стандартным кабелем USB. После подключения она готова к использованию. Платформа может быть дополнена платами расширения, например, пользовательскими платами с различными функциями.
  • Diecimila — предыдущая версия базовой платформы Arduino USB.
  • Nano — это компактная платформа, используемая как макет. Nano подключается к компьютеру при помощи кабеля USB Mini-B.
  • Mega ADK — версия платы Mega 2560 с поддрежкой USB host интерфейса для связи с телефонами на Android и другими устройствами с USB интерфейсом.
  • Mega2560 – новая версия платы серии Mega. Построена на базе Atmega2560 и с использованием чипа ATMega8U2 для последовательного соединения по USB порту.
  • Mega – предыдущая версия серии Mega на базе Atmega1280.
  • Arduino BT платформа с модулем Bluetooth для беспроводной связи и программирования. Совместима с платами расширения Arduino.
  • LilyPad– платформа, пурпурного цвета, разработанная для переноски, может зашиваться  в ткань.
  • Fio – платформа разработана для беспроводных применений. Fio содержит разъем для радио XBee, разъем для батареи LiPo и встроенную схему подзарядки.
  • Mini – самая маленькая платформа Arduino. Прекрасно работает как макетная модель, или, в проектах, где пространство является критическим параметром. Платформа подключается к компьютеру при помощи адаптера Mini USB.
  • Адаптер Mini USB – плата, конвертирующая подключение USB в линии 5 В, GND, TX и RX для соединения с платформой Arduino Mini или другими микроконтроллерами.
  • Pro – платформа, разработанная для опытных пользователей, может являться частью большего проекта. Она дешевле, чем Diecimila и может питаться от аккумуляторной батареи, но в тоже время требует дополнительной сборки и компонентов.
  • Pro Mini – как и платформа Pro разработана для опытных пользователей, которым требуется низкая цена, меньшие размеры и дополнительная функциональность.
  • Serial – базовая платформа с интерфейсом RS232 для связи и программирования. Плата легко собирается даже начинающими пользователями. (включает схемы и файлы CAD)
  • Serial Single Sided – платформа разработана для ручной сборки. Она обладает чуть большим размером, чем Diecimila, но совместима с платами расширения Arduino.
  • USB Serial Light Адаптер — адаптер, позволяющий подключать платы Arduino к компьютеру для обмена данными и заливки скетчей. Удобен для программирования таких плат, как Arduino Mini, Arduino Ethernet и других, не имеющих своего разъема USB
Платы расширения

Платы расширения, устанавливаемыми на платформы, являются платы, расширяющие функциональность Arduino для управления различными устройствами, получения данных и т.д.

  • Плата расширения WiFi используется для соединения с беспроводными сетями стандарта 802.11 b/g.
  • Плата расширения Xbee Shield обеспечивает при помощи модуля Maxstream Xbee Zigbee беспроводную связь нескольким устройствам Arduino в радиусе до 35 метров (в помещении) и до 90 метров (вне помещения).
  • Плата расширения Motor Shield обеспечивает управление двигателями постоянного тока и чтение датчиков положения.
  • Плата расширения Ethernet Shield обеспечивает подключение к интернету.
Рекомендуемые аппаратные средства других разработчиков

Испытанные и понравившиеся устройства других разработчиков, совместимые с программой Arduino:

Платформа Boarduino от Adafruit Industries. Предназначена для использования с кабелем FTDI USB-to-TTL-Serial или другим адаптером USB-to-serial.  Доступна в виде пустой печатной платы или в комплекте.

Другие сопутствующие устройства

Проверьте список сопутствующего оборудования, составленный пользователями на площадке разработок.

arduino.ru

Лучшие ‘adk’ Вопросы — Qaru

ADK относится к набору для разработки на базе Arduino для Android Open Accessory Protocol

2 отв.

Каким образом можно закрыть соединение с UsbAccessory в Android? Похоже, что даже в примере на складе Google, если я подключу и аксессуар, выйдите из приложения, а затем вернитесь к нему, соединение не будет восстановлено. Вглядываясь в глаза, кажет…

26 нояб. ’11 в 4:54

4 отв.

Кто-нибудь знает о хорошем вступлении в управление Arduino Mega ADK с помощью телефона? Все, что я хочу сделать, это управлять светодиодом на контакте 13, используя очень простой переключатель. Редактировать 26/10/11: http://labs.arduino.cc/ADK/In…

23 окт. ’11 в 17:44

2 отв.

Я пытаюсь сделать свой компьютер USB Host для Android 2.3.4 устройств, чтобы иметь возможность разрабатывать API, не требуя настоящих «аксессуаров». Для этого мне нужно установить ПК в качестве USB-хоста и «устройства» (в моем случае Nexus One работ…

29 июня ’11 в 20:37

1 отв.

Я пытаюсь получить ADK (Accessory Development Kit), настроенный с помощью Eclipse, но после обновления до API 12 для запуска demokit Hello World, я получаю 29 ошибок, первые несколько выглядят так: com.android.future cannot be resolved, etc UsbAcce…

21 мая ’11 в 9:51

1 отв.

Используемое программное обеспечение: * Latest Android SDK (as of today — 8/29/2012) with all of the latest APIs, Tools, Extras, etc downloaded. * Processing 2.0a8 (latest build) * Arduino ADK libraries for Processing («ArduinoADK-beta-001» folder) …

29 авг. ’12 в 17:06

4 отв.

Есть ли список, в котором Android-устройства (телефоны, планшеты) поддерживают режим ADK/аксессуар? Из того, что я прочитал, я знал, что Nexus One, Nexus S и Xoom поддерживают его. Существуют ли другие устройства (включая индивидуальные ROM), которые…

31 авг. ’11 в 14:26

7 отв.

У меня довольно хорошее понимание Arduino и Java, и я решил взять удар, пытаясь контролировать свою Arduino ATMega с помощью моей вкладки Samsung Galaxy 10.1. Я установил API 12 с менеджером SDK, плагин ADT для Eclipse, и теперь я следую инструкциям …

21 дек. ’11 в 19:19

3 отв.

У меня есть проект для Android eclipse (только для основного класса, только для библиотек), который я хочу включить в основной проект Android-приложения. Я пошел на путь сборки и добавил проект библиотеки в «Обязательные проекты на пути сборки» на в…

12 янв. ’10 в 9:20

3 отв.

Несколько дней назад Arduino только что выпустил «стартовый пакет» для разработчиков Android: http://arduino.cc/en/Main/ArduinoBoardADK Arduino ADK — это плата микроконтроллера, основанная на ATmega2560 (техническая спецификация). У этого есть инте…

19 июля ’11 в 22:47

3 отв.

Используя стандарт Android Open Accessory, у меня есть устройство с Android-телефоном, говорящее назад и вперед, с микроконтроллером arduino mega ADK, подключенным через USB. Я хотел бы знать, какой лучший протокол связи находится на уровне уровня ка…

05 нояб. ’12 в 4:15

1 отв.

Я пытаюсь понять, как работает API Open Open Access API с ADK-платой Arduino, я смог отправлять и получать информацию, но я просто хочу знать, как все работает. Я получил описание этой функции: int AndroidAccessory::read(void *buff, int len, unsigne…

31 дек. ’12 в 6:43

7 отв.

Я пытаюсь создать проект с использованием платы ADQ arduino http://arduino.cc/en/Main/ArduinoBoardADK и Android-разработчика Android Ericsson Xperia Play, работающего под управлением Android 2.3.4. Для начала все, что я хочу сделать, это моргнуть из …

29 янв. ’12 в 17:12

2 отв.

У меня есть доска Arduino Mega. Я подключил к нему модуль WiFly и установил соединение с моим телефоном Android. Теперь я хочу создать простую программу для своего Android, где я нажимаю кнопку, а светодиодный индикатор Wi-Fi и включить ее для подс…

23 марта ’12 в 3:19

1 отв.

Я работаю над новой идеей, и код идет очень хорошо, но я сталкиваюсь с некоторыми проблемами и нуждаюсь в вашей помощи. Недавно я купил старую и сломанную игровую станцию ​​по смешной цене (я не знаю точного английского слова), и, поскольку она очен…

18 авг. ’12 в 17:36

4 отв.

Я пытаюсь получить пример DemoKit, работающий на плате ADK. Кажется, что даже при обновлении 3.1 Galaxy Tab не имеет всего необходимого (или, по крайней мере, не работает так, как рекламируется). И даже с копанием, хотя документация кажется, что прил…

15 июня ’11 в 11:32

qaru.site

USB OTG serial port: программы и утилиты | android

Уже давно известно (начиная с Android 3.1+ и его Android USB Host API), что через порт USB OTG операционная система Android умеет работать как хост USB с мышами и клавиатурами. Также можно управлять и самодельными устройствами USB HID [2, 3]. Но как обстоят дела с обменом данными с классом USB CDC (виртуальный COM-порт), или USB serial-интерфейс (RS-232 TTL)? Возможность работать с последовательным портом очень удобна для подключения множества устройств на микроконтроллерах, например тех же плат Arduino, или какого-нибудь заводского оборудования. Оказывается, все также очень даже неплохо. Эта статья посвящена краткому обзору готового софта и библиотек, которые позволяют работать с последовательными портами в операционной системе Android.

[Первое подключение устройства USB CDC к Android]

Для подключения к порту USB Android какого-нибудь устройства USB Вам понадобится специальный кабель USB OTG. Его можно недорого купить в магазине или на рынке, или изготовить самому [4]. Если у Вас уже установлены какие-нибудь программы, поддерживающие последовательное соединение через USB (например, какие-нибудь программы, рассмотренные во врезках ниже), то при первом подключении устройства к порту USB OTG операционная система Android выдаст приглашение запустить для работы с устройством какую-нибудь из установленных программ, см. скриншот ниже.

Если Вы сделаете на этом экране свой выбор, то сразу запустится выбранная программа, и ей будет предоставлено разрешение работать с подключенным устройством USB. Если Вы ничего не выберете (просто нажмете на кнопку «Назад»), то разрешение на доступ к устройству будет запрошено позже, когда в программе Вы попытаетесь подключиться к устройству USB CDC:

Если на этом экране выбрать «Да», то программа сможет работать с Вашим устройством USB CDC. Если еще при этом установить галочку «Использовать по умолчанию для этого USB-устройства», то при каждом подключении устройства USB CDC к порту USB OTG будет автоматически запускаться эта программа, и ей будут сразу автоматически дано разрешение на доступ к устройству.

[Терминальные клиенты, поддерживающие USB OTG serial]

Готовые программные клиенты под Android, которые позволяют организовать текстовую консоль для приема/передачи текстовой информации через виртуальный COM-порт USB, избавляют Вас от необходимости писать управляющее программное обеспечение, когда Вы хотите через Android управлять какой-нибудь электронной аппаратурой. 

Ниже представлен краткий обзор нескольких таких утилит.

Это утилита для проверки, совместим ли Ваш мобильный телефон, или смартфон, или планшет с устройством UART/RS-232. Рута не требует, бесплатная, но на этом достоинства программы заканчиваются. У меня она не заработала, не нашла подключенное через порт USB OTG устройство на чипе FT232R (при попытке открыть соединение через меню Open программа выдавала сообщение «Not found USB UART device!»). Причина в том, что пока чипы FTDI этой программой не поддерживаются.

Весьма годная программа. Можно подключать устройства USB CDC на чипах Silicon Laboratories CP210X, FTDI FT232 (ARDUINO) и Prolific PL2303 (это популярные микросхемы моста USB-CDC/ACM — TTL UART). Так же можно использовать беспроводную систему Zigbee Chip TI CC2531 (USB-Enabled SOC Solution for 2.4-GHz IEEE 802.15.4).

Поддерживаются все смартфоны, на которых есть порт USB с поддержкой режима хоста (OTG) — Samsung galaxy2 / galaxy 3 / galaxy note / galaxy note2 / Vega racer R3 и т. п. Требуемая версия Android: 3.1 (API Level 12).

[Быстрый старт]

1. Подключите кабелем OTG устройство к смартфону.
2. Операционная система Android определит подключенное устройство USB, и запросит разрешение на запуск приложения. Кликните OK, программа запустится.
3. Кликните кнопку «Settings» (она в виде гаечного ключа) для настройки параметров соединения. После внесенных изменений кликните на кнопку «Save» (чтобы она стала видна, прокрутите вниз окно настроек). Перезапустите программу, переподключите устройство, чтобы настройки вошли в силу.
4. Кликните на кнопку «Connect» (с иконкой в виде телефонной трубки) на верхней панели программы для подключения к устройству.

[Создание кнопок управления]

5. Кликните на кнопку с зеленым плюсиком, введите имя для кнопки и содержимое данных для отправки.
6. Кликните кнопку «Save». Кнопка управления будет добавлена на панель.

Если кликнуть на эту кнопку, то программа отправит данные в устройство. Принятые от устройства данные будут отображены в текстовом окне консоли.

Формат данных для кнопок управления. Можно вводить двоичные данные, как это показано ниже — в шестнадцатеричном (hex), двоичном (binary) или десятичном (decimal) виде: 

— Decimal: @ + 3 цифры (0..255), например CR: @013
— Hex: # + 2 hex-цифры, например CR: #0D
— Binary: & + 8 двоичных цифр, например CR: &00001101

Escape-символы @, #, & можно вводить, если их указать дважды, тогда будут переданы соответственно @, #, &.

Между передаваемыми данными можно вводить задержку. Задержка указывается в миллисекундах, пример:

up< % sleep:1000 %>down< % sleep:2000 %>left< % sleep:3000 %>right

Здесь закодирована следующая последовательность действий:

1. Отправка «up».
2. Задержка (sleep) на 1 секунду.
3. Отправка «down».
4. Задержка на 2 секунды.
5. Отправка «left»
6. Задержка на 3 секунды.
7. Отправка «right»

Простая программа последовательного терминала (с открытым исходным кодом, см. https://github.com/devmel/), предназначенная для управления устройством на микроконтроллерах (http://devmel.com/). Очень полезна как инструмент отладки в приложениях с обменом данными.

Заявлена совместимость:

1. С Bluetooth (модули HC-05, HC-06, любой Bluetooth-Serial адаптер).

2. С адаптерами USB OTG и микросхемами моста USB-TTL UART:

Silicon Laboratories CP210X
FTDI FT232
Prolific PL2303
Arduino
CDC/ACM

3. С шиной LinkBus (Ethernet to UART device, подробнее см. http://www.devmel.com/linkbus).

Для адаптеров USB-TTL UART поддерживаются настройки:

Baud Rate: 1200 .. 250000
Data Bits : 5, 6, 7 или 8
Stop Bits 1 или 2
Parity Bit: none, even или odd

В приложении нет никакой рекламы. Несмотря на то, что в описании к программе для поддержки режима хоста USB требуются права root, программа все равно нормально работает с USB-TTL UART (например, с платами Arduino) и не на рутованном устройстве Android.

Выбор порта подключения и настройка параметров:

Запрос на подтверждение пользователем разрешения для подключения к устройству USB CDC (USB-TTL UART платы Arduino):

Общий вид на главное окно программы в отключенном и подключенном состоянии соединения с устройством USB CDC:

Программа для последовательного терминала на смартфонах. Можно использовать устройства USB на чипах Silicon Laboratories CP210X, FTDI FT232 и Prolific PL2303 (CDC/ACM UART для моста USB). Также можно использовать Zigbee Chip TI CC2531 (USB-Enabled SOC Solution для 2.4-GHz IEEE 802.15.4 и приложений ZigBee).

Предоставляет стандартный набор базового функционала, который предоставляют аналогичные программы на платформе PC. Поддерживаются все смартфоны, на которых есть порт USB с поддержкой режима хоста (OTG) — Samsung galaxy2 / galaxy 3 / galaxy note / galaxy note2 / Vega racer R3 и т. п. Требуемая версия Android: 3.1 (API Level 12) или более свежая.

[Быстрый старт]

1. Подключите кабелем OTG устройство к смартфону.
2. Операционная система Android определит подключенное устройство USB, и запросит разрешение на запуск приложения. Кликните OK, программа запустится.
3. Кликните кнопку «Settings» (она в виде гаечного ключа) для настройки параметров соединения. После внесенных изменений кликните на кнопку «Save» (чтобы она стала видна, прокрутите вниз окно настроек). Перезапустите программу, переподключите устройство, чтобы настройки вошли в силу.
4. Кликните на кнопку «Connect» (с иконкой в виде телефонной трубки) на верхней панели программы для подключения к устройству.

Можно настраивать параметры последовательного соединения — Baud rate, Data bits, Parity, Stop bits, также поддерживаются опции режима управления потоком данных (Handshaking Mode setting). Доступно ведение лога для принимаемых данных, для файла лога нужно указать путь наподобие «[External Storage Root] / USBTerminal / YYMMDD_hhmmss.log».

[Описание кнопок и функций главного окна]

— ASCII: выводить принимаемые данные как строку ascii.
— HEX: выводить принимаемые данные как шестнадцатеричную строку.
— BIN: выводить принимаемые данные как двоичную строку.
— Кнопка Connect (с иконкой в виде телефонной трубки): запускает подключение к устройству USB. После соединения картинка на кнопке поменяется на крестик, и кнопка будет работать для функции закрытия соединения.
— Кнопка Settings (с гаечным ключом): откроется окно для настройки параметров последовательного соединения.
— Галочки CR, LF (в верхней части, RX): конфигурация обработки разделения строк. Задает преобразование принимаемых символов возврата каретки и перевода строки перед выводом текста на экран.
— Кнопки состояния модема: показывают уровни сигналов CTS, DSR, CD, RI.
— Кнопка отображения описания устройства USB: откроется окно с подробными системными данными подключенного устройства USB.
— Очистка принятых данных: иконка с мусорной корзиной, стирает с экрана все принятые данные.
— Кнопка DTR: управляет состоянием сигнала модема DTR.
— Кнопка RTS: управляет состоянием сигнала модема RTS.
— Галочки CR, LF (в нижней части, TX): конфигурация обработки разделения строк. Управляет добавлением символов разделения строк к передаваемым данным.
— Поле ввода текста (TX): можно ввести данные для передачи в виде символов текста.

Передаваемые данные по умолчанию передаются как строки символов. Но можно вводить данные и в других форматах:

— Decimal: @ + 3 цифры (0..255), например CR: @013
— Hex: # + 2 hex-цифры, например CR: #0D
— Binary: & + 8 двоичных цифр, например CR: &00001101

Escape-символы @, #, & можно вводить, если их указать дважды, тогда будут переданы соответственно @, #, &.

— Кнопка передачи (в виде правой стрелки): запускает передачу данных в устройство USB.
— Кнопки макросов 1 .. 7: запускают макросы (можно применять для часто используемых передач).
— Кнопка редактирования макросов (с иконкой карандаша): откроется окно редактирования макроса.

[Пункты меню]

— Settings: откроется окно настроек параметров соединения (Serial Communication Settings).
— USB Descriptions: откроется окно с описанием подключенного оборудования USB.
— Edit Macro: откроется окно редактирования макроса.
— ASCII Code Table: откроется окно кодовой таблицы символов ASCII. Здесь можно выбрать нужный код, он автоматически вставится в строку ввода передаваемого текста.
— Help: система помощи.

Очень простая программа консоли соединения с устройством USB-Serial (CDC-ACM). Автором тестировалась а платами Arduino UNO, MEGA, а также с NXP LPC1769. При обнаружении совместимого устройства USB программа запросит разрешение на доступ:

Когда соединяетесь с устройством CDC-ACM, выберите в меню пункт Open Device.

 

[Возможности программы]

— Поддержка протокола CDC-ACM (Arduino, встраиваемые платформы, PSoC и т. п.
— Поддержка чипов FTDI (FT232RL, FT230X).
— Настройка скорости (1200 — 115200 bps).
— Настройка параметров соединения — Data bits, Parity Check, Stop bits, flow control, break options (не поддерживается в CDC-ACM).
— Отображение принимаемых данных в символьном, двоичном и шестнадцатеричном виде.
— Отправка результатов на e-mail.
— Отправка/прием различных комбинаций разделения строк (CR,LF или CR+LF).
— Опция размера шрифта.

С помощью этой программы Вы можете, к примеру, обмениваться данными между Android и платой Arduino UNO. И если на Вашем электронном устройстве стоит адаптер FTDI USB-Serial (FT232RL), то любой микроконтроллер можно соединить с устройством на Android.

[FAQ]

Q: Почему мой телефон/планшет (Android 3.1 или более новая версия) не совместим с программой?
A: Сейчас это редкость. Возможно Ваше устройство Android не поддерживает аппаратно функцию USB Host API.

Q: Но мой телефон/планшет поддерживает флешки USB, USB мышь и USB клавиатуру.
A: Это не USB Host API, а Linux USB Host. Пожалуйста, проверьте поддержку Вашим устройством Android функции USB Host API.

Q: Можно ли получить двоичный или исходный код программы?
A: Да, программа с открытым исходным кодом, см. страницу на github.

Основная программа: https://github.com/ksksue/Android-USB-Serial-Monitor-Lite.Библиотека (драйвер): https://github.com/ksksue/FTDriver.

Q: Какой может быть самый большой выходной ток для устройства USB?
A: Смартфоны: 150 .. 180 mA (Galaxy Nexus, Galaxy S2), планшеты: 400 .. 500 mA (ICONIA A500, Nexus 7).

Утилита UsbTerminal это программа эмулятора терминала (иногда она называется «monitor»). С её помощью можно использовать телефоны или планшеты с портом USB обмениваться данными с внешними устройствами. Телефон или планшет с системой Android должен поддерживать режим хоста USB, так называемый USB On-The-Go (USB-OTG). Также требуется кабель USB-OTG [4].

[Возможности программы]

• Поддержка устройств USB, принадлежащих классу CDC-ACM.
• Поддержка устройств на базе чипов FTDI.
• Поддержка устройств на базе Winchiphead-Ch440/Ch441 (пока эта функция экспериментальная, автор ждет обратной связи от пользователей с сообщениями о проблемах).
• Поддержка двух режимов ввода с клавиатуры:

1. Auto — работает как «настоящий» терминал, без специального поля ввода для подготовки отправляемых данных. Символы отправляются в последовательное устройство по мере их ввода, в соответствии с нажатиями кнопок на клавиатуре. Это режим по умолчанию.
2. С помощью выделенного поля ввода — ввод с клавиатуры сначала попадает в специальное текстовое поле, и отправляется в устройство только после нажатия на кнопку «Send».

• Поддержка отправки управляющих символов (например Ctrl-C).
• Поддержка управления выходными уровнями DTR и CTS.
• Запись сессий в лог-файлы. Затем эти логи могут быть проанализированы, отправлены по email и т. п.
• Большой буфер прокрутки (его размер конфигурируется).
• Мигающий курсор, показывающий текущую позицию на экране.
• Строка состояния (status line). Показывает статус соединения и сообщения об ошибках.
• Встроенная система помощи (help). Нет необходимости подключаться к Интернету для получения справки.
• Не требуется права root.

Ограничения: нет поддержки escape-последовательностей для перемещения курсора, управления цветом текста и т. п.. Это означает, что нет эмуляции VT100, и такие программы Unix, как vi, emacs, top, и т. д. не поддерживаются.

Поддерживаются устройства USB: Arduino на основе чипов FTDI (например оригинальный Arduino Uno), на основе класса CDC (например Arduino Uno R3) и на основе чипа Ch440 (например дешевые клоны Arduino). Также поддерживаются любые устройства, которые используют микросхему FTDI FT232R.

Примечание: устройства Prolific (например, основанные на кристалле PL2303) в настоящий момент не поддерживаются.

Для пользователей Arduino: одно из достоинств UsbTerminal это метод обработки DTR. Обычно когда плата Arduino подключена к компьютеру PC, она перезагружается каждый раз приложением эмуляции терминала, которая подключена к ней. Это происходит из-за того, что PC переводит сигнал DTR в лог. 0 всякий раз при формировании соединения, и Arduino разработана так, что сбрасывается, когда сигнал DTR падает в лог. 0. Программа UsbTerminal работает по-другому — она не меняет автоматически уровень сигнала DTR. Когда Вы подключаете смартфон или планшет к плате Arduino и открываете UsbTerminal, плата Arduino продолжит работать так, как она это делала до сего времени. Если Вы хотите перегрузить плату Arduino, то можете просто управлять сигналом DTR в программе UsbTerminal с помощью специальной кнопки.

Компания ECYPH LLC анонсирует полное программное и аппаратное решение для поддержки терминала на Android. Вместе с кабелем идет бесплатная программа терминала FTDI UART Terminal, и это позволяет получить полноценную поддержку RS232 Serial Port. Эта программа может работать с любыми чипами компании FTDI.

На мой взгляд у этой программы есть главное достоинство — функция, которой нет ни у одной другой программы — возможность передавать файлы по протоколу XMODEM (и другим популярным коммуникационным протоколам). Это очень удобно для обновления программного обеспечения радиоаппаратуры и для обмена информацией в виде файлов.

Что еще немало важно — эта программа с открытыми исходниками (ссылка для закачки J2xxHyperTerm.7z)! Программу можно установить из Google play store, для неё доступно руководство пользователя AN_242, и можно установить программу локально через пакет apk, см. J2xxHyperTerm.zip.

Требования к операционной системе и устройству Android: Android OS 3.2 или более свежая, и аппаратная поддержка порта хоста USB.

[Возможности программы]

• Приложение запустится автоматически, когда Вы подключите к Android устройство USB на чипе FTDI: FT232R, FT245R, FT232H, FT2232D, FT2232H, FT4232H, FT230X, FT231X.
• Поддерживается USB TTL Serial, USB RS232 и высокоскоростные кабели USB.
• Поддерживает основной функционал терминала UART; легко адаптируется к функции консоли.
• Поддерживает сигналы управления потоком CTS/RTS, DTR/DSR и XOFF/XON.
• Поддерживает скорости 300 .. 921600 бод.
• Может сохранять (принимать) файл и отправлять файл по протоколам XModem, YModem и ZModem.
• Полностью совместима с USB 2.0 Full Speed.

Выводы: к сожалению, только одна программа показала хорошую устойчивость при приеме большого непрерывного потока данных — USB Serial Monitor Lite. Все остальные протестированные программы либо в таких условиях отказывались работать, либо слишком тормозили.

[Библиотеки для написания программ под Android

1. usb-serial-for-android

https://github.com/mik3y/usb-serial-for-android
https://www.bountysource.com/teams/usb-serial-for-android/issues

2. UsbSerial

https://github.com/felHR85/UsbSerial 

[FTDI

http://www.ftdichip.com/Android.htm 

[android-serialport-api — android_to_rs232_guideline.wiki]

[Ссылки]

1. Communicating with serial USB device over Android site:stackoverflow.com.
2. AVR-USB-MEGA16: управление устройством USB HID из Android.
3. Управление самодельным устройством USB HID из Android KitKat.
4. Как сделать для смартфона Android кабель microUSB OTG.

microsin.net

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *