Если на старых версиях Android все как-то тоскливо (нужен root, драйвера и т.п. муть, которой обычный пользователь не будет заниматься), то с 3.1 (API Level 12) появилась родная поддержка USB Host. А это нааааамного интереснее.
Так-то вариантов много, но большая часть нормальных диагностических USB-адаптеров сделаны на чипах FTDI, поэтому имеет смысл начинать именно с них. А там есть с чего начинать.
Есть фирменные FTDI Android-"драйвера" (в кавычках, поскольку это jar-библиотека): http://www.ftdichip.com/Drivers/D2XX.htm - Android (Java D2XX).
Есть описание этого API в AppNotes 233: http://www.ftdichip.com/Support/Documents/AppNotes/AN_233_Java_D2xx_for_Android_API_User_Manual.pdf
Есть примеры: http://www.ftdichip.com/Support/SoftwareExamples/Android_JAVA_D2XX_Projects.htm
И есть описание примеров в Technical Note 147: http://www.ftdichip.com/Support/Documents/TechnicalNotes/TN_147_Java_D2xx_for_Android.pdf
И ко всему этому есть страшненькое, но живое приложение-пример в виде терминалки: FTDI UART Terminal
Пример попробовал. На телефоне Samsung Galaxy SII через OTG-переходник система увидела диагностический USB-адаптер, программа попросила разрешение на доступ:

И что-то даже принималось-передавалось.
Единственное, получится ли на достаточно слабых мобильных устройствах выдержать временные параметры соединения (в случае простого K-Line адаптера). Надо проверять. Но работа с USB-адаптерами в Android - это задача не первой важности, хотя и достаточно интересная.
Еще по этой теме:
- Fast Init через K-Line (практика прикладных программ) (2014-01-30)
- USB On-The-Go (2011-08-17)
Изображения из альбомов:
0 comments:
Post a Comment