Cześć,
chciałem Wam pokazać bardzo ciekawe narzędzie do tworzenia prostych aplikacji na androida bez konieczności programowania. Dzięki MIT App Inventor możemy w kilka minut stworzyć aplikację i co ciekawe mamy podgląd na żywo na telefonie bez konieczności kompilacji i wgrywania aplikacji na telefon.
1. Jeżeli nie mamy to ściągamy jave
http://java.com/en/download/index.jsp2. Instalujemy na telefonie aplikacje z google play
https://play.google.com/store/apps/details?id=edu.mit.appinventor.aicompanion2&hl=pl3. Wchodzimy na stronę
http://beta.appinventor.mit.edu/ i logujemy się ( można wykorzystać konto z gmail)
No to przechodzimy do stworzenia pierwszej aplikacji.
Zrobimy aplikację która wyśle string do naszego avr'a za pomocą BT. Żeby nie było tak łatwo string będzie "wpisywany" do aplikacji za pomocą naszej mowy.
1. Wybieramy NEW w lewym górnym rogu i tworzymy nazwę naszego projektu.
Naszym oczom ukarze się takie oto okno do projektowania:
Teraz dodamy jeden przycisk (Basic/button) , listę która pokaże nam dostępne urządzenia BT(Basic/list picker), klient bluetooth (other stuff/bluetoothClient) oraz narzędzie do rozpoznawania mowy (other stuff/ speechRecognizer). Aby dodać jakiś element do aplikacji wystarczy go przeciągnąć na okienko przedstawiające ekran telefonu.
Po tych operacjach nasz ekran powinien wyglądać tak :
Klikając na jakiś element jego opcje pojawią się po prawej stronie. Tam zmieniamy wielkość, nazwę itp.
Zmieńmy jeszcze opcję naszego Screen1. Ustawmy możliwość zmiany orientacji aplikacji zależnie od położenia telefonu. Opcja dostępna po kliknięciu na screen1 w kolumnie Components (screenOrientation/Sensor)
.
Teraz przechodzimy do "oprogramowania" naszych elementów. W tym celu klikamy w prawym górnym rogu na "open the blocks editor" i otwieramy plik który zacznie się pobierać. Po otwarciu ściągniętego pliku powinien pojawić się poniższy komunikat :
klikamy Cancel, następnie OK. Powinniśmy zobaczyć :
Jest to nasz edytor którego będziemy teraz używać. Teraz w prawym górnym rogu klikamy "connect to device"/wifi. Pokaże się nam takie okno:
Teraz odpalamy aplikację na telefonie którą wcześniej ściągaliśmy. Na telefonie wygląda to tak :
Teraz przepisujemy kod ręcznie bądź skanujemy kod QR (żeby to zrobić trzeba mieć zainstalowaną konkretną aplikacje dedykowaną do tego programu -
https://play.google.com/store/apps/details?id=com.google.zxing.client.android&hl=pl.
Tak powinien wyglądać program do którego przepisujemy bądz skanujemy kod QR
Po tej operacji na telefonie pokaże się nam taki ekran:
Niestety ale jeszcze żadne klikanie na przyciski nic nie da, ale zaraz to zmienimy
. Wracamy do naszego edytora z javy.
Najpierw zajmiemy się naszym buttonem (wróćmy na chwilę do aplikacji w przeglądarce, musimy dodać jeszcze jakiś textBox(basic/textbox), żeby zobaczyć co mówimy
)
W edytorze przechodzimy do zakładki My blocks/ Button1 i przeciągamy na pole po prawej "button1.Click". Następnie dołączamy do tego "button1.click" z pola "speechRecognizer1" speechRecognizer1.GetText i łączymy je razem. Następnie z "speechRecognizer1" łapiemy SpeechRecognizer1.AfterGettingText i przeciągamy na to samo pole gdzie wcześniej wylądaował nasz button. Dodajemy do tego TextBox1/ TextBox1.Text ( ten ze wcięciem na końcu) i jeszcze do tego dołączamy z opcji "speechRecognizer1" speechRecognizer1.rezult. Po połączeniu wszystkiego powinno wyglądać to tak:
Wracamy teraz do naszego telefonu. Aplikacja zaktualizowała się automatycznie. Po naciśnięciu przycisku "mów" powinna wyskoczyć aplikacja która rozpozna naszą mowę i wyświetli ją na naszym textBoxie.
Za chwilę zajmiemy się wysłaniem tego tekstu do naszego avr'ka.
edit.
Dobra to dodajemy opcję wysyłania stringa pozyskanego z naszej mowy do avr'a.
Z bloków tworzymy coś takiego :
Wszystkie bloki dostępne są w zakładkach My blocks oraz build-in.
Teraz po naciśnięciu "lista urządzeń BT" pojawią się nam wszystkie "zaprzyjaźnione" urządzenia z którymi się powiązaliśmy. Wybieramy naszego BTM-222 i czekamy aż jego dioda zacznie świecić światłem ciągłym. Następnie klikamy "mów" i mówimy to co chcemy wysłać na nasz lcd.
Do obsługi przychodzących stringów pozwoliłem sobie wykorzystać bibliotekę kolegi Antystatycznego z tematu
http://forum.atnel.pl/topic3461.html. W bibliotekach nie zmieniałem niczego oprócz prędkości BAUD na 19200. Mój plik main.c wygląda tak:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
MIT app inventor ma na prawdę bardzo dużo ciekawych opcji które można wykorzystać w ciekawy sposób. Mam nadzieje, że komuś się przyda. Pozdrawiam i zachęcam do dyskusji.
edit2.
Zapomniałbym o jednej rzeczy. Aplikację można ściągnąć w formacie .apk i zainstalować bezpośrednio na telefonie za pomocą tego przycisku: