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

Moduł Bluetooth BTM-222 - komunikacja kilku urządzeń z komp

golas17 10 Gru 2010 01:25 5261 11
  • #1 10 Gru 2010 01:25
    golas17
    Poziom 16  

    Witam,

    Mam zamiar popracować nad bluetoothem i mam kilka pytań, ponieważ wcześniej nigdy nie projektowałem niczego z wykorzystaniem sieci bezprzewodowych.
    Opis komunikacji, którą chciałbym realizować: kilka urządzeń mikroprocesorowych i komputer. Na komputerze program (mojej produkcji), który będzie odpytywał po kolei układy uC (przewidywana częstość odpytywania - około 5-6 razy na sekundę).
    Pytania:
    1) Czy moduł BTM-222 nadaje się do tego celu? Czy jest możliwy opisany tryb pracy? A może inny moduł będzie lepszy?
    2) Czy moduł ten potrzebuje specjalnej anteny, czy można np. zrobić antenę z drutu etc.? (przewidywany wymagany zasięg to ok. 15m)
    3) Czy komputer może posiadać własny wbudowany moduł bluetooth, czy lepiej zakupić dodatkowy? - pytam, ponieważ nie wiem jeszcze jak wygląda pisanie programu (C#) wykorzystującego bluetooth. Czy program może odwoływać się do takiego modułu tak jak do portu com komputera?

    Proszę o odpowiedzi, będę wdzięczny za każdą radę i wskazówkę.

    Dziękuję

    golas17

    0 11
  • #2 10 Gru 2010 09:01
    mklos1
    Poziom 25  

    golas17 napisał:

    1) Czy moduł BTM-222 nadaje się do tego celu? Czy jest możliwy opisany tryb pracy? A może inny moduł będzie lepszy?


    Tak. To bardzo dobry wybór, jeżeli chcesz eksperymentować z bluetooth'em.

    golas17 napisał:

    2) Czy moduł ten potrzebuje specjalnej anteny, czy można np. zrobić antenę z drutu etc.? (przewidywany wymagany zasięg to ok. 15m)


    Do uzyskania pełnego zasięgu z pewnością tak. Ale w tym przypadku zasięg 15 m powinno dać się osiągnąć na odpowiednio przyciętym drucie przylutowanym do wyjścia antenowego. Alternatywą są anteny na PCB lub anteny scalone.

    golas17 napisał:

    3) Czy komputer może posiadać własny wbudowany moduł bluetooth, czy lepiej zakupić dodatkowy?


    Zależy jak mocny nadajnik ma komputer. Zwykle są to urządzenia Class 2, więc 15m może być nieosiągalne.

    golas17 napisał:

    Czy program może odwoływać się do takiego modułu tak jak do portu com komputera?


    Moduł może być widziany przez komputer jako port szeregowy (COM).

    0
  • #3 10 Gru 2010 10:45
    golas17
    Poziom 16  

    Dziękuję za odpowiedź.

    Co do anten to za twoją radą znalazłem scaloną antenę na avt.

    Prosiłbym jeszcze o rozwinięcie odpowiedzi na pytanie 3). Chciałbym mianowicie wiedzieć, czy każdy moduł bluetooth może być widziany jako port com? Zależałoby mi na tym, żeby osiągnąć taki stopień uniwersalności napisanego programu, żeby mógł działać z wieloma popularnymi, dostępnymi na rynku modułami np.
    Bluetooth USB: Link
    lub takie coś: Link

    0
  • #4 10 Gru 2010 10:49
    mklos1
    Poziom 25  

    Powinno tak być, że każdy moduł BT, który podłączany jest do komputera powinien być widziany jako port szeregowy.

    0
  • #5 10 Gru 2010 11:03
    golas17
    Poziom 16  

    Ok, dziękuję.
    A wracając do btm-222 i opisanego sposobu komunikacji. Czy chcąc otrzymać odpowiedź od jednego z urządzeń wyposażonego w moduł btm-222 wysyłam do niego paczkę z jego adresem czy identyfikatorem? Wtedy wiadomość otrzymują wszystkie moduły, ale tylko jeden z nich odpowiada a inne ignorują wiadomość?

    0
  • #6 10 Gru 2010 11:11
    mklos1
    Poziom 25  

    Powinno się dać zrealizować sieć jeden do jeden oraz jeden do wielu. Proponuję zapoznać się z komendami AT i sposobem programowania BTM-222.

    0
  • #7 10 Gru 2010 11:21
    mirekk36
    Poziom 42  

    mklos1 napisał:
    Powinno się dać zrealizować sieć jeden do jeden oraz jeden do wielu. Proponuję zapoznać się z komendami AT i sposobem programowania BTM-222.


    Nie da się zrealizować "jeden do wielu". Połączenie BT w tym przypadku może być tylko i wyłącznie zestawiane pomiędzy parą urządzeń a nie większą ilością. Owszem mając do dyspozycji PC jako master możnaby uzyskać namiastkę tego ale tylko w taki sposób żeby zestawić kilka całkiem oddzielnych kanałów połączeń z tym, że dla każdego będzie przydzielony całkiem oddzielny virtualny port COM a później to samemu obsłużyć w jakimś swoim programie. Inaczej ANI RUSZ.

    Poza tym próby użycia tych modułów do budowania jakichś sieci podobnych do działania np do RS485 tylko bezprzewodowo zwykle spełzną na niczym bo sam proces łączenia (nawiązywania połączenia) trwa stosunkowo długo. Więc można o tym zapomnieć.

    0
  • #8 10 Gru 2010 11:38
    golas17
    Poziom 16  

    Dzięki za odpowiedź, bo już chciałem zamawiać sprzęt...
    Ogólnie - bluetooth pozwala tworzyć tzw. piconet-y, czyli sieci z jednym masterem i kilkoma slave'ami, prawda?
    Co do czasu nawiązania połączenia - połączenie będzie nawiązywane max 1raz dziennie, więc nie będzie to aż tak strasznie uciążliwe czekać te kilkadziesiąt sekund. Czy nie jest tak, że urządzenia bluetooth slave połączone do mastera można umieścić w jakiejś liście w programie przechowującej parametry nawiązanego połączenia?

    Czy są moduły, przy pomocy których uda się zbudować taki piconet? Jeżeli tak, to proszę o przykładowy model, parametr którego powinienem szukać w dokumentacji moduły. Jeżeli nie, to proszę uzasadnij dlaczego - trudność implementacji, inne powody?

    0
  • #9 10 Gru 2010 12:12
    mirekk36
    Poziom 42  

    Oczywiście, że jeśli nie przeszkadza ci aby co jakiś czas (dłuższy czas) odpytywać po kolei każde urządzenie, zestawiając z nim połączenie za każdym razem - to można.

    Jak najbardziej ich MAC Adresy mogą być w jakiejś tabeli i już

    A jeśli chodzi o inne możliwości jak łączenie w sieci itp to owszem ;) ale nie z modułami BTM-222 czy BTM-112. Wybierz takie, które pozwalają na dostęp w innym profilu niż SPP. Zdaje się HCI. Tylko wtedy z kolei najpierw poczytaj o stosie BT ;) .... sam wtedy zobaczysz, że przestaje się to już opłacać ..... bo samo napisanie tego, środowisko itp to .... szkoda gadać ;)

    ale oczywiście można ;)


    Zamiast tego pomyśl nad wykorzystaniem do takiej komunikacji innych typowo do tego celu przeznaczonych modułów pracujących w częstotliwościach np: 433MHz, 833MHz czy nawet 2,4GHz

    masz ich pełno, firm: Telecontrolli, Aurel, ta firma hmm zapomniałem nazwy , która produkuje te moduły RFM01, RFM12 itd

    Toż to wyjdzie przede wszystkim o NIEBO taniej niż stosowanie akurat w tym celu modułów BT a tym bardziej BT z dostępem HCI.

    0
  • #10 10 Gru 2010 16:54
    golas17
    Poziom 16  

    Ok, znalazłem w ofercie firmy wobit dwa takie nadajniko-odbiorniki:
    Mobot-rcr-usb-v2 oraz mobot-rcr-v2. Czy korzystanie z tych modułów wygląda tak jak korzystanie ze zwykłego łącza rs-232? I można zrealizować komunikację master- kilka slave'ów bez zbędnych opóźnień :)

    Dodano po 3 [godziny] 40 [minuty]:

    Doczytałem trochę nt. bluetooth. Sytuacja wygląda tak: w jednym piconecie może znaleźć się do 8 urządzeń, z czego jedno z nich jest masterem, pozostałe slave. Master synchronizuje w obrębie piconetu transmisję. Master rozpoczyna transmisję. Każdy slave ma szczelinę czasową na odpowiedź.
    Co do SPP - profil Serial Port Protocol, czyli to o co chodzi.
    Co do btm-222 - czytając opis komend SPP AT znalazłem jedną komendę FIND, w której opisie wyczytałem, że moduł może wykryć więcej niż jedno urządzenie.
    Po przeczytaniu tych informacji wydaje mi się, że uda się zrobić sieć zbudowaną tak: komputer jako master i docelowo 4 urządzenia slave. Komputer będzie odpytywał wszystkie urządzenia w cyklu trwającym około 200ms.

    Wykorzystując moduły radiowe działające w pasmie 868MHz implementacja chyba nie będzie się różnić od modułów bluetooth - zarówno komputer jak i uC widzą te urządzenia jako port szeregowy.

    Jeżeli się gdzieś mylę, to proszę napiszcie.

    0
  • #11 10 Gru 2010 18:17
    mirekk36
    Poziom 42  

    Pewnie że może znaleźć wiele modułów BTM w otoczeniu ale to tylko po to żeby uzyskać adresy MAC do ew połączenia.

    A skoro jest tylko profil SPP to zapomij że ci się uda coś takiego jak połączenie jednego modułu z wieloma naraz. Coś nie do końca doczytałeś o SPP. W jednym momencie Master może "gadać" tylko z jednym na zestawionym połączeniu. Inaczej nie da rady chyba że przez obsługę HCI ale widzę że tego boisz się jak ognia ;) no i nie w tych BTM'ach o których tu mowa - bo tego nie ma po prostu.

    0
  • #12 10 Gru 2010 19:16
    golas17
    Poziom 16  

    Nie chcę sobie komplikować niepotrzebnie życia ;) Nie będę się upierał przy tym bluetoothie.
    Zamówiłem 3x nadajnik/odbiornik działający w pasmie 868MHz. Rozumiem, że komunikacja między nimi wygląda tak, że komputer coś nadaje, a pozostałe nasluchują (odbierają ramkę danych). W ramce znajduje się adres urządzenia od którego żądamy odpowiedzi, tak?

    0