Najlepszy wybór do komunikacji bezprzewodowej o niskim poborze mocy i krótkim zasięgu

9

Pracuję nad projektem opartym na komunikacji bezprzewodowej i szukam najlepszej alternatywy. Są to wymagania projektowe:

  • Jest łatwy w obsłudze z Arduino
  • Działa w małym zasięgu (najwyżej 5-6 metrów)
  • Zużywa mało energii - najmniej możliwej
  • Urządzenia nie mogą kolidować ze sobą
  • Nie musi być w czasie rzeczywistym, opóźnienie może być rzędu setek milisekund
  • Ogólnie rzecz biorąc, urządzenia nie są w zasięgu wzroku (co oznacza, że ​​IR i podobne rozwiązania nie będą działać)

Scenariusz jest następujący:

Około 10 urządzeń w tym samym pokoju, komunikujących się ze sobą, wysyłających od czasu do czasu krótkie (maksymalnie 30 znaków) wiadomości przez kilka godzin (bez wymiany baterii).

Najlepsze, co mogłem znaleźć, to Bluetooth (szczególnie BLE), głównie dlatego, że istnieje kilka gotowych modułów Arduino + Bluetooth i obiecująca etykieta „Low Energy” (co najwyżej połowa zużycia energii przez normalny Bluetooth), ale Uwielbiam otrzymywać opinie od osób z większym doświadczeniem w tej dziedzinie.

Giulio Muscarello
źródło
2
Głosuję na Bluetooth.
nidhin
Podaj nam informacje o tym, czego zdecydowałeś się nie używać, oraz uzasadnienie.
Jason_L_Bens
Co najwyżej 5 do 6 metrów - bluetooth może pracować dalej - czy 6m absolutnie nie może przekraczać limitu? Bardzo mało mocy - co powiesz na imię i wstyd tutaj. Nie wolno sobie przeszkadzać - co to dokładnie znaczy?
Andy aka
@Andyaka: Nie, chodzi mi o to, że urządzenia będą znajdować się co najwyżej 6 metrów od siebie, dlatego nie ma potrzeby obsługi większych odległości. Jeśli chodzi o „bardzo małą moc”, planuję uruchomić każde urządzenie (Arduino + LCD + moduł bezprzewodowy) co najwyżej na jednej lub dwóch bateriach AA, a te urządzenia powinny być w stanie komunikować się przez co najmniej godzinę bez wymiany baterii.
Giulio Muscarello
1
Dla mnie to wygląda jak piconet Bluetooth.
Ignacio Vazquez-Abrams,

Odpowiedzi:

3

Spójrz na linię transceiverów XBee . Istnieją różne typy w zależności od zasięgu transmisji i żądanej mocy znamionowej.

Urządzenia te łączą się również z projektami Arduino prawie trywialnie. Te Serialmarki biblioteczne używać sprzętu UART AVR, który jest bezpośrednio kompatybilny z pin Rx z XBee. Należy również pamiętać, że nie są potrzebne przełączniki poziomu, ponieważ styk XBee Rx / Tx działa z napięciem 5 V.

Należy jednak pamiętać , że XBee musi być zasilany napięciem 3,3 V, dlatego można zastosować prosty regulator napięcia LDO 3,3 V.

sherrellbc
źródło
2

„Najlepsze” jest trudne do zdefiniowania, ale przyjrzałbym się urządzeniu nadawczo-odbiorczemu IEEE 802.15.4.

Użyłem MRF24J40MA do projektu ( https://github.com/briksoftware/gradusnik ). Możesz spróbować sprawdzić, czy jest tam jakiś kod, którego możesz użyć. Projekt dotyczy PIC, ale wiele rzeczy jest w rzeczywistości niezależnych od platformy (szczególnie inne projekty, od których to zależy).

Moduł zużywa około 20mA w rx / tx, czyli niewiele. Jednak, aby uzyskać długi czas pracy baterii, musisz przełączyć moduł w tryb uśpienia przez większość czasu. W tym celu można użyć sieci z włączoną sygnalizacją, przy czym jedno urządzenie działa jako koordynator. Moduł zużywa trochę µA w trybie uśpienia (sprawdź dokładne dane w arkuszu danych)

Jedynym problemem związanym z interfejsem Arduino jest to, że potrzebujesz przekładni poziomu 5-> 3.3 (jeśli Arduino nadal używa napięcia 5v).

Innym popularnym transceiverem dla protokołu IEEE 802.15.4 jest moduł XBee, ale jest znacznie droższy.

Bitgamma
źródło
2

Nie uważam tego za problem z siecią bezprzewodową, ale raczej za problem z protokołem.

Jeśli nazwą gry jest oszczędzanie baterii i jeśli jedno urządzenie może, poprzez odpowiednie programowanie, przyjąć rolę tymczasowego „mistrza”, wówczas każdemu urządzeniu można przypisać szczelinę czasową. Po dokonaniu alokacji tymczasowy element nadrzędny może powrócić do roli elementu równorzędnego, ale ważne jest to, że utworzono strukturę przedziałów czasowych i wszyscy partnerzy dokonali zakupu w tej strukturze.

Co to robi? Posiadanie szczeliny czasowej oznacza, że ​​możesz wyłączyć radio na setki milisekund i obudzić się, aby sprawdzić, czy trwa transmisja przeznaczona do odbioru. Kiedy peer się budzi, musi poczekać, aby sprawdzić, czy któryś z pozostałych 8 peerów wysyła do niego wiadomość. Czas ma kluczowe znaczenie, ale jeśli chcesz mieć długi czas pracy baterii, skoncentruj się na protokole. Ta odpowiedź to tylko pomysł. Przedział czasowy budzenia zostanie podzielony na 8 innych szczelin, które każdy z pozostałych 8 elementów równorzędnych jest przydzielony do transmisji, a jeśli jeden transmituje, inni mogą najpierw posłuchać, aby sprawdzić, czy mogą transmitować. Coś takiego: -

wprowadź opis zdjęcia tutaj

„Następny” slot pozwala nowym członkom dołączyć do grupy.

Nadajniki-odbiorniki o niskiej mocy są powszechnym miejscem, więc nie zamierzam się tym zajmować.

Andy aka
źródło
2

Wypróbuj tanie moduły TXRX 433 MHz. przydają się i można je łatwo łączyć z arduino. Używam ich do moich osobistych hobby robotyki.

Haresh K Miriyala
źródło
2

Ciekawe, dlaczego nie wspomniano o bezprzewodowym module nadawczo-odbiorczym NRF24L01 2,4 GHz? Jest to jednostka o niskiej mocy, którą można przełączyć w tryb gotowości, aby uzyskać jeszcze niższy pobór. Działa przy napięciu 3,3 V, więc można użyć albo arduino o niskiej mocy, albo rozdzielacza, a co najważniejsze, jest dość tanie?

Oto strona produktu nRF24L01 + wraz z instrukcją nRF24L01 zawierającą informacje na temat łączenia jednego z Arduino wraz z przykładowym kodem.

NZM
źródło
0

RFM12B przychodzi na myśl ...

http://www.hoperf.com/rf/fsk_module/RFM12B.htm

Niektóre funkcje:

  • Interfejs zgodny z SPI
  • Wysoka szybkość transmisji danych (do 115,2 kb / s w trybie cyfrowym)
  • Zasilacz 2,2 V-3,8 V.
  • Automatyczne dostrajanie anteny
  • 16-bitowe dane RX FIFO
  • Programowalne odchylenie częstotliwości TX (od 15 do 240 kHz)
  • Programowalna szerokość pasma odbiornika (od 67 do 400 kHz)
  • Analogowy i cyfrowy wskaźnik siły sygnału
  • Sygnał wyjściowy zegara i resetu do użytku zewnętrznego MCU

Interfejs komunikacyjny SPI powinien być sprawiedliwie skonfigurowany z Arduino.

Model RFM12B-S2 sprzedaje się obecnie za mniej niż 7 USD.

captcha
źródło