Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Bezprzewodowa komunikacja Master slave-y -gwiazda

st4chuu 19 Paź 2015 15:06 7491 25
  • #1 19 Paź 2015 15:06
    st4chuu
    Poziom 15  

    Witam
    Mam pytanie. Chciałbym utworzyć w domu coś na styl gwiazdy. Skomunikować kilka mikrokontrolerów przesyłających sygnały z "bazą" będącą masterem.
    Jakie moduły bezprzewodowej komunikacji powinienem użyć? Ma ktoś jakiś sposób jak to zrobić aby się nie spłukać :P.
    Dotychczas bawiłem się z HC05 fajne zasięg wystarczający jednak nie mam pomysłu jak skomunikować większą ilość tworząc sieć.
    Chciałbym aby same moduły komunikacyjne były "przezroczyste" tzn to co wychodzi z mastera wchodzi na wejścia wszystkich slejwów a programowo decydował by czy ma to brać do siebie czy zignorować.

  • #2 19 Paź 2015 19:20
    antrykot
    Poziom 20  

    Każde tanie radio się nada. Ustawiasz wszystkie na ten sam kanał, slave słucha, a master gada i oczekuje na odpowiedź. Gdy dany procek stwierdzi że pakiet jest zaadresowany do niego, wtedy odpowiada.

  • #3 19 Paź 2015 19:33
    TvWidget
    Poziom 30  

    Jaki strumień danych chcesz przesyłać ?
    Trochę inaczej należy podejść do problemu jeśli chce się np. trasmitować obraz HD w czasie rzeczywistym a inaczej jeśli trzeba tylko co kilka minut włączyć oświetlenie.

  • #4 19 Paź 2015 21:11
    st4chuu
    Poziom 15  

    9600 8 bit danych start i stop a i tak całość będzie się nieco nudziła.

    @ antrykot tak myślałem ;) a jesteś w stanie zaproponować jakiś moduł w sensownej cenie i niezbyt wielkim stopniu skomplikowania

  • #5 19 Paź 2015 21:20
    antrykot
    Poziom 20  

    W tme masz cały wachlarz modułów HOPE - na różne częstotliwości, o różnym zasięgu i w różnej cenie - do wyboru do koloru. Ceny w okolicach 10zł.
    Jedyne co - ich dokumentacja jest...jak by to powiedzieć...Low-endowa :) Tzn według mnie nie wszystko jest tak oczywiste jak powinno być, ale za te cenę da się przeżyć.

  • #6 19 Paź 2015 21:48
    TvWidget
    Poziom 30  

    st4chuu napisał:
    Dotychczas bawiłem się z HC05 fajne zasięg wystarczający jednak nie mam pomysłu jak skomunikować większą ilość tworząc sieć.

    Moduły Bluetooth 4.0 tworzą podobną sieć.
    Układy slave okresowo np. co 1 sek. wysyłają ramkę rozgłoszeniową informującą o swoim istnieniu. Może ona zawierać również dowolne dodatkowe informacje. Mastery (może ich być wiele) znajdują się w trybie skanowania. Obierają one te informacje. Każdy master wykonuje skanowanie pasywne lub aktywne. To drugie oznacza to, że gotowy jest odebrać ze slave poza podstawową ramką kolejne ramki. Oszczędza to energię w slave w sytuacji gdy żaden master nie odbiera danych.
    Poza tym co napisałem wyżej master może w każdej chwili nawiązać ze slave klasyczne połączenie i wymieniać dane z dużą prędkością.

  • #7 07 Cze 2016 10:29
    atom1477
    Poziom 43  

    Też szukam takiego rozwiązania, i nie bardzo wiem czy Bluetooth się tutaj nada.
    Bo Bluetooth pozwala stworzyć połączenie prawie przezroczyste dla UARTa.
    Ale w trybie połączenia bezpośredniego. 1:1 pomiędzy dwoma konkretnymi modułami.
    A mi chodziłoby o połączenie jednego mastera z np. pięcioma slaveami.
    Czy takie coś jest możliwe przy UARCie? Tzn. żeby to co wchodzi po UARCie do mastera zostało rozesłane równolegle do wszystkich slaveów?
    A to co wejdzie do któregoś slavea, żeby zostało przesłane do mastera? (sytuacja gdy nadawało by kilka slaveów równolegle mogła by tu być problemem, ale to rozwiązał bym już sam)
    Domyślam się że nie jest możliwe, i przy jednym masterze i wielu slaveach jest możliwe tylko połączenie pakietowe. Ale niech ktoś mnie upewni.

  • #8 07 Cze 2016 10:36
    st4chuu
    Poziom 15  

    Zrobiłem kiedyś coś takiego. Prosty autorski protokół, master nadawał komunikaty maksymalnie (chyba) 10 razy na sekundę. Zaczynał od "nazwy urządzenia" i tylko to urządzenie odpowiadało bezpośrednio po zakończeniu nadawania przez mastera. Miałem też instrukcje wspólne jednak po takich instrukcjach żadne z urządzeń nie odpowiadało. Po kablu działało, jednak bezprzewodowo nie odpaliłem tego.
    Teraz zabieram się do odpalenia komunikacji tego typu z modułami esp8266. Jeden jako accespoint reszta będzie się z nim komunikowała.
    Jeszcze nie zagłębiłem się w temat, jednak widziałem podobne projekty działające dobrze.

  • #9 07 Cze 2016 11:36
    TvWidget
    Poziom 30  

    Chodziło mi o BT4.0 a dokładniej o Bluetooth Low Energy. W tym standardzie urządzenia mogą pracować w bardzo różnych konfiguracjach. Poniżej przykład wizualizacji informacji odbieranych z wielu czujników. Master lub mastery mogą skomunikować się z każdym z nich.
    Bezprzewodowa komunikacja Master slave-y -gwiazda

  • #10 07 Cze 2016 11:55
    atom1477
    Poziom 43  

    Ale czy komunikują się po UARCie?

  • #11 07 Cze 2016 12:02
    Chris_W
    Poziom 36  

    atom1477 napisał:
    Też szukam takiego rozwiązania, i nie bardzo wiem czy Bluetooth się tutaj nada.
    Bo Bluetooth pozwala stworzyć połączenie prawie przezroczyste dla UARTa.
    Ale w trybie połączenia bezpośredniego. 1:1 pomiędzy dwoma konkretnymi modułami.
    A mi chodziłoby o połączenie jednego mastera z np. pięcioma slaveami.
    Czy takie coś jest możliwe przy UARCie? Tzn. żeby to co wchodzi po UARCie do mastera zostało rozesłane równolegle do wszystkich slaveów?
    A to co wejdzie do któregoś slavea, żeby zostało przesłane do mastera? (sytuacja gdy nadawało by kilka slaveów równolegle mogła by tu być problemem, ale to rozwiązał bym już sam)
    Domyślam się że nie jest możliwe, i przy jednym masterze i wielu slaveach jest możliwe tylko połączenie pakietowe. Ale niech ktoś mnie upewni.

    To na jednym kanale?
    Takie coś jest możliwe przy odpowiednim poziomie zaawansowania (więcej pamięci i zasobów po stronie slave) - każdy slave przechowuje rejestr ze wszystkich transmisji i po zapytaniu przez mastera - obydwa uaktualniają swoje rejestry.

  • #12 07 Cze 2016 12:27
    atom1477
    Poziom 43  

    Nie bardzo rozumiem o co chodzi z tym uaktualnianiem wartości rejestrów.
    W każdym razie mi po prostu chodzi czy to coś jest zapewniane przez Bluetootha.
    Tzn. czy te "więcej zasobów" jest już zaimplementowane w którymś trybie Bluetootha.
    Bo że w ogóle jest to możliwe to ja wiem. Pytam tylko czy Bluetooth to już ma zrobione. Czy nie i muszę robić samemu.

  • #13 07 Cze 2016 12:51
    TvWidget
    Poziom 30  

    W standardzie BLE będącym częścią BT4.0 dane mogą być przesyłane zarówno w trybie połączeniowym jak i bezpołączeniowym. W tym drugim przypadku czujnik wysyła paczkę danych i o niej zapomina. Nie ma żadnego potwierdzenia. Przypomina to tryb rozgłaszania (tzw tryb widoczności BT) znany z BT2.1. Okresowo urządzenie wysyła swoją nazwę i adres MAC. W BLE te ramki rozgloszeniowe mogą zawierać różne dodatkowe informacje. Np. wynik pomiaru temperatury. Master stale odbiera te ramki i wizualizuje zawarte w nich informacje. Może też w każdej chwili nawiązać dwukierunkowe połączenie. Obywa się to bez wcześniejszego parowania

  • #14 07 Cze 2016 13:05
    atom1477
    Poziom 43  

    I nie ma trybu połączeniowego z więcej niż 1 slavem?

  • #15 07 Cze 2016 14:06
    TvWidget
    Poziom 30  

    Ta wizualizacja odbywa się w przeglądarce. Jest urządzenie z LAN, które udostępnia interfejs BLE przez Websocket. Strona WWW a w zasadzie aplikacja w JS jest uruchamiana w przeglądarce. Nawiązuje ona połączenie przez sieć z Websocket. Pakiety rozgłoszeniowe wysyłane przez czujniki są odbierane przez interfejs BT i za pośrednictwem Websocket przesyłane do aplikacji.

  • #16 07 Cze 2016 14:34
    atom1477
    Poziom 43  

    Widzę że ciężko będzie mi uzyskać odpowiedz na moje pytanie.
    A to przez moje bardzo małe doświadczenie z Bluetoothem.
    Teraz zaczynam czytać ale czytając otrzymam jedynie informacje o dostępnych trybach.
    A jednoznacznej odpowiedzi że nie ma trybu którego szukam, to nie bardzo.

  • #17 07 Cze 2016 14:46
    TvWidget
    Poziom 30  

    Nie bardzo rozumiem pytań jakie zadajesz.

  • #18 07 Cze 2016 15:00
    atom1477
    Poziom 43  

    Czy istnieje tryb odpowiadający przezroczystemu połączeniu 2 modułów za pomocą UART, ale dotyczący nie 2 ale większej ilości modułów?

  • #19 07 Cze 2016 15:12
    TvWidget
    Poziom 30  

    UART przez BT dotyczy standardu BT2.1 i profilu SPP. W BLE nie ma profili nie mam więc SPP.
    Można jedynie emulować działanie UART ale tylko trybie połączeniowym. Moim zdaniem master w BLE może jednocześnie nawiązać połączenie z kilka układami. Nie sprawdzałem jednak czy to działa w praktyce.

  • #20 07 Cze 2016 15:18
    atom1477
    Poziom 43  

    Dzięki.
    Ja po prostu chciałem ubezprzewodowić system do tej pory działający na UARCie przewodowym.
    Gdyby istniał taki tryb w Bluetooth to po prostu bym go tam wsadził i by działało (bez konieczności modyfikowania systemu UART).
    No ale jak nie ma takiego trybu to trudno. Jak rozumiem można to jakoś uruchomić ale dane trzeba przesyłać pakietami. Czyli nie czyste dane UART tylko dane upchane w komendy AT.

  • #21 07 Cze 2016 18:25
    Chris_W
    Poziom 36  

    atom1477 napisał:
    Nie bardzo rozumiem o co chodzi z tym uaktualnianiem wartości rejestrów.

    Teraz to mało istotne bo już wiem, że chodziło Ci o coś innego ;).
    PS nie chodziło o wartości rejestrów - tylko o cały rejestr (jako zbiór danych) wszystkich nieaktualnych transmisji. Czysto teoretycznie rozważałem przypadek gdzie odbiorniki mogą być poza zasięgiem i nie posiadają aktualnie bierzących danych, myślałem że taką sytuację masz na myśli ;)

  • #23 07 Cze 2016 19:05
    atom1477
    Poziom 43  

    Nie widzę tam potrzebnego trybu pracy. Możesz napisać o który chodzi?

  • #24 07 Cze 2016 20:09
    ArtXs
    Poziom 18  

    http://www.digi.com/products/xbee-rf-solutions/modules/xbee-802-15-4

    ... communication in point-to-point, peer-to-peer, and multipoint/star configurations...

    Podłączasz moduł do kompa i możesz poustawiać sporo opcji w tym też indywidualne adresy każdego modułu. Mogę potem zrobić print screen-a jeśli jesteś zainteresowany.

  • #26 19 Cze 2016 18:51
    atom1477
    Poziom 43  

    ArtXs: nie widziałem że zedytowałeś wiadomość.
    Ale wciąż tam nie widzę potrzebnej mi funkcjonalności.
    Wyjaśniam: chodziło mi o system który z automatu tak działa. Bo że odpowiednio go oprogramowując można uzyskać takie działanie to ja wiem. To oczywiste. I sam sobie takie systemy robię.
    Po prostu do jednego z nie moich projektów potrzebowałem na szybko bezprzewodowego przedłużacza UART z opcją pracy w gwieździe. Jak by to było dla mnie to bym to sobie zrobił sam np. na RFM12B. Ale to było dla kogoś jak przysługa. No więc albo gotowiec, albo szkoda zabawy. Wchodzić w nowy nieznany system tylko po to żeby uruchomić go tylko chwilowo i zastępczo to bez sensu.
    Całość miała zastąpić uruchamianą bez powodzenia od 2 czy więcej lat sieć SimpliciTI. Kiedyś sam to chciałem uruchomić ale mi jakoś nie wychodziło. Po prostu nie lubię gotowców a do tego aż tak wysokopoziomowych. Ale na szczęście w końcu się udało to SimpliciTI uruchomić, więc temat nieaktualny.
    Swoją drogą skoro już SimpliciTI zostało uruchomione, to muszę powiedzieć że działa bardzo fajnie. Zapewnia komunikację w dowolnym systemie (gwiazda, albo sieć taka mieszana z wieloma punktami dostępowymi, albo Peer to Peer). A do tego jest bardzo energooszczędna. Tylko z tego co widzę w Polsce czy Europie to praktycznie nikt o niej nie słyszał, a co dopiero żeby używał.
    Za to u hamerykanów jest bardzo popularna.

    A ESP8266 też w końcu zacząłem ostatnio uruchamiać.

 Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME