UART i telefon

Praktycznie z każdym telefonem komórkowym można połączyć się poprzez protokół UART (popularny COM), który jest podstawową transmisją danych od wielu lat. Oczywiście kupno taniego laptopa z wyjściem obsługującym RS232 graniczy z cudem. A połączone RS232 z komputerem i tak wymagałoby obniżenia napięcia. Dlatego ludzie zaczęli sobie radzić poprzez konstruowanie konwerterów na modułach takich jak FT232, które potrafią wykryć COM podłączony do USB. Z czasem do każdego telefonu komórkowego zaczęto ładować bluetooth, który także obsługuje protokół UART. Dzięki takiemu rozwiązaniu możemy podpiąć się do każdego telefonu i przesyłać dane poprzez zwykły terminal.

Każdy telefon i karta SIM ma zapisane komendy. Dzięki tym komendą można zadzwonić, napisać sms'a, albo wpisać pin. Listę wszystkich komend można znaleźć na stronie http://gatling.ikk.sztaki.hu/~kissg/gsm/at+c.html oraz w pdf'ie http://ubuntuone.com/p/19xy/. Oczywiście różne telefony mają ograniczony dostęp do niektórych komend. Tak więc w smartfonie nie dostaniemy się bezpośrednio do karty SIM i żeby wysłać komende AT trzeba zainstalować odpowiednie oprogramowanie jako root, które nam to umożliwi. Najłatwiejszym sposobem jest podłączenie się do starego telefonu z bluetooth i tam testować komendy. Ja podłączyłem się do Noki X2-00. Wcisnąłem przycisk COM zaznaczony zielonym kolorem na obrazku. Następnie zobaczyłem na telefonie jaki COM został przydzielony w systemie (zaznaczone kolorem czarnym) i odpaliłem terminal. W Terminalu wpisałem komendę:

ATD123456789;

Ważne, aby na końcu był ten średnik!!  12345678 oznaczał numer telefonu który zostanie wybrany przez tę komendę. Po naciśnięciu przycisku send telefon zaczął wybierać podany numer. Trzeba także pamiętać o załączeniu +CR i LF, bo bez tego nasza komenda nie zostanie zinterpretowana przez kartę SIM.

Do połączenia bluetootha z telefonem użyłem programu bluesoleil, który można pobrać za darmo ze strony http://www.bluesoleil.com/products/S0001201005190001.html

W smartfonie nie mamy bezpośredniego dostępu do karty SIM i musieli byśmy instalować oprogramowanie które da nam dostęp do kary SIM. Takie programy także są dostępne w android markecie. Ja pokaże tylko jak przesyłać komendy z telefonu na komputer za pomocą bolutooth i terminalu obsługującego porty COM.

Wystarczy wejść w android market i ściągnąć program "blueterm" https://play.google.com/store/apps/details?id=es.pymasde.blueterm&feature=related_apps#?t=W251bGwsMSwxLDEwOSwiZXMucHltYXNkZS5ibHVldGVybSJd. Jest to zwykły terminal do odbioru i przesyłania znaków za pomocą bluetooth. Aplikacja czasem działa, a czasem nie, dlatego proponuje zaopatrzyć się w stary telefon z bluetooth lub jakiś inne urządzenie z bluetooth, żeby się nie denerwować.