Робота з COM портом в Android додатках
Усі доброго часу доби!
Одного разу я замислився над розробкою програми, яка вимагала спілкування з hardware пристроєм, через COM порт. Хоча Android дбайливо надає api для роботи з usb пристроями, воно мені на жаль не підходило, тому що хотілося здійснювати підтримку мого старого планшета на базі Android версії 2.2. Стандартне api від Гугла, не підходило з двох причин:
- по-перше воно не спрацювало для мене.
- девайс у мене все-таки старенький
Отже, після тривалого пошуку в інтернеті я натрапив на дуже цікаве рішення android-serialport-api. Дане рішення є Java обгортку в якій через JNI в якій здійснюються виклики до USB пристрою.
Розробники бібліотеки пропонують 4 різні варіанти підключення Android пристрою до COM порту через USB.
Так як я мав у своєму розпорядженні планшет з USB host портом, і я маю під рукою USB-RS232 перетворювач, то я пішов за варіантом номер 2.
Переваги та недоліки такого рішення полягають у
Переваги
- USB-RS232 перетворювач можна легко знайти на найближчому радіо ринку
- ніяких збочень з моїм дорогим моєму серцю планшетом
- можлива висока швидкість передачі інформації
Недоліки
- знадобиться USB хост конектор
- можливо, що девайс доведеться рутанути
Тут опишу підхід у використанні цієї бібліотеки.
Для коректної роботи serialPortFinder необхідно, щоб перехідник USB-RS232 був підключений, визначений /dev.
Ось таким нехитрим способом можна здійснювати спілкування з дуже великою кількістю заліза через COM порт,
А у нас тут можна отримати грант натестовий період Яндекс.Хмари. Варто лише у полі «секретний пароль» запровадити «Хабр»