Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 28 mar 2024, o 17:16


Strefa czasowa: UTC + 1





Utwórz nowy wątek Ten wątek jest zablokowany. Nie możesz w nim pisać ani edytować postów.  [ Posty: 24 ] 
Autor Wiadomość
PostNapisane: 16 wrz 2013, o 18:56 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 maja 2012
Posty: 174
Lokalizacja: Gliwice
Pomógł: 19

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.jsp
2. Instalujemy na telefonie aplikacje z google play https://play.google.com/store/apps/details?id=edu.mit.appinventor.aicompanion2&hl=pl
3. 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.
Obrazek

Naszym oczom ukarze się takie oto okno do projektowania:
Obrazek

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 :
Obrazek

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)
Obrazek.

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 :
Obrazek

klikamy Cancel, następnie OK. Powinniśmy zobaczyć :
Obrazek

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 :
Obrazek

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

Obrazek

Po tej operacji na telefonie pokaże się nam taki ekran:
Obrazek

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:
Obrazek

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.
Obrazek
Obrazek

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 :
Obrazek

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:
Składnia: [ Pobierz ] [ Ukryj ]
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:
Obrazek



Ostatnio edytowano 16 wrz 2013, o 19:36 przez sz4t4n, łącznie edytowano 3 razy

Góra
 Zobacz profil  
 
PostNapisane: 16 wrz 2013, o 19:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 lut 2013
Posty: 101
Lokalizacja: Wrocław
Pomógł: 4

Nie działa powiększanie obrazków.

_________________
ATB 1.04, Bluebook wyd.II, Greenbook wyd.II



Góra
 Zobacz profil  
 
PostNapisane: 16 wrz 2013, o 19:06 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 maja 2012
Posty: 174
Lokalizacja: Gliwice
Pomógł: 19

już poprawiłem



Góra
 Zobacz profil  
 
PostNapisane: 16 wrz 2013, o 19:19 
Offline
Użytkownik

Dołączył(a): 29 lis 2012
Posty: 1074
Lokalizacja: Sochaczew
Pomógł: 21

Już znalazłem kilka dni temu. Ciekawa aplikacja. Szczerze przyznam że szukałem czegoś takiego już dawno temu a dowodem jest mój temat na innym forum:

-> LINK <-



Góra
 Zobacz profil  
 
PostNapisane: 16 wrz 2013, o 20:54 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 sie 2013
Posty: 199
Pomógł: 1

widze tam duzo "zwolenników" linuxa



Góra
 Zobacz profil  
 
PostNapisane: 25 gru 2013, o 12:25 
Offline
Nowy

Dołączył(a): 25 gru 2013
Posty: 9
Pomógł: 0

Witam
Jako ,że jestem tu nowy i do tego początkujący z góry apeluje o wyrozumiałość.
Usiłuje zbudować przy użyciu programu App Inventor klienta TCP (TinywebIP - ShivalWolf Android App Inventor Wiki) i tu pojawia się problem mianowicie : przykład programu zamieszczony pod w/w linkiem po uruchomieniu wyświetla komunikat "Niestety aplikacja Tinywebip została zatrzymana"

Czy ktoś z Was mógłby sprawdzić u siebie i napisać w czym tkwi problem oraz czy w miejsce TestMessage\n\n\xFF\xFF\x00 jeśli wpisze kod HEX lub ASCII to zadziała ?
Ewentualnie może ktoś pomoże mi zbudować w App Inventorze klienta TCP w którym wpisując adres IP urządzenia oraz numer portu będę mógł wysyłać kod HEX lub ASCII do dedykowanego urządzenia lub w eclipsie przy użyciu Javy.

Z góry dziękuje



Góra
 Zobacz profil  
 
PostNapisane: 29 gru 2013, o 05:01 
Offline
Nowy

Dołączył(a): 15 paź 2013
Posty: 11
Pomógł: 0

aa no nawet nie wiedziałem, że tutaj jest wątek na temat appinventor

Tutaj macie parę moich projektów z wykorzystaniem appinventor -> http://www.instructables.com/member/kerimil/

Cytuj:
siłuje zbudować przy użyciu programu App Inventor klienta TCP
Tutaj masz jak ja to zrealizowałem. W skrócie wykorzystuje querry strings do wysyłania danych.

http://www.instructables.com/id/The-cheapest-and-simplest-method-to-control-arduin/



Góra
 Zobacz profil  
 
PostNapisane: 30 gru 2013, o 09:59 
Offline
Nowy

Dołączył(a): 25 gru 2013
Posty: 9
Pomógł: 0

wreszcie nastapil jakis przelom w mojej sprawie wkrotce to przetestuje :)



Góra
 Zobacz profil  
 
PostNapisane: 30 gru 2013, o 14:54 
Offline
Nowy

Dołączył(a): 15 paź 2013
Posty: 11
Pomógł: 0

A tak przy okazji - pamiętaj by użyć starego appinventora nie nowej wersji jeśli chcesz korzystać z plików źródłowych stworzonych przez innych. Nowy app inventor niczym narazie się nie różni - oprócz troche innego interfejsu użytkownika, ale nie zaakceptuje plików w starej wersji.
Spróbuj ten link -> http://beta.appinventor.mit.edu/



Góra
 Zobacz profil  
 
PostNapisane: 25 sty 2014, o 17:12 
Offline
Użytkownik

Dołączył(a): 01 lut 2013
Posty: 28
Lokalizacja: okolice Koszalina
Pomógł: 1

Witajcie.
Odgrzeję trochę temat, bowiem App Inventor został zaktualizowany do wersji 2 i nie mogę znaleźć jednego z klocków, a mianowicie tej pionowej kreski
Obrazek
Jak to w ogóle ugryźć?
Z góry dziękuję za wszelkie podpowiedzi ;)



Góra
 Zobacz profil  
 
PostNapisane: 25 sty 2014, o 17:54 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 maja 2012
Posty: 174
Lokalizacja: Gliwice
Pomógł: 19

Ten konkretny przykład możesz zrealizować tak:
Obrazek



Góra
 Zobacz profil  
 
PostNapisane: 25 sty 2014, o 19:35 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 lut 2013
Posty: 600
Pomógł: 47

Chudy napisał(a):
Witajcie.
Odgrzeję trochę temat, bowiem App Inventor został zaktualizowany do wersji 2 i nie mogę znaleźć jednego z klocków, a mianowicie tej pionowej kreski

Jak to w ogóle ugryźć?
Z góry dziękuję za wszelkie podpowiedzi


Znajdziesz to w zakładce Built-In pierwsza pozycja Definition

_________________
https://www.instagram.com/myfirstquadcopter/



Góra
 Zobacz profil  
 
PostNapisane: 25 sty 2014, o 19:42 
Offline
Użytkownik

Dołączył(a): 01 lut 2013
Posty: 28
Lokalizacja: okolice Koszalina
Pomógł: 1

sz4t4n -dziękuję :D

kurnachatka napisał(a):

Znajdziesz to w zakładce Built-In pierwsza pozycja Definition


Pod warunkiem, że działamy na starej wersji - w nowej jest całkiem inna struktura ;)



Góra
 Zobacz profil  
 
PostNapisane: 25 sty 2014, o 19:46 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 lut 2013
Posty: 600
Pomógł: 47

ja używam wersji beta i wydaje mi się że jest to najnowsza wersja
tu masz link http://beta.appinventor.mit.edu/

_________________
https://www.instagram.com/myfirstquadcopter/



Góra
 Zobacz profil  
 
PostNapisane: 25 sty 2014, o 19:49 
Offline
Użytkownik

Dołączył(a): 01 lut 2013
Posty: 28
Lokalizacja: okolice Koszalina
Pomógł: 1

No to się mylisz ;)
tu masz najnowszą wersję - 2 ;)
http://appinventor.mit.edu/explore/



Góra
 Zobacz profil  
 
PostNapisane: 25 sty 2014, o 19:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 lut 2013
Posty: 600
Pomógł: 47

Łał nie wiedziałem dzięki wypróbuję :lol:

_________________
https://www.instagram.com/myfirstquadcopter/



Góra
 Zobacz profil  
 
PostNapisane: 25 sty 2014, o 19:55 
Offline
Użytkownik

Dołączył(a): 01 lut 2013
Posty: 28
Lokalizacja: okolice Koszalina
Pomógł: 1

np :D



Góra
 Zobacz profil  
 
PostNapisane: 7 lut 2014, o 12:45 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 lut 2013
Posty: 600
Pomógł: 47

A wie ktoś może jak obsłużyć zdarzenie nadejścia danych na bluetooth.

Bo ja to obsługuje w odpytywaniu Clock a następnie sprawdzam czy w BytesAvailableToReceive > 0
Ale wydaje mi się że musi być jakaś inna metoda obsłużenia tego zdarzenia?

_________________
https://www.instagram.com/myfirstquadcopter/



Góra
 Zobacz profil  
 
PostNapisane: 19 mar 2014, o 02:34 
Offline
Nowy

Dołączył(a): 15 paź 2013
Posty: 11
Pomógł: 0

No właśnie wygląda na to, że nie. Powinien być na to block moim zdaniem od dawna, ale z dodawaniem nowej funkcjonalności to oni się raczej nie śpieszą.

Jakiś czas temu zasugerowałem wprowadzenie wsparcia dla komunikacji po wirtualnym seryjnym przez USB - tak by dało się podpiąć prostą przejściówkę USB-UART albo arduino bezpośrednio pod urządzenie z androidem.
Wiem, że można to zrobić.
Wiem, że użytkownicy mają możliwość dodawania nowych bloków i funkcjonalności, ale temat eclipse i tradycyjne rozwijanie aplikacji pod androida, które jest do tego wymagane, to trochę za dużo dla mnie na tym poziomie.

A szkoda bo otwarło by duże możliwości przed appinventor. Telefon + przejściówka USB-UART i masz gotowy zdalny port, nie mówiąc już o appkach robionych pod konfigurowanie różnego sprzętu, wykorzystaniu w arduino itp. itd.



Góra
 Zobacz profil  
 
PostNapisane: 9 maja 2014, o 22:21 
Offline
Nowy

Dołączył(a): 07 gru 2013
Posty: 6
Pomógł: 0

Witam orientuje się może ktoś jak w appinventor2 zrobić przycisk który działał by w sposób taki:
jak wcisnę przycisk i trzymam to pojawia się napis trzymam
a jak puszcze to pojawia się napis puszczony. Z góry dziękuję za pomoc.



Góra
 Zobacz profil  
 
PostNapisane: 29 paź 2014, o 12:42 
Offline
Nowy

Dołączył(a): 16 paź 2013
Posty: 1
Pomógł: 0

Witam. Od pewnego czasu zajmuje się zabawą w AI2. Napotkałem pewien problem z BT. Tzn używam BTM222, zrobiłem obsługę BT i poprzez terminal wysyłam pojedyńcze znaki i ramki danych i odczytuje je bezbłędnie w moim tablecie. Docelowo chciałem podłączyć do urządzenia które sypie dane cały czas (dane które mnie nie interesują). Dla mnie ważna jest ramka gdzie dane ułożą sie w następujący sposób: "5A A5 05 82 00 3A 00 01". Robię tak że pobieram po jednym znaku "receiveUnsigned1byteNumber" i sprawdzam przez IF jeżeli pierwszy znak się zgadza sprawdzam drugi itd az sprawdze wszystkie powyższe znaki. Problem pojawia się wtedy gdy urządzenie sypie bardzo dużo znaków i wtedy zapełnia mi się bufor i po odbieraniu znaów przez sekunde tablet jeszcze z 10 minut analizuje znaki. Jak przyspieszyc te operacje ?? Pomoze ktoś ?



Góra
 Zobacz profil  
 
PostNapisane: 12 paź 2015, o 21:11 
Offline
Nowy

Dołączył(a): 12 paź 2015
Posty: 1
Pomógł: 0

Witam
Jestem nowy na tym forum
Mam prosbe
Czy ktos z forumowiczow pomoglby mi dodac do programu z tej strony http://puravidaapps.com/checkbox.php taka funkcje ktora powodowala by zapamietanie mojego wyboru na tej liscie.
Generalnie planuje zrobic sobie taki wlasny plan zajec i ma to polegac na tym ze jak juz cos w tej liscie zaznacze to zeby nie znikalo po zamknieciu aplikacji.



Góra
 Zobacz profil  
 
PostNapisane: 23 wrz 2018, o 22:22 
Offline
Użytkownik

Dołączył(a): 31 mar 2017
Posty: 156
Pomógł: 0

W zasadzie szukam podobnej opcji. Tworzę pewien dziennik i potrzebuję zapamiętywać kilka danych po wyjściu z programu. Można zrobić jakiś zapis do pliku i odczyt z niego, bądź w inny sposób trwale zapisać dane?



Góra
 Zobacz profil  
 
PostNapisane: 24 wrz 2018, o 08:26 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

radek04 napisał(a):
W zasadzie szukam podobnej opcji. Tworzę pewien dziennik i potrzebuję zapamiętywać kilka danych po wyjściu z programu. Można zrobić jakiś zapis do pliku i odczyt z niego, bądź w inny sposób trwale zapisać dane?


A widział kolega kiedy był ostatni wpis w tym wątku? Proszę nie bawić się w archeologa i zakładać nowe wątki na forum z pytaniami - to moja gorąca prośba

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Ten wątek jest zablokowany. Nie możesz w nim pisać ani edytować postów.  [ Posty: 24 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO