Bezprzewodowa komunikacja między więcej niż dwoma mikrokontrolerami Microchip PIC

15

Chciałbym stworzyć bezprzewodową komunikację między Microchip PIC dla mojego prostego projektu. W rzeczywistości jest to komunikacja jednokierunkowa, ale istnieje jeden serwer i więcej niż jeden klient (około 2-4, wszyscy klienci potrzebują tego samego numeru w tym samym czasie, więc są identyczni). Muszę przepchnąć bardzo mało bajtów.

Jestem absolutnie początkujący w komunikacji bezprzewodowej lub prawie w ogóle w komunikacji sprzętowej. Pomóż mi więc, jakiego rodzaju bezprzewodowego urządzenia nadawczo-odbiorczego powinienem użyć ?

Mam pewne warunki:

  • To musi być stosunkowo tanie .
  • Musi być łatwo dostępny .
  • Byłoby miło, gdyby był łatwy w użyciu.
  • około 10 metrów zasięgu (przynajmniej)

Najpierw znalazłem „Szeregowy moduł nadawczo-odbiorczy RF RF rs232”, ale nie mogę znaleźć żadnych informacji na temat używania. (Myślę, że to zbyt proste?) Nie wiem też, czy jest w stanie połączyć się z większą liczbą klientów. Widziałem też ZigBee, ale uznałem, że jest „trochę” obezwładniony na moje potrzeby. (A także skomplikowane.)

Jakiego rodzaju bezprzewodowy nadajnik-odbiornik polecasz mi?

Felicjanin
źródło

Odpowiedzi:

10

Nordic Semi nRF24L01 + jest idealny do tego rodzaju rzeczy, tanie moduły są dostępne w serwisie eBay:

http://cgi.ebay.co.uk/Arduino-NRF24L01-Wireless-Transceiver-Module-2pcs-/280640828189?pt=LH_DefaultDomain_0&hash=item41577f331d

NRF24L01 + jest często używany w bezprzewodowych sieciach czujników.

Wymagana jest MCU. I mieć odpowiednią konstrukcję i oprogramowanie testowe tutaj . Korzysta ze znacznie droższego modułu Sparkfun, zaprojektowałem płytkę dla tańszych modułów, ale nie przygotowałem jej do testów.

Leon Heller
źródło
Pamiętam, że pisałeś wcześniej o Nordic. Czy możesz porównać je z XBee?
Federico Russo
Zupełnie inny. Urządzenia skandynawskie oferują: krótki zasięg, wysoką szybkość transmisji danych, niskie zużycie energii, wymagają programowania na niskim poziomie i niskie koszty.
Leon Heller
6

Możesz rzucić okiem na Digi XBee . Mają rozwiązania zarówno punkt-punkt, jak i punkt-wiele punktów . Są łatwe w użyciu, ponieważ wystarczy podłączyć je do mikrokontrolera za pomocą połączeń UART; pełna implementacja IEEE 802.15.4 jest przejrzysta. Znalazłem cenę OK (około 18 euro za moduł punkt-punkt, IIRC).

edytuj
Zasięg do 30 m , ale prawdopodobnie wiesz, że zależy to w dużej mierze od konstrukcji budynku. Linia widzenia do 90m. Wersja XBee-PRO: odpowiednio do 90 mi 1,6 km

stevenvh
źródło
Czy wiesz, jak to się ma do modułów skandynawskich, do których odnosi się @Leon Heller?
Federico Russo,
@Federico - Nie, przepraszam.
stevenvh
Dzięki za sugestie wydaje się przyjazny. Teraz dużo o tym przeczytam. http://cgi.ebay.co.uk/XRF-wireless-UART-serial-data-module-XBee-shape-arduino-/320706374372 Czy o tym mówisz?
Felicjan,
@Felician - wydaje się być modułem porównywalnym opartym na tym samym chipsecie (?), Ale pochodzącym od innego producenta. Tabela porównawcza pokazuje, że ten nie obsługuje IEEE 802.15.4, więc myślę, że nie będzie on robił połączenia punkt-wielopunkt.
stevenvh
4

Czy wystarcza linia wzroku, być może z nadajnikiem lub odbłyśnikiem w suficie? Jeśli tak, nie będziesz dużo łatwiejszy ani tańszy niż podczerwień. Możesz użyć wspólnego demodulującego układu scalonego 38 kHz do odbioru i wysłać go za pomocą zegara 38 kHz (być może poza mikrokontrolerem) i cyfrowego pinu. Jednym z przykładów są piloty Lego RCX i Power Functions.

Bluetooth jest przeznaczony do połączeń punkt-punkt, a nie do takich transmisji.

Yann Vernier
źródło
Felicjan nie mówi nic o wymaganiach dotyczących prędkości, ale sieć sugeruje takie rzeczy, jak uzgadnianie, korekcja błędów i inne koszty ogólne, a następnie często potrzebujesz większej prędkości niż 38 kHz. XBee ma 250 kb / s, a Nordic jeszcze więcej. OTOH, RC5 (jako typowy protokół IR 38 kHz) pęka z prędkością 562,5 b / s, średnio 123 b / s.
stevenvh
Wow, podczerwień to świetny pomysł, podoba mi się, obecnie może działać! (przy okazji określiłem wymagania prędkości, „muszę przepchnąć bardzo niewiele bajtów”. Klienci są wyświetlaczami numerycznymi, potrzebują około 20 bajtów / minutę :)) Akceptuję twoją odpowiedź, ale obecnie myślę w radiu.
Felicjan,
4

Do komunikacji możesz użyć praktycznie wszystkiego - wszystko zależy od tego, jak abstrakcyjny ma być system.

Możesz użyć czegoś takiego jak XBee, który obsługuje dla ciebie łączenie węzłów i abstrakty dla ciebie.

Możesz też być bardziej ambitny i użyć do komunikacji kilku dyskretnych nadajników-odbiorników ISM (przemysłowych / naukowych / medycznych - odnosi się do zakresu częstotliwości, w którym działa) i napisać własny protokół (być może coś w stylu działania I²C). To, że masz jednego pana i kilku niewolników, ułatwia to.

Majenko
źródło
1
jeśli interesuje Cię korzystanie z transiwerów, unikałbym kłopotów z pisaniem własnego protokołu. To miłe, jeśli jesteś zainteresowany samym rozwojem , na przykład, jeśli jest to projekt, który musisz wykonać na studiach.
Federico Russo
@Federico Może OP jest zainteresowany stroną rozwoju - wiem, że jestem;) - Po prostu wrzucam pomysły do ​​miksu. To jest chwała tej strony.
Majenko
3

Sprzedaję moduły RFM70 (więc mogę być stronniczy, uważaj!). Są tanie, ale może nie tak łatwe w użyciu: 3,3 V (ale styki danych tolerujące 5 V), siatka styków 1,28 mm, chińsko-angielski arkusz danych, interfejs oprogramowania jest nieco złożony, a wyjaśnienie w arkuszu danych „mogłoby być lepsze” . Zasięg ~ 70 m, ale „w jednym pomieszczeniu” jest bardziej realistyczny. Czytałem gdzieś, że układ (RF70) jest bardzo podobny do układu skandynawskiego.

Pracuję nad biblioteką C z lepszym wyjaśnieniem interfejsu (na razie dla LPC2148 / GCC i 16F887 / HiTech-C, które są tak różne, że inne układy nie powinny stanowić problemu). (aktualizacja: biblioteka jest dostępna pod adresem http://www.voti.nl/rfm70 )

Wouter van Ooijen
źródło