Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Obsługa bluetooth

Spiochu 09 Jan 2008 17:50 10698 26
lampy.pl
  • #1
    Spiochu
    Level 12  
    Witam.
    Buduję pewne urządzenie do szkoły, które trzeba będzie w jakiś sposób kontrolować, konfigurować. Mam pytanie, czy ktoś spotkał sie kiedyś z obsługą modułu bluetooth za pomocą 8051? ew. AtMega. Jeżeli użyję bluetooth, będę musiał skonstruować ręczny pilot, za pomocą którego będzie dokonywane sterowanie. Urządzenie będzie na stałe w 1 miejscu, więc w grę może wejść obsługa modułu ethernet. Czy zna ktoś jakieś prostsze, tańsze metody komunikacji z komputerem przez ethernet, bez kupowania bardzo drogich modułów?
    pozdrawiam.
  • lampy.pl
  • #2
    EQU
    Level 12  
    Quote:
    Jeżeli użyję bluetooth, będę musiał skonstruować ręczny pilot, za pomocą którego będzie dokonywane sterowanie.

    Propnuje wykonac taki pilot w javie na telefon komorkowy, a dokladnie w J2ME ( naprawde prosta i szybka sprawa). Oczywiscie taki telefon musi miec pakiet z jsr-082, a sam modul z ktorym chcesz sie komunikowac najlepiej zeby mial profil SPP ( serial Port Profile ). Wtedy ten caly bluettoh to porostu 'serial port'. W necie jest sporo przykladow. Jezeli bedziesz mial problemy, chetnie wespre wlasnym kodem.
  • lampy.pl
  • #3
    slawko_k
    Level 34  
    EQU mógłbyś rozwinąć temat tej javy?

    Jestem w trakcie robienia robocika sterowanego przez BT. Póki co mam wszystko przetestowane aby sterować nim z kompa za pomocą pada.

    Przyznam że możliwość sterowanie z komórki bardziej by mnie i interesowała.
    Czy to musi być telefon z symbianem czy nie? jak sprawdzić tą javę czy będzie dobra?
  • #4
    EQU
    Level 12  
    Quote:
    Jestem w trakcie robienia robocika sterowanego przez BT. Póki co mam wszystko przetestowane aby sterować nim z kompa za pomocą pada.

    tez jestem na tym etapie :) tylko ze pad podczepiony do uC, a ten do modulu radiowego.
    Quote:
    Przyznam że możliwość sterowanie z komórki bardziej by mnie i interesowała.

    tez sie zgadzam, bo tutaj jest komunikacja w obie strony mozna wysylac info z czujnikow robota do laptopa, telefonu:)
    Quote:
    Czy to musi być telefon z symbianem czy nie?

    Nie musi miec symbiana, chociaz na symbianie tez napewno! jest API do bluetotha ( wtedy piszesz w C++ ). Moze byc tez telefon z symbianem oraz z java(j2me). Symbian odpala twoj midlet napisanyw javie. Nie zajmowalem sie pisaniem na symbiana w C++. Latwiej przebic sie z java na poczatku niz z symbianem ( jak dla mnie ). Wystarczy stworzyc midlet, wyszukac urzadzenia wokol, wyszukac usluge SPP ( COMx ), polaczyc sie i operowac na strumieniach (zapis/odczyt).
    Quote:
    jak sprawdzić tą javę czy będzie dobra?

    poszukaj na necie czy twoj telefon ma JSR082, moze byc JSR082 ( no OBEX ).

    ..tutaj screen z laptopa polaczonego z telefonem:
    http://www.ee.pw.edu.pl/~kolakowd/fotoJ2ME.jpg
    COM-Terminal zrobiony w .NET
  • #5
    Spiochu
    Level 12  
    Hmm, nie sądze żeby dyrektor był zbyt zadowolony gdyby musiał z komórką latać;)
    Nie przeszkadza mi potrzeba budowy dodatkowego urządzenia nadawczego, nie stanowi to raczej problemu, haczyk jest tylko przy obsłudze modułu bluetooth. Wiem że mogę to zrobić przez irdę, ale nie o to chodzi. IRDa nie przebije się przez ścianę. Głównie robie to w ten sposób bo chce sie nauczyć obsługi "sinego zęba", przyda się.

    Ewentualnie, gdybym musiał już użyć komórkę, najprostszym sposobem byłoby wysłanie smsa sterującego.
  • #6
    EQU
    Level 12  
    Quote:
    Hmm, nie sądze żeby dyrektor był zbyt zadowolony gdyby musiał z komórką latać;)

    dlaczego?
    Quote:
    haczyk jest tylko przy obsłudze modułu bluetooth.

    jakiego dokladnie?
    Quote:
    Głównie robie to w ten sposób bo chce sie nauczyć obsługi "sinego zęba", przyda się.

    chcesz napisac wlasny stos/ obsluge dla bluetootha ? po co wywarzac otwarte drzwi ? i tak najprawdopodobniej ten modul bedziesz konfigurowal UARTem wysylajac komendy AT.
  • #7
    Spiochu
    Level 12  
    Właśnie jeszcze nie wybrałem.
    Myślałem o BTM-330 z tme.pl

    http://tme.pl/katalog/?art=BTM-330

    Ze względu na cenę, chyba najtańszy w ofercie. Jeszcze sie zastanawiam czy nie wystarczył by moduł ze starego telefonu komórkowego np nokia 6310i?

    haczyk przy obsłudze bluetooth.. chodzi mi o to, że nie wiem narazie jak to obsłużyć z poziomu języka programowania(c, asm, bascom-obojętnie). Jeżeli jednak naprawdę będzie to sterowane jak zwykły UART to nie będzie większego problemu.
  • #8
    mirekk36
    Level 42  
    Witam,

    kolego EQU widzę, że robisz fajne rzeczy w javie. Ja się tym jeszcze nigdy nie zajmowałem. Tzn programuję ale nie w javie - przynajmniej narazie. Ale prostota o jakiej mówisz jeśli chodzi o stworzenie sposobu komunikacji przez RS232 poprzez Bluetooth w komórce itp - hmmm fajnie brzmi....

    tylko, że widzę że dla ciebie to bułka z masłem i dlatego ludziska którzy nie mieli z tym do czynienia nie za bardzo czają o co chodzi.

    mógłbyś - to również moja prośba tak na przyczepkę do tego tematu - tak krok po kroku powiedzieć, co jak po kolei trzeba zrobić, skąd wziąć srodowisko programistyczne czy jak? - aby napisać jakiś właśnie taki prosty programik hmm sorry "midlet" jak mówisz - który by robił taką transmisję.

    Ja mam np Nokię N95 więc ona chyba obsługuje javę tą o której mówisz - sory za laicyzm moich pytań ale widać że nic a nic nie dotykałem tego tematu a zainteresował mnie do żywego

    pozdrawiam
  • #9
    slawko_k
    Level 34  
    &Spiochu BTM 330 nie ma spp i chyba nie zrobisz łatwo na nim takiej komunikacji.
    ja mam BTM 112 . jest niewiele droższy. udało mi się go skomunikować z kompem ale tylko w trybie slave. w trybie master nie działają mi komendy nie wiem czemu. Tobie skoro chcesz zrobić 2 urządzenia komunikujące się za pomocą BT będzie jeden master potrzebny.

    @EQU mirekk36 ma rację. niewiele kumam z Twojej wypowiedzi odnoście tej javy. Mam też pytanie do tego pada. rozebrałeś go i wsadziłeś procek czy wykorzystujesz całego i stworzyłeś hosta usb na procku
  • #10
    EQU
    Level 12  
    Quote:
    Ja mam np Nokię N95 więc ona chyba obsługuje javę tą o której mówisz

    ten telefon ma wszystko :), mozna nawet GPS'em sie pobawic:)

    Java™ MIDP 2.0; platforma CLDC 1.1; Advanced Multimedia Supplements (JSR-234); Bluetooth API (JSR-82); FileConnection and PIM API (JSR-75); JTWI (JSR-185); Location API (JSR-179); Mobile 3D Graphics API (JSR-184); Mobile Media API (JSR-135); Nokia UI API; Scalable 2D Vector Graphics API (JSR-226); Security and Trust Services API (JSR-177)
    SIP API (JSR-180); Web Services API (JSR-172); Wireless Messaging API (JSR-205)


    Moglbym stworzyc ten kurs krok po kroku ale nie mam czasu, a nie chce tego odwalic na odczep ( jak ktos sie wkreci to mozemy pogadac na GG:6328170 ). Uzywam IDE EclipseME ( ma uzupelnianie skladni i jest bardzo wygodne ). Na ich stronie jest kurs wprowadajacy do ktorego niecierpliwych odsylam:
    http://eclipseme.org/docs/installation.html

    Quote:
    @EQU mirekk36 ma rację. niewiele kumam z Twojej wypowiedzi odnoście tej javy. Mam też pytanie do tego pada. rozebrałeś go i wsadziłeś procek czy wykorzystujesz całego i stworzyłeś hosta usb na procku

    java jest to jezyk programowania :) J2ME jest to platforma na urzadzenia mobilne. Uzywalem pada z gameportem :) Obsluga to przetwornik A/C do obslugi osi + pare pinow uC dla przyciskow pada
  • #11
    Ch.M.
    Level 27  
    Witam
    Wejsć w bt fajna sprawa, ale nie wiem czy się nie rozczarujesz jeśli okarze się, że zasięg znikomy jest... Jak już wybierasz moduł to patrz na jego parametry (moc i czułość) Tak czy siak ściany są różne i na prawde może być duży problem z zasięgiem. Ja bym to zrobił na modułach z emode i miałbym 100m bez kombinowania z antenami.
    Pozdrawiam
  • #12
    EQU
    Level 12  
    Quote:
    Wejsć w bt fajna sprawa, ale nie wiem czy się nie rozczarujesz jeśli okarze się, że zasięg znikomy jest... Jak już wybierasz moduł to patrz na jego parametry (moc i czułość)

    nie rozczaruje sie bo mam jasno postawione wymagania co do zasiegu i predkosci. Ponadto zalezy mi na dwukierunkowej komunikacji. Niewiem jak inni koledzy z watku.
    Quote:
    Ja bym to zrobił na modułach z emode i miałbym 100m bez kombinowania z antenami.

    Tak zgadzam sie. Wszystko zalezy od tego jakie sie chce miec osiagi. Btw. co to sa za moduly? mozesz powiedziec cos wiecej ?
  • #13
    slawko_k
    Level 34  
    EQU szukam coś o javie w K750i i piszą tylko że Java MIDP 2.0. Nada się to czy nie?
  • #15
    slawko_k
    Level 34  
    Super.
    Temat wciąga coraz bardziej.

    Jak już wiem czego szukać to dla dalszych zainteresowanych tematem szersza lista telefonów
    http://www.i-droid.pl/faq.php?kid=7

    Nigdy w Javie nic nie tworzyłem i nie wiem czy temat mnie nie przerośnie ale może jakoś z czasem coś powstanie.
    Na początek myślę o wysyłaniu 1 bajtu po porcie szeregowym po naciśnięciu klawisza lub joysticka w telefonie. Bez żadnej szaty graficznej komunikacja tylko w stronę do modułu. Np naciskamy 1 to tel wysyła liczbę 1 itd.

    Jeśli można by kolegę EQU prosić o jakąś pomoc w wolnych chwilach.

    Wiadomo, najtrudniej wbić się w temat ale potem już może będzie z górki.

    Zapraszam chętnych do dyskusji. Ze swojej strony służę pomocą odnośnie użycia tanich modułów BTM-112.

    Pozdrawiam Sławek
  • #17
    Compiler
    Level 12  
    Mam takie pytanko, a właściwie 2 :P
    1. Jak coś przesłać do btm 222 z uC np komendy AT lub coś do wysłania przez blue.. ?
    2. Oraz jak odebrać jeśli btm coś wysyła ? :)

    Jakoś nigdzie nie mogę tego znaleźć ;/
    Najlepiej w bascomie. Używam atmegi 32 i wszystko po podłączałem chyba dobrze :) rx-tx itd.
  • #18
    slawko_k
    Level 34  
    1. po porcie szeregowym
    2. po porcie szeregowym
  • #19
    Adamu_s
    Level 11  
    Kolega Compiler nie pytał po jakim porcie tylko JAK?
    Ja w zasadzie tez zabrałem się do tego tematu. Wiem, że komendy wysłać należy po porcie szeregowym.
    A mógłby ktoś podać przykład wysłania komendy AT.
    Np. komenda "E" - włączanie i wyłączanie echa E1 - echo włączone, E0 - echo wyłączone.
    Czy jak chcę wyłączyć echo to mam wysłać UARTem kod litery "E" i cyfry "0"?
    Przzepraszam za głupie pytania ale nie miałem wcześniej do czynienia z komendami AT.
    Pozdrawiam
  • #20
    slawko_k
    Level 34  
    nie podałeś w czym to chcesz więc podam w bascomie
    np" print "ATL0"
  • #21
    Adamu_s
    Level 11  
    Dzięki. W zasadzie nie chodziło mi o język programowania ale raczej o sposób wysłania komendy. Tu już widzę pewną ważną rzecz, o czym z resztą dziś przeczytałem, że komendę należy poprzedzić literkami "AT".
    Ale nawiązując do Twojej odpowiedzi Slawko_k mam pytanie: dlaczego "ATL0" a nie "ATE0" jak by się mogło wydawać...
    Pozdrawiam.
  • #22
    slawko_k
    Level 34  
    Quote:
    mam pytanie: dlaczego "ATL0" a nie "ATE0"

    w pdf'ie masz wszystkie komendy, poczytaj
  • #23
    Adamu_s
    Level 11  
    Quote:
    w pdf'ie masz wszystkie komendy, poczytaj

    Dlatego ponawiam pytanie: dlaczego "ATL0" zamiast "ATE0" przy wyłączaniu echa?
    No chyba, że kolega ma innego PDFa, bo ja mam tego
    Pozdrawiam.
  • #24
    slawko_k
    Level 34  
    Quote:
    dlaczego "ATL0" zamiast "ATE0" przy wyłączaniu echa?

    podałem przykład wysłania dowolnego polecenia i nigdzie nie mówiłem nic o tym że to wyłączanie echa.
    ja mam pdf'a bo btm 112
  • #25
    Coolkk
    Level 12  
    1) A jak by zrobić coś takiego:
    - Zrobić jeden układ jako master - powiedzmy panel sterowania w pokoju.
    - Zrobić kilka układów na slave - powiedzmy sterowanie oświetleniem, roletami i i.t.p

    Jak coś takiego ogarnąć? Czy są szanse na to by jeden master współpracował jednocześnie z kilkoma slavemi.

    2) A jak by przy powyższej konstrukcji bylo jeszcze jedno urządzenie do sterowania całym domem które komunikuje się z panelami którymi jest master?
  • #26
    Tomekddd
    Level 23  
    Ja mam pytanie odnośnie samej javy i sposobu komunikacji przez bluetooth, macie do tego jakieś opisy/książki/poradniki? Chciałbym napisać prościutką aplikacje na telefon do sterowania AVRem. Ze strony AVRa programuję trochę w bascomie ale co do javy to nie mam pojęcia jak sie za to zabrać.
  • #27
    syffon
    Level 7  
    Witam
    Mam następujące pytanie: Mam płytke z ATMEGA32 i dwoma modułami L923D do sterowania silnikami DC. Niedawno dokupiłem moduł BT BTM-222. Wykonuję projekt, który będzie sterował dwoma silnikami, za pomocą BT.
    I teraz pytanie: Czy ma ktoś może napisany jakiś program na ATMEGE32 do obbioru sygnałów przesyłąnych z telefonu za pomocą BT? Może być jakiś przykłądowy, bo kompletnie nie wiem od czego zacząć.

    Pozdrawiam.