Робота з COM портом в Android додатках

Усі доброго часу доби!

Одного разу я замислився над розробкою програми, яка вимагала спілкування з hardware пристроєм, через COM порт. Хоча Android дбайливо надає api для роботи з usb пристроями, воно мені на жаль не підходило, тому що хотілося здійснювати підтримку мого старого планшета на базі Android версії 2.2. Стандартне api від Гугла, не підходило з двох причин:

  • по-перше воно не спрацювало для мене.
  • девайс у мене все-таки старенький

Отже, після тривалого пошуку в інтернеті я натрапив на дуже цікаве рішення android-serialport-api. Дане рішення є Java обгортку в якій через JNI в якій здійснюються виклики до USB пристрою.

Розробники бібліотеки пропонують 4 різні варіанти підключення Android пристрою до COM порту через USB.

android

Так як я мав у своєму розпорядженні планшет з USB host портом, і я маю під рукою USB-RS232 перетворювач, то я пішов за варіантом номер 2.

Переваги та недоліки такого рішення полягають у

Переваги

  • USB-RS232 перетворювач можна легко знайти на найближчому радіо ринку
  • ніяких збочень з моїм дорогим моєму серцю планшетом
  • можлива висока швидкість передачі інформації

Недоліки

  • знадобиться USB хост конектор
  • можливо, що девайс доведеться рутанути

Тут опишу підхід у використанні цієї бібліотеки.

Для коректної роботи serialPortFinder необхідно, щоб перехідник USB-RS232 був підключений, визначений /dev.

Ось таким нехитрим способом можна здійснювати спілкування з дуже великою кількістю заліза через COM порт,

А у нас тут можна отримати грант натестовий період Яндекс.Хмари. Варто лише у полі «секретний пароль» запровадити «Хабр»