logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jakie moduły do bezprzewodowej komunikacji w topologii gwiazdy z mikrokontrolerami?

st4chuu 19 Paź 2015 15:06 10047 25
REKLAMA
  • #1 15079833
    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ć.
  • REKLAMA
  • #2 15080482
    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 15080528
    TvWidget
    Poziom 38  
    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 15081000
    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 15081042
    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ć.
  • REKLAMA
  • #6 15081155
    TvWidget
    Poziom 38  
    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 15725755
    Konto nie istnieje
    Poziom 1  
  • #8 15725769
    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 15725858
    TvWidget
    Poziom 38  
    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.
    Jakie moduły do bezprzewodowej komunikacji w topologii gwiazdy z mikrokontrolerami?
  • #10 15725897
    Konto nie istnieje
    Poziom 1  
  • #11 15725907
    Chris_W

    Poziom 39  
    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 15725944
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #13 15726002
    TvWidget
    Poziom 38  
    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 15726023
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #15 15726115
    TvWidget
    Poziom 38  
    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 15726158
    Konto nie istnieje
    Poziom 1  
  • #17 15726182
    TvWidget
    Poziom 38  
    Nie bardzo rozumiem pytań jakie zadajesz.
  • #18 15726201
    Konto nie istnieje
    Poziom 1  
  • #19 15726225
    TvWidget
    Poziom 38  
    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 15726238
    Konto nie istnieje
    Poziom 1  
  • #21 15726625
    Chris_W

    Poziom 39  
    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 ;)
  • #22 15726669
    ArtXs
    Poziom 24  
    Zainteresuj się modułami XBee chociażby najprostszym XB24-AWI-001. Podpinasz bezpośrednio pod UART. Dokumentacja
  • #23 15726715
    Konto nie istnieje
    Poziom 1  
  • #26 15754221
    Konto nie istnieje
    Poziom 1  
REKLAMA