• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
sieć odbiorników na arduino i nRF24L01
#1
mam takie problem i mam nadzieję na poradę.

Robię małą sieć sterowników na arduino i na modułach nRF24L01
Załóżmy że mamy nadajnik i trzy odbiorniki (ten trzeci jest poza zasięgiem nadajnika więc on odbiera sygnał wysłany pośrednio przez dwa bliższe odbiorniki)
Nadajnik wysyła sygnał do wszystkich odbiorników. Odebrały go dwa pierwsze i przesyłają dalej.
Problem w tym że odbiornik trzeci dostanie ten sam sygnał dwa razy, odbiornik pierwszy dostanie sygnał z odbiornika drugiego i odwrotnie. I w ten sposób mogą się zapętlić!
Jak się zabezpieczyć przed takim problemem?
 
Odpowiedź
#2
(14-06-2018, 14:05)pele napisał(a): mam takie problem i mam nadzieję na poradę.

Robię małą sieć sterowników na arduino i na modułach nRF24L01
Załóżmy że mamy nadajnik i trzy odbiorniki (ten trzeci jest poza zasięgiem nadajnika więc on odbiera sygnał wysłany pośrednio przez dwa bliższe odbiorniki)
Nadajnik wysyła sygnał do wszystkich odbiorników. Odebrały go dwa pierwsze i przesyłają dalej.
Problem w tym że odbiornik trzeci dostanie ten sam sygnał dwa razy, odbiornik pierwszy dostanie sygnał z odbiornika drugiego i odwrotnie. I w ten sposób mogą się zapętlić!
Jak się zabezpieczyć przed takim problemem?

Może do przesyłanych informacji dodać coś np. timestamp lub jakiś counter, porównanie i odrzucanie powtórzonych?
 
Odpowiedź
#3
Zrobiłbym coś na wzór TTL z Ethernetu.
- uC: ARM Angel , AVR, Z8, PIC, 8051 / CPU: MC680x0  , Z-80, 6502
- CPLD, FPGA, GAL
- GSM, ISDN, ETH, USB, RS232C/485/422
- C, ASM, CUPL, PHP, BASIC C-64

http://er-mik.prv.pl/projekty_avt.php * http://er-mik.prv.pl/ * http://kolejki.prv.pl/

KA-NUCLEO-F411CE Idea , ESP32, Mega2560, UNO PLUS
 
Odpowiedź
#4
tak jak napisał inzynier.domu  
Może do przesyłanych informacji dodać coś np. timestamp lub jakiś counter, porównanie i odrzucanie powtórzonych?

pomyślałem o dodaniu daty i czasu (w postaci liczby float)



Ale mam jeszcze inne pytanie.
Chciałbym moje sterowniki podzielic na sekcje, a więc muszę je jakoś rozróżniać.
Jak mam to zrobić jesli chciałbym do każdego wgrać taki sam kod.
Po mac adresach?

Ale nie wiem jak odczytać (znaleźc) wszystkie odbiorniki.
 
Odpowiedź
#5
(15-06-2018, 12:45)pele napisał(a): pomyślałem o dodaniu daty i czasu (w postaci liczby float)
Timestamp to long czy unsigned long, po co pchać się w float?

(15-06-2018, 12:45)pele napisał(a): Po mac adresach?
MAC, możesz dać DS2401

(15-06-2018, 12:45)pele napisał(a): Ale nie wiem jak odczytać (znaleźc) wszystkie odbiorniki.
Bradcast, jak np ARP w Ethernecie.
- uC: ARM Angel , AVR, Z8, PIC, 8051 / CPU: MC680x0  , Z-80, 6502
- CPLD, FPGA, GAL
- GSM, ISDN, ETH, USB, RS232C/485/422
- C, ASM, CUPL, PHP, BASIC C-64

http://er-mik.prv.pl/projekty_avt.php * http://er-mik.prv.pl/ * http://kolejki.prv.pl/

KA-NUCLEO-F411CE Idea , ESP32, Mega2560, UNO PLUS
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości