Skocz do zawartości
Naelektryzowany

[Kurs] Tworzenie własnej aplikacji Android do sterowania przez Bluetooth Cz. 3

Pomocna odpowiedź

Witam już w trzeciej części kursu. Dziś zajmiemy się konfiguracją naszego sprzętowego modułu radiowego bluetooth BTM-222, komunikacją układu scalonego – moduł bluetooth. Następnie przejdziemy do app inventora i spróbujemy zrobić aplikację, która nawiąże połączenie i wyśle pojedynczy bajt do naszego mikrokontrolera. Oczywiście wszystko bezprzewodowo, dzięki wspaniałemu wynalazkowi jakim jest bluetooth.

UWAGA, to tylko wstęp! Dalsza część artykułu dostępna jest na blogu.

Przeczytaj całość »

Poniżej znajdują się komentarze powiązane z tym wpisem.

003v2.thumb.png.fe719b18119fc5eee1ab275094292fac.png

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

a czy za pomocą App Inventora można użyć USB w telefonie jako Virtual Serial?

Udostępnij ten post


Link to post
Share on other sites

Mam parę pytań, jeżeli użyję konwertera UBS-UART to będzie wszystko ok? (tnz. jak w Twoim przypadku, kiedy korzystasz z portu COM?) Jeżeli użyję konwertera USB-UART to muszę tylko zmienić ustawienia na odpowiedni port USB w konsoli na komputerze? (czyli z portu COM na USB?)

Ale pewnie kupię konwerter RS232, to który byłby dobry? 1, czy 2?

1. http://electropark.pl/moduly-komunikacji/2803-konwerter-poziomow-napiec-max3232-rs232-kamodrs-5901002803001.html

2. http://electropark.pl/moduly-komunikacji/3088-konwerter-rs232-ttl-5901003088001.html

A teraz co do modułu Bluetooth. Skąd wziąłeś schemat i pcb do tego modułu - osobiście szukałem ale takiego nie znalazłem. Mógłbyś udostępnić swój schemat i pcb?

Jak podłączamy pierwszy raz moduł do PC'ta to trzeba zamienić połączenie Rx i Tx? Czyli:

Konwerter: Rx-->Tx Bluetooth

Konwerter: Tx-->Rx Bluetooth

Sorki za takie pytania, ale sami wiecie 😃 Dopiero zaczynam ogarniać Bluetooth'a 😋 i nie chciałbym czegoś popsuć.

Udostępnij ten post


Link to post
Share on other sites
a czy za pomocą App Inventora można użyć USB w telefonie jako Virtual Serial?

Niestety nie. AppInventor nie pozwala na coś takiego, zresztą chcąc to napisać nawet w javie trzeba by się mocno na główkować. Bo należy podejść do obsługi sprzętowego konwertera. Poza samą obsługą otg wymagana jest implementacja sterownika konwertera RS232. Natomiast nie widzę przeszkód by zastosować tani moduł bluetooth sprowadzony zza wschodniej granicy, którego koszt nie będzie znacząco różnił się od samej przejściówki na usb. Pod warunkiem, że wystarczą nam tylko (albo i w sumie aż) linię RX/TX.

Mam parę pytań, jeżeli użyję konwertera UBS-UART to będzie wszystko ok? (tnz. jak w Twoim przypadku, kiedy korzystasz z portu COM?) Jeżeli użyję konwertera USB-UART to muszę tylko zmienić ustawienia na odpowiedni port USB w konsoli na komputerze? (czyli z portu COM na USB?)

Ale pewnie kupię konwerter RS232, to który byłby dobry? 1, czy 2?

1. http://electropark.pl/moduly-komunikacji/2803-konwerter-poziomow-napiec-max3232-rs232-kamodrs-5901002803001.html

2. http://electropark.pl/moduly-komunikacji/3088-konwerter-rs232-ttl-5901003088001.html

A teraz co do modułu Bluetooth. Skąd wziąłeś schemat i pcb do tego modułu - osobiście szukałem ale takiego nie znalazłem. Mógłbyś udostępnić swój schemat i pcb?

Jak podłączamy pierwszy raz moduł do PC'ta to trzeba zamienić połączenie Rx i Tx? Czyli:

Konwerter: Rx-->Tx Bluetooth

Konwerter: Tx-->Rx Bluetooth

Sorki za takie pytania, ale sami wiecie 😃 Dopiero zaczynam ogarniać Bluetooth'a 😋 i nie chciałbym czegoś popsuć.

Konwerter USB-Uart będzie działał jak najbardziej. Zresztą pisałem o tym wyżej. Wystarczy, ze w terminalu ustawisz taki sam port, jaki przyznał mu system (do sprawdzenia w menadżerze urządzeń)

Ale... To co podałeś w linkach to nie konwertery USB-uart a konwertery poziomów logicznych RS232-ttl (czyli to co ja mam wbudowane w tą wtyczkę z dwoma 3mm ledami) To jak najbardziej jest ok, ale do tego potrzebujesz portu RS232 w komputerze. 😉

Odnośnie podłączenia tak jak mówisz. Jest to w miarę logiczne bo TXD to transmit data, a RXD to receive data. Więc jak jedno nadaje to drugie musi odbierać na tej samej linii.

Odnośnie schematu/PCB szczerze nie radzę robić tego na własnoręcznej pcb. użeranie się z przelotkami pod modułem, oraz samo lutowanie to coś strasznego. Sam przez kilka dni nie mogłem dojść do tego dlaczego transmisja działa w jedną stronę. Wylutowałem BTM-222 (traumatyczne przeżycie) i układ scalony na stronie bottom. Sam moduł powstał na podstawie projektu pana Mirekk36, który udostępnił schematy na swoim forum, oraz na innym znanym forum elektronicznym, za co jeszcze raz mu dziękuję. Jeśli chcesz sam zrobić płytkę polecam zrobić trochę większą aby nie było konieczności robienia przelotek ( i w miarę możliwości ścieżek) pod BTM.

Udostępnij ten post


Link to post
Share on other sites

Chodzilo mi o to, że jak mam uruchomiony VCP na STM32 i przesyłam dane do komputera przez USB. Chciałem tak samo przesłać do telefonu, ale obsługa po stronie telefonu nie jest taka prosta... Szkoda, że App Inventor tego nie obsługuje. Wydawało mi się, że skoro obsługuje bluetooth to USB też... Szkoda

Udostępnij ten post


Link to post
Share on other sites

Ok, wpadłem na pomysł, żeby zrobić samemu taki konwerter RS232 (pewnie wyjdzie taniej) i dlatego mam pytanie, czy z tej stronki ten konwerter byłby ok?

http://ficara.altervista.org/?p=363

A Ty swój konwerter z czego zrobiłeś? Wzorowałeś się z jakiejś stronki internetowej?

Udostępnij ten post


Link to post
Share on other sites

szukaj pod hasłem MAX232 to najbardziej popularny, stosunkowo tani i łatwo dostępny układ konwertera, który umożliwi Ci podłączenie BTM, lub innych układów do komputera przez port szeregowy. Wzorować możesz się na datasheecie, a jak chcesz gotowca, to pod hasłem konwerter, przystawka, przejściówka MAX232 na pewno coś znajdziesz. Zresztą temat był też gdzieś poruszany na forum, wystarczy poszukać, a już wiesz pod jakimi frazami, więc... do dzieła. 😉

Udostępnij ten post


Link to post
Share on other sites

Znalazłem w Internecie parę schematów i wybrałem ten jeden 😋 Zrobiłem płytkę PCB tego właśnie konwertera jak i płytkę do modułu Bluetooth. I chyba jest ok 🙂

Konwerter:

BT:

EDIT: nie parz na stabilizator 7805 dałem taki, bo obudowa jest taka sama jak dla stabilizatora 3,3V 😋

[ Dodano: 02-10-2013, 19:54 ]

EDIT2: Czy w tym konwerterze przy złączu D-Sub9 mam połączyć piny 7->8 i 6->4 razem? Bo w jednej książce pisze, że tak, a w Internecie wyczytałem, że nie.

Jak to wygląda u Ciebie?

Udostępnij ten post


Link to post
Share on other sites

Czwarta część w przygotowaniu, powinna ukazać się w następny weekend. Teraz zapraszam na "Trailer" tego co będzie się działo w następnej części. 😉

Podziękowania dla młodszego brata, który w ostatniej scenie pokazał, że obsługa aplikacji jest dziecinnie łatwa. 😃

Udostępnij ten post


Link to post
Share on other sites

W pierwszym poście obiecana aktualizacja (Start/Stop dla FL'a)

Część 4. powinno udać mi się wysłać jutro. Bo wszystko działa już jak należy, ale zwykle problem z wolnym czasem. 😃

Udostępnij ten post


Link to post
Share on other sites

Ten start / stop jest dosyć dobrym sposobem na szybkie zatrzymanie bota, więc na pewno taka (lub jakaś inna) apka będzie miała wzięcie 🙂

Tylko trochę czuję niedosyt z braku implementacji kodu w bocie, ponieważ początkujący będą chcieli z pewnością wykorzystać takie coś w swoich robotach (nie tylko w LF'ach) i za bardzo nie będą umieli napisać odpowiedniego programu do obsługi tego. Pewnie jest to proste dla większości z was 😋 ale ja osobiście nie pogardziłbym fragmentem implementacji kodu 🙂

Udostępnij ten post


Link to post
Share on other sites

Rozumiem, jednak założenia kursu były takie, żeby omówić głównie app inventora, a i tak kilka razy wykroczyłem poza ściśle jego zagadnienia. Jeżeli miałbym opisywać kod dla kilku rodzin mikro kontrolerów w kilku językach, to mijałoby się to z celem. Proponuję po prostu przeczytać jakiś kurs/ książkę, która opisuję komunikację uart w danym języku, poszukać na forbocie, lub po prostu zapytać. Nie jestem niestety w stanie opisać wszystkiego.

Widzę, że piszesz w bascomie. Tu odbiór ogranicza się jedynie do

zmienna = Inkey()

oraz wcześniejszej konfiguracji prędkości:

$baud = prędkość w bps 

gdzie zmienna przyjmuje wartość odebranego bajtu, lub 0 jesli bufor jest pusty (nic nie przyszło).

  • Lubię! 2

Udostępnij ten post


Link to post
Share on other sites

Witam

Chciałbym podziękować za dobrze napisany poradnik.

Wszystko przebiegło pomyślnie. Zaciąłem się na samym końcu z tym małym bloczkiem. Nie mogłem go znaleźć. Appkę zrobiłem ale niestety nie chce się połączyć z moim modułem. Oparty jest on o układ BC417 i sparowany jest jako HC-06

Moduł jest sprawny. Napisałem program gdzie procek wysyła dane które mogę odbierać w telefonie w terminalu blueTerm.

W jakim trybie powinien być moduł? Slave/master

Udostępnij ten post


Link to post
Share on other sites

Niestety na moim telefonie z andoridem 4.1.2 aplikacja nie działa. Przy próbie połączenia z wybranym urządzeniem wyrzuca błąd "Need BLUETOOTH_ADMIN permision: Neither user 10106 not current process has android.permision.BLUETOOTH_ADMIN." Na telefonach ze starszym softem aplikacja działa jak należy. Czytałem że najlepiej rozkompilować aplikację, edytować pilk Manifest.xml i skompilować ponownie, ale po ponownym skompilowaniu programem app2market, apka nie chce się zainstalować. Miał ktoś może podobny problem i jakoś sobie z nim poradził ?

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij, aby zacząć pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...