Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Komunikacja bluetooth:komórka - ATmega32 + BTM222 lub inny

24 Lut 2010 15:02 11000 46
  • Poziom 13  
    Witam!

    Czy mógłby mi ktoś wytłumaczyć lub wskazać stronę, z której mógłbym się dowiedzieć czegoś odnośnie podłączania, zasady działania i obsługi modułu bluetooth współpracującego z procesorem ATmega32 ? Krótko mówiąc chciałbym wiedzieć jak stworzyć połączenie ATmega32 + bluetooth z telefonem komórkowym, który miałby sterować robotem. Chodzi mi również o napisanie jak najprostszej aplikacji Java na komórkę, która sterowałaby moim robotem. Jeśli chodzi o ten temat to jestem kompletnym laikiem, ale chętnie się nauczę ;)
  • Pomocny post
    Poziom 19  
    Sprawa jest prosta, odpalasz moduł BT w trybie Slave łączysz go z ATmaega przez port szeregowy i to w zasadzie tyle. Następnie parujesz BT z telefonem i w efekcie masz transparentny kanał komunikacyjny (tzn. nie interesuje Cię co się dzieje pomiędzy BT a telefonem). Dalej pozostaje pisanie aplikacji na Atmega i telefon.
  • Poziom 13  
    Jeśli chodzi o połączenie to tylko tyle ?? ;) Wystarczy, że odpowiednie wyprowadzenia z BTM222 do RS232 w ATmega32 połączę i dam zasilanie a telefon przy parowaniu będzie widział układ jako normalne urządzenie do sparowania? A tak przy okazji to o co chodzi, że go odpalam w trybie " Slave " ?

    Wielkie dzięki za odp. i liczę na kolejne :)
    + pomógł ;]

    Dodano po 43 [minuty]:

    Chciałbym się jeszcze spytać czy nie lepiej byłoby użyć zamiast BTM222 to BTM330 ? Bo jak na tme patrzyłem to BTM222 ma 10m zasięgu a BTM330 100 m zasięgu. I o co chodzi, że BTM222 ma "Protokół komunikacyjny SPP" a BTM330 ma "Protokół komunikacyjny HCI" ? Czym sie to różnie i czego lepiej użyć do komunikacji z telefonem ?

    Proszę o odpowiedzi

    Dodano po 33 [minuty]:

    I jeszcze które wyprowadzenia są którymi z UART bo nie mogę znaleźć schematu wyprowadzeń ani z BTM-222 ani z BTM-330
  • Pomocny post
    Poziom 42  
    Electrik_eye napisał:

    Chciałbym się jeszcze spytać czy nie lepiej byłoby użyć zamiast BTM222 to BTM330 ? Bo jak na tme patrzyłem to BTM222 ma 10m zasięgu
    to bardzo źle czytałeś , bo ma 100m


    Electrik_eye napisał:
    i czego lepiej użyć do komunikacji z telefonem ?

    A potrafisz w ogóle zacząć pisać aplikacje na telefon czy tylko tak sobie pytasz ? Bo jeśli tylko tak sobie - to zaczynasz temat od tyłka strony - więc lepiej zainteresuj się na co pozwala ci środowisko w którym będziesz pisał aplikację i po jakim medium będzie ci pozwalało się komunikować - wtedy nie będziesz zadawał takich pytań. Inaczej polegniesz na pisaniu tej niby prostej aplikacji na telefon.

    Electrik_eye napisał:

    I jeszcze które wyprowadzenia są którymi z UART bo nie mogę znaleźć schematu wyprowadzeń ani z BTM-222 ani z BTM-330


    no rzeczywiście tragedia z tym znalezieniem - nie wspomnę już o wujku googlu ale wystarczy w szukajce elektrody wpisać sobie "BTM-222" żeby znaleźć najróżniejsze i kompleksowe informacje na jego temat zamiast zaczynać wszystko apiać od nowa
  • Pomocny post
    Specjalista - Mikrokontrolery
    Electrik_eye napisał:
    Chciałbym się jeszcze spytać czy nie lepiej byłoby użyć zamiast BTM222 to BTM330 ? Bo jak na tme patrzyłem to BTM222 ma 10m zasięgu a BTM330 100 m zasięgu. I o co chodzi, że BTM222 ma "Protokół komunikacyjny SPP" a BTM330 ma "Protokół komunikacyjny HCI" ? Czym sie to różnie i czego lepiej użyć do komunikacji z telefonem ?


    Jak myślisz jak inni zdobywają wiedzę? Naprawdę ciężko ci sprawdzić np w wikipedii jakie są różnice miedzy tymi protokołami. Poczytaj sobie o profilach bluetooth. Wszystko jest oparte na pewnym stosie protokołów. SPP jest nad HCI to znaczy, że jak masz moduł SPP to możesz korzystać tylko z SPP ("port szeregowy") jak masz HCI to możesz sobie zaimplementować SPP i inne profile programowo, ale to jest już wyższy stopień wtajemniczenia w bluetooth.
  • Poziom 13  
    mirekk36 napisał:

    to bardzo źle czytałeś , bo ma 100m


    Ups... pomyłka ;P

    mirekk36 napisał:

    A potrafisz w ogóle zacząć pisać aplikacje na telefon czy tylko tak sobie pytasz ? Bo jeśli tylko tak sobie - to zaczynasz temat od tyłka strony - więc lepiej zainteresuj się na co pozwala ci środowisko w którym będziesz pisał aplikację i po jakim medium będzie ci pozwalało się komunikować - wtedy nie będziesz zadawał takich pytań. Inaczej polegniesz na pisaniu tej niby prostej aplikacji na telefon.


    Napisać takiej aplikacji w java nie umiem, ale nie pytam tak sobie żeby się popytać ale żeby się dowiedzieć. Pomyślałem, że jak ten drobny ale potrzebny szczegół będę już wiedział ( jak się podłącza ) to poszukam, ewentualnie się popytam o radę jak samą aplikację robić i komunikację ze strony ATmegi32

    Dodano po 7 [minuty]:

    KrzychS : Wielkie dzięki za linki, na pewno zaraz poczytam

    Dodano po 2 [minuty]:

    I tak nawiasem mówiąc to najwyraźniej nie ja się pomyliłem, ale ci z TME:


    Komunikacja bluetooth:komórka - ATmega32 + BTM222 lub inny

    Dodano po 15 [minuty]:

    Aha i zadam jeszcze jedno pytanie. W temacie https://www.elektroda.pl/rtvforum/topic1414894.html

    Jest wszystko ładnie opisane. Tylko tak zapytam żeby być na100% pewny. Zdjęcie https://obrazki.elektroda.pl/83_1251462165.jpg

    Jest tylko schematem już gotowej płytki, którą się kupuje a nie układem do którego mamy tą resztę z układem dorabiać, tak ? Pewnie głupie pytanie ale chcę mieć pweność.
  • Pomocny post
    Poziom 29  
    Zastosowana płytka służy do podłączenia modułu do ATmega w wersji 5V
    Jak widać ze schematu, na dodatkowej płytce jest tylko stabilizator 3V i konwerter poziomów napięć 3V<->5V (moduł BTM-222 działa na 3V) dla łącza szeregowego RS232.

    Jeśli wykorzystujesz ATmega32L to możesz podłączyć sam moduł bluetooth bezpośrednio do mikrokontrolera.
  • Poziom 13  
    Obecnie używam ATmega32 zwykły. Chętnie bym kupił ATmega32L bo za niedługo będę zamawiał elektronikę ale do programowania wykorzystuję gotową płytkę testową. I tam jest podstawka po układ tak, że można też inne programować. W takim razie skoro ta płytka jest pod normalnego ATmegę to ATmega32L nie będę mógł podłączyć? Ewentualnie mógłbym spróbować inaczej, ale nie wiem czy tak można. Układ ma wyjście do programowania i zasilania USB. Tam jest 5V o ile się nie mylę. Ale są też osobne zaciski na inne zasilanie, ale wtedy trzeba zdjąć zworkę " Vcc USB " i dopiero wtedy zasilać. Czy można by bez żadnego uszkodzenie podpiąć ATmegę32L do programowania przez USB, ale zdjąć zworkę " Vcc USB " ( wydaje mi się, że wtedy po prostu zasilanie z USB nie będzie dochodziło ) i podłączyć zewnętrzne zasilanie 3V na czas transferu ? Czy da się to tak rozwiązać czy trzeba inaczej? Proszę o odpowiedzi.

    Pozdrawiam ;]

    Dodano po 9 [minuty]:

    Komunikacja bluetooth:komórka - ATmega32 + BTM222 lub inny

    Chociaż teraz przeczytałem, że ATmega32L ma zakres napięć 2.7V...5.5V więc powinno być ok, prawda ? ;)
  • Pomocny post
    Poziom 42  
    Electrik_eye ---> czy nie lepiej czytać notę PDF do każdego procka zamiast wynajdywać gdzieś jakieś skrawki informacji ??? przecież na pierwszej stronie tejże noty masz wszystko dokładnie opisane i to nie tylko jeśli chodzi o zasilanie. I trzeba by się było bardzo postarać żeby nie zrozumieć tych podstawowych informacji nawet przy bardzo słabym angielskim. Toż każda z wersji L może być spokojnie zasilana z +5V
  • Poziom 13  
    W jednym z linków od KrzychS było napisane, że BTM-222 trzeba skonfigurować za pomocą hyperterminala w Windows. Czy windows ma domyślnie coś takiego czy trzeba zainstalować?
  • Poziom 42  
    Electrik_eye napisał:
    W jednym z linków od KrzychS było napisane, że BTM-222 trzeba skonfigurować za pomocą hyperterminala w Windows. Czy windows ma domyślnie coś takiego czy trzeba zainstalować?


    Nie tylko BTM'a 222 można skonfigurować za pomocą terminala ale jeszcze wiele innych urządzeń - to podstawowe narzędzie - wprawdzie prymitywne dosyć ale musi być w windowsie. Zajrzyj sobie do Narzędzi Komunikacyjnych w Akcesoriach to zobaczysz.
  • Poziom 13  
    Komunikacja bluetooth:komórka - ATmega32 + BTM222 lub inny

    któreś z tych ?
  • Pomocny post
    Poziom 27  
    mirekk36 napisał:
    A potrafisz w ogóle zacząć pisać aplikacje na telefon czy tylko tak sobie pytasz ? Bo jeśli tylko tak sobie - to zaczynasz temat od tyłka strony - więc lepiej zainteresuj się na co pozwala ci środowisko w którym będziesz pisał aplikację i po jakim medium będzie ci pozwalało się komunikować - wtedy nie będziesz zadawał takich pytań. Inaczej polegniesz na pisaniu tej niby prostej aplikacji na telefon.
    ja myślę że to najważniejsze w tym całym temacie. Jakieś 2 lata temu kiedy stałem się posiadaczem sonyerricsona p990 zachciało mi się napisać aplikację. Do dziś zbrakło mi samozaparcia aby z tym się zmierzyć nie mówiąc już o komputerze który zaśmieciłem demami środowisk do programowania komórek. Prosto się mówi że to łatwe ale napisz coś na komórkę tak aby to działało a potem buduj swój sprzęt kolego. PZDR i życzę uporu w poznawaniu nowego.
  • Poziom 13  
    Wieelkie dzięki za linki i odpowiedzi. Zaraz poczytam wszystko co tam jest. Tak przy okazji przyda mi się jak najszybsza nauka, bo serwa już mi przyszły, przerobiłem je i zacznę się powoli bawić konstrukcją mechaniczną robota a pod koniec tego miesiąca powinienem mieć już kupioną całą elektronikę :D

    Dodano po 8 [minuty]:

    Aha, i jeszcze odnośnie tej strony z linku http://javaprogramming.awardspace.com/index.php?pokaz=_kurs&id=1
    i innych zamieszczonych tam kursów. To jest to chyba java na komputer. Pewnie podstawy takie same ale od jakiego "poziomu" JavaME to już coś innego ? Macie może jakieś inne linki do fajnych stron o JavaME ?!
  • Poziom 13  
    Wielkie dzięki. A tak przy okazji to dlaczego używać ATmega32L gdzie kwarc może być tylko 8MHz a nie 16MHz. Przez cały czas myślałem, że chodzi o to, że tylko ATmega32L może pracować z BTM-222 na wspólnym napięciu 3.0 - 3.3V.

    ATmega32L zakres napięć pracy to : 2.7...5.5V

    ATmega32 zakres napięć pracy to : 2.7...5.5V

    Więc niby dlaczego lepiej użyć ATmega32L od ATmega32 skoro zakresy napięć takie same a w ATmege32L nie może być kwarc 16MHz ???

    Pozdrawiam

    Electrik_eye
  • Poziom 42  
    Electrik_eye napisał:

    ATmega32 zakres napięć pracy to : 2.7...5.5V


    Kiedy ty się wreszcie nauczysz czytać not - zresztą co tu dużo do czytania - jak BYK masz w nocie napisane:

    Cytat:
    – 4.5 - 5.5V for ATmega32


    A ty znowu wymyślasz jakieś historie nie z tej ziemii.
  • Poziom 29  
    Konstrukcja mikrokontrolera ATmega32L w odróżnieniu od ATmega32 przystosowana jest do niższych napięć zasilania.
    Cytat:

    • Operating Voltages
    – 2.7 - 5.5V for ATmega32L
    – 4.5 - 5.5V for ATmega32

    Jest to związane z mniejszym zapotrzebowaniem na zużycie energii elektrycznej, jednak konsekwencją tego jest ograniczona szybkość taktowania do 8MHz.
  • Poziom 13  
    Sczerze mówiąc to chyba ławtiej będzie komunikować się z komputerem więc czy są jakieś gotowe proramy ( wątpliwe ) albo jak można to zrobić w języku C albo Delphi. Jak już by mi się udało zrobić na kompa to można pomyśleć o wersji na komórkę no nie ;] ?

    Dodano po 56 [minuty]:

    mirekk36 napisał:
    Electrik_eye napisał:

    ATmega32 zakres napięć pracy to : 2.7...5.5V


    Kiedy ty się wreszcie nauczysz czytać not - zresztą co tu dużo do czytania - jak BYK masz w nocie napisane:

    Cytat:
    – 4.5 - 5.5V for ATmega32


    A ty znowu wymyślasz jakieś historie nie z tej ziemii.
  • Poziom 42  
    Electrik_eye napisał:
    Sczerze mówiąc to chyba ławtiej będzie komunikować się z komputerem więc czy są jakieś gotowe proramy ( wątpliwe ) albo jak można to zrobić w języku C albo Delphi. Jak już by mi się udało zrobić na kompa to można pomyśleć o wersji na komórkę no nie ;] ?


    Dlatego na początku ci pisałem, że zaczynasz od tyłka strony ;) robiąc BTM'a pod komunikację z komórką.

    Najpierw weź ty złóż sam moduł BTM, potem podłącz go do kompa - skonfiguruj prędkość itp i potestuj go w połączeniu z kompem przez zwykły terminal - zestawiając połączenie przez BT. Będziesz miał dwa okna terminala i zobaczysz o co w ogóle tu chodzi.

    Później zrób prostą komunikację procek-BT-PC żeby sobie uzmysłowić wszystko na ten temat.

    A na końcu myśl o pisaniu programu do komunikacji na komórkę czy na PC
  • Poziom 13  
    No i wychodzi na to żeby nie brać informacji z TME o układach bo już drugi raz wyszło na to, że źle czytam a to oni mają błąd :)
  • Poziom 42  
    Electrik_eye napisał:
    No i wychodzi na to żeby nie brać informacji z TME o układach bo już drugi raz wyszło na to, że źle czytam a to oni mają błąd :)


    Dokumentację to się bierze ze stron producentów - masz wtedy prawidłowe noty PDF. Poza tym wątpię żeby w TME napisali ci że ATmega32 może być zasilana od 2,7V - coś źle przeczytałeś
  • Poziom 13  
    Komunikacja bluetooth:komórka - ATmega32 + BTM222 lub inny

    tak mają...

    A co do bluetooth to najpierw zrobię robota a potem bluetooth dam ( dlatego, że na tme nie mają BTM-222 i przewidywany czas dostawy to maj ) później ( chyba, że znacie sklep internetowy gdzie to mają za podobną cenę - to proszę pisać ;)

    I pomyślałem, że łatwiej będzie najpierw zrobić sterowanie bluetooth na komputer więc raczej właśnie tak zacznę. Widziałem parę robocików z sterowaniem przez bluetooth z komputera więc jeśli ktoś ma gotowy program lub może poradzić jak coś takiego zrobić w C albo Delphi to byłbym bardzo wdzięczny :)

    pozdrawiam

    Electrik_eye :)
  • Pomocny post
    Poziom 42  
    Electrik_eye --> rzeczywiście błąd w tym opisie w TME ale ........ ale czy po raz już chyba setny nie przypomina ci się, że po takie informacje trzeba sięgać zawsze do źródła czyli do noty PDF ???

    robot z blutufem i nie tylko masz np tutaj ;)

    https://www.elektroda.pl/rtvforum/topic1584103.html

    Jak napisać program na PC ??? najpierw trzeba opanować w dowolnym z wymienionych przez ciebie języków komunikację przez zwykły port RS232 i zacznij od tego jeśli chcesz coś dalej robić od strony PC ale także i telefonu.
  • Pomocny post
    Poziom 27  
    Microsoft Visual Studio ma bardzo przyjemne obiekty do obsługi RS232. Praktycznie nie trzeba się narobić aby obsłużyć to tak dla odbioru jak i nadawania.
    Napisanie programu to przysłowiowa betka.
  • Poziom 13  
    Dzięki ;P w razie postępów napiszę ;P
  • Poziom 13  
    Płytka już gotowa. Rama od robota prawie już też :) Za niedługo Będę już składał robocika, ale na razie bez BTM-222. A jak go już złożę i będzie jeździł tak jak mu " na sztywno" zaprogramuję to dołączę BTM-222 bo miejsce będzie przygotowane. Jednak żeby skonfigurować bluetooth musiałbym mieć przejściówkę RS232/USB a ona nie należy do najtańszych. Więc pomyślałem ,że zastosuję układ FT232RL i po prostu podłączę BTM-222 przez USB. No tyle, że on jest na TME tylko w wersji SMD ( czyli pewnie tylko taki jest) - no i właśnie w tym problem. Chciałbym się dowiedzieć czy nie ma innego układu takiego jak FT232RL tylko, że nie w SMD.

    Pozdrawiam i z góry dziękuję za odpowiedź :)
  • Pomocny post
    Poziom 42  
    Po co ty kombinujesz budowę własnej przejściówki USB/BT, przecież taka przejściówka gotowa z dobrym oprogramowaniem firmy Widcomm nie powinna kosztować więcej niż 50zł MAX! A za sam moduł BTM plus FT232R zapłacisz sporo więcej - co za kombinacje ? ;)

    Od strony kompa weź przejściówkę do PCta USB/BT np firmy D-Link o symbolu DBT-122 (poszukaj sobie w necie i sprawdź ceny), a do procka sam moduł BTM i to wszystko

    A przy okazji odpowiadam na pytanie - nie wiem gdzie w Win7 jest Hyperterminal, wstyd przyznać ale jeszcze nie ruszałem tego systemu ;)