Uzyskaj dostęp do rodzimego portu szeregowego na Androidzie
Chcę udostępnić aplikację / usługę dla systemu Android natywnemu portowi szeregowemu (UART RS-232). Kiedy mówię „native”, mam na myśli prawdziwy UART, a nie USB-serial. Widzę je z terminala (podłączonego do jednego z 4 rodzimych portów szeregowych). Pokazuje, że jądro już zajmuje się materiałami niskiego poziomu.
# ls -l /dev
crw-rw-rw- system system 204, 67 2010-01-01 07:00 s3c2410_serial3
crw-rw-rw- system system 204, 66 2010-01-01 07:00 s3c2410_serial2
crw-rw-rw- system radio 204, 65 2010-01-01 07:00 s3c2410_serial1
crw-rw-rw- system system 204, 64 2010-01-01 07:00 s3c2410_serial0
Używam piernika. Przeportowałem system Android na moją platformę z włączonym procesorem S5PV210. Mam pełną kontrolę nad jądrem i uprawnieniami. Zmodyfikowałem już wiele rzeczy (telefon komórkowy, ekran dotykowy, rozmiar panelu LCD itp.), W tym plik init.rc.
Jak mogę rozmawiać z tymi urządzeniami za pomocą APK systemu Android? Jak widzisz „s3c2410_serial1” pochodzi z „radia” użytkownika, ponieważ oryginalny system, z którego wziąłem kod źródłowy Gingerbread, miał moduł GPRS na tym porcie szeregowym. Łatwo jest zmienić w init.rc. Ale to tylko dowodzi, że możemy uzyskać dostęp do rodzimego portu szeregowego przynajmniej w systemie Android.
Aplikacje lub usługi nie będą musiały kontrolować szybkości transmisji ani żadnych wymyślnych rzeczy w APK. Chcę tylko wysyłać i odbierać znaki. Jądro może ustawić domyślną szybkość transmisji i jestem z tego zadowolony. Nie potrzebuję nawet kontroli nad RTS / CTS.
każda wskazówka jest doceniana.