Stránka 1 z 1

Synchronizace 10 desek

Napsal: 21 kvě 2018, 15:37
od KamilV
Ahoj,
uvažuji, že ve výsledku budu mít 10 desek ArduinoUno. Zatím mám pro test 2 kusy.

Každá deska obsahuje strukturu, ve které je byte ID a bool POVOLENO.

Jde mi o to, aby jednotlivé desky o sobě navzájem věděly, na které je bool POVOLENO true a na které false.
Potřebuji tedy, aby se bezdrátově synchronizovaly.

Zatím jsem šel myšlenkou 433 Mhz broadcastu, kdy mám jednotlivé desky synchronizované v čase a interval jedné sekundy mám rozdělen na 10 "oken". Každá Ntá deska vysílá o sobě informaci v Ntém okně, ve zbývajícím čase naslouchá ostatním.
Tím se vyhýbám zahlcení přijímače a častým konfliktům. Na komunikace používám knihovnu VirtualWire.

Problém, na který jsem narazil, je, že na jedné desce jakoby nemohl být vysílač a přijímač zároveň. Pokud jsem pouze posílal strukturu z jedné desky na druhou, šlo to výborně. Pokud bych chtěl zpět poslat strukturu z druhé na první, už to neprojde.

Řešení nepřináší ani funkce rx_start() a rx_stop(), že bych před započetím vysílání zhazoval a po odeslání zprávy opět nahazoval přijímač.

Druhá myšlenka byla, že bych jak přijímač, tak vysílač napájel z digitálního pinu 5 V. Ani to nevedlo k úspěchu.
Třetí myšlenka byla, že bych přijímač i vysílač napájel přes tranzistor a z digitálního pinu určoval, které "zařízení bude aktivní" podle potřeby. Ani to nevedlo k úspěchu.

Takže už moc nevím. Je pak možnost využít i úplně jinou technologii, podmínka ale je, aby synchronizace probíhala broadcastově, aspoň na 20 metrů, přes překážky.

U WiFi bych musel postupně komunikovat vždy jen "jeden s jedním", že? U toho rádia je sympatické, že jeden vysílá a všichni poslouchají...

Re: Synchronizace 10 desek

Napsal: 30 říj 2019, 06:37
od Diego
Koukam ze je prispevek dost stary ale zkusim nadhodit myslenku. Co to udelat pres wifi a synchronizovat pres server?

Re: Synchronizace 10 desek

Napsal: 31 říj 2019, 20:30
od KamilV
To by vyžadovalo, aby každá deska posílala svůj stav na server a zároveň si stahovala info o ostatních deskách. Což by ve výsledku bylo dost "pomalé". Druhým problémem by bylo, že by všechny desky musely být v dosahu AP.
Nakonec jsem to tenkrát vyřešil použitím modulu HC-12, kde spolu komunikují všechny desky v dosahu sebe sama navzájem. Případně si ve zprávě předávají ID příjemce, pokud není komunikace určená všem. Dosah je dostatečný, rychlost je perfektní.