Friday, August 29, 2008

Nokia 6600 - Python on Board

Ostatnio zainstalowałem sobie na swojej Nokii (po 2 latach ?) język programowania. Programy napisane przeze mnie w Java nie działały :| ale na szczęście jest Python :) Na początku miałem problemy z dowiedzeniem się jaką wersję systemu posiadam. Po długim myszkowaniu w sieci znalazłem witrynę, z której wynika jasno, że posiadam system S60 Second Edition. Skoro tak ściągnąłem sobie odpowiednią wersję PyS60. Poza samym językiem zainstalowałem sobie również PythonScriptShell. Dobra - fajnie. Laptop -> Telefon połączenie działa, ale co dalej ? Szalenie spodobał mi się wpis pokazujący jak otrzymać konsolę Pytona z telefonu na komputerze. Co więcej. Lista aplikacji prezentowana na wiki PyS60 jest imponująca. Jak zobaczyłem co można uzyskać używając aplikacji controlblue wiedziałem, że nie ma bata. Musi zadziałać.

Zacząłem grzebać w sieci. Okazało się, że Ubuntu 8.04 ma niestety błędy w paczuszce bluez-utils. Rozwiązanie znalazłem na jednym z blogów. Chodziło o dodanie repozytorium:
http://ppa.launchpad.net/ubuntu-kennynet/ubuntu hardy main
i zaktualizowaniu paczki bluez-utils. Od teraz wszystko było już proste. W zakładce source dowiedziałem się jak ściągnąć źródła. Po starcie serwera okazało się, że trzeba zmienić troszkę kod. Wykomentowałem linijki:
#port = bluetooth.get_available_port( bluetooth.RFCOMM )
#s.bind(("",port))

i dodałem:
s.bind(("", bluetooth.PORT_ANY))
Po tym zabiegu serwer ruszył jak kobyła. Dobrze jest go odpalić w tle (& na końcu) i przekierować stdout i stderr do /dev/null. Po uploadowaniu klienta i uruchomieniu go, ruszył bez problemów dodałem kilka poleceń i zacząłem się bawić. Patrząć na kod serwera zauważyłem, że wykonywane są po prostu komendy systemowe. Po chwili moja konfiguracja wyglądała tak:
Play/Pause amarok-nightly -t 0
Next amarok-nightly -f 9
Prev amarok-nightly -r 7
Shutdown sudo halt 6

I leżąc wieczorem w łóżeczku zmieniałem sobie piosenki, a jak powieki zrobiły się ciężkie bez ruszania się z miejsca - wyłączyłem komputer :] Po prostu gucio.

No comments: