Tworzenie aplikacji Android – #1 – Wstęp

Tworzenie aplikacji Android – #1 – Wstęp

W kursie chciałbym przedstawić proces tworzenia własnej aplikacji na urządzenie z system Android.

Program będzie miała za zadanie sterować robotem lub dowolną inną konstrukcją. Będzie również mógł przedstawiać aktualny stan, oraz wybrane parametry urządzenia.

Następny artykuł z serii »

Wszystko to za pomocą łączności bezprzewodowej, niewielkim kosztem i za pomocą stosunkowo szybko zrobionej własnej aplikacji na popularne ostatnimi czasy urządzenia z system od Google’a.

Wprowadzenie do kursu Androida

Kurs składa się z 4 części. Przedstawiam w nim możliwości naszej aplikacji oraz cały proces tworzenia. Wszystko to, aby w ostatnich częściach uruchomić aplikację, sparować ją z robotem i korzystać z dobrodziejstw nowoczesnych telefonów.

Teraz może zaskoczę (być może negatywnie) część czytelników. Otóż jak zapewne większość wie, aplikacje na androida instalowane z pakietów .apk, lub pobierane ze sklepu play są w 100% pisane w Javie, a przynajmniej w znacznym stopniu, a następnie uruchamianie na wirtualnej maszynie Dalvik.

Wiem, że zapewne niektórzy z was mają Jave w małym palcu, jednak ja nie jestem w stanie się do niej przekonać z kilku względów. Przede wszystkim dlatego, że napisanie podobnej aplikacji w Javie wymaga niewyobrażalnego (w porównaniu z aplikacją którą będziemy robili) nakładu czasu. Prawdą jest, że aplikacja taka będzie znacznie bardziej wydajna oraz nie będzie tak ograniczona możliwościami, jednak dla jednej/kilku prostych aplikacji, które z założenia mają powstać szybko możemy poradzić sobie w inny sposób.

Środowisko MIT App inventor

Aplikację będziemy robili (bo mówiąc „pisali” lekko bym naciągał) w środowisku MIT App inventor. Dawniej rozwijane przez Google, dziś przez MIT środowisko on-line do prostego i szybkiego tworzenia aplikacji w sposób graficzny. Podobnie do języka drabinkowego dla sterowników PLC, z tym, ze tu wszystkim zarządza system przerwań/zdarzeń.

MIT App inventor - edytor wizualny

MIT App inventor - edytor wizualny

Do przeprowadzenia kursu wykorzystam Smartfona HTC Desire (A8181, znany tez jako HTC Bravo) ze zmienionym romem, konkretnie MIUI 2.3.9 na androidzie 2.3.7.

IMG_5234dd519dece7985

MIT App inventor - edytor kodu

MIT App inventor - edytor kodu

App inventorem działali będziemy na komputerze PC (naprawdę nie jest wymagana bardzo dobra konfiguracja sprzętowa) pod systemem Windows. Wg informacji na stronie programować możemy również pod kontrolą systemu Mac OSX. Zostańmy jednak przy Windowsie, u mnie 64bitowa wersja Windows 7.

Dodam, że część naszego środowiska działa w przeglądarce internetowej dlatego wymagane jest stałe podłączenie z internetem, oraz posiadanie konta Google do zalogowania. Ma to swoją zaletę. Otóż po zalogowaniu się mamy dostęp do wszystkich swoich aplikacji. Z każdego miejsca na ziemi, z dowolnego komputera, bez konieczności ręcznego robienia kopii zapasowej w chmurze.

Ze sprzętowych elementów wymaganych do osiągnięcia naszego celu potrzebujemy jeszcze Transceivera Bluetooth. Dlaczego Bluetooth? O tym napiszę za chwilę. Moduł może być tak naprawdę dowolny. Jedynym wymogiem jest wspieranie trybu slave na profilu SPP (Serial Port Profile) do komunikacji z systemem zewnętrznym wystarczy nam para sygnałowa TX/RX. Ja używam popularnego modułu bluetooth BTM222 wlutowanego już dość dawno w zgrabną płyteczkę wraz ze stabilizatorem, oraz układem buforującym umożliwiającym podłączenie BTM’a do układu w standardzie napięciowym TTL +5V. Schemat połączeń i pomysł zaczerpnięty z modułu pana Mirosława (Użytkownika Mirekk36), kiedy nie można było nigdzie gotowego modułu dostać od ręki, za co bardzo dziękuję.

modul_bluetooth

Wybór standardu komunikacji

Wracając do zagadnienia, dlaczego bluetooth? Patrząc na listę dostępnych bezprzewodowych technologii w nowych modelach urządzeń mobilnych możemy dojść do wniosku, że mamy gigantyczne możliwości podłączenia się z naszym robotem.

Należy jednak zauważyć, że poza Wlan i bluetooth niema technologii, która by odpowiadała naszym założeniom. Sieć GSM (W rozumieniu sieci 2G, 3G, oraz innych standardów należących do transmisji w stylu urządzenie – odbiornik zewnętrzny – sieć) ma przede wszystkim trzy wady.

Przede wszystkim koszt samego modułu w urządzeniu, opłaty za transmisje danych oraz czasy reakcji. Z popularnych standardów pozostaje jeszcze NFC, pomijając wszystkie inne aspekty, myślę, że zasięg kilku(nastu) cm jest jednak troszkę zbyt mały dla naszych zastosowań. Więc na polu boju zostały Bluetooth i Wifi z racji niższego kosztu i łatwiejszej obsługi tego pierwszego wybór był oczywisty.

Posumowanie

Tym akcentem myślę, że możemy zakończyć część pierwszą – czysto teoretyczną, dość ogólnikową i organizacyjną. Mam jednak nadzieję przybliżającą nieco zagadnienie i dalsze plany.

Na zakończenie pokażę już działającą zrobioną wcześniej aplikację do sterowania i zmiany nastaw moje linefollowera Silver Shafta.

W następnej, 2 części (bardziej zwięzłej i treściwej), instalacja, konfiguracja, oraz połączenie telefonu z App inventorem w trybie debugowania na żywo, oraz debugowania bezprzewodowego.

Następny artykuł z serii »

android, bluetooth, kurs, kursAndroid, programowanie

Trwa ładowanie komentarzy...