Hallo,
ich denke das geht schon, ausprobiert habe ich es noch nicht, aber wenn der dritte nicht dazwischen funkt müßte es schon klappen.
Als alternative könnte man ja auf verschiedenen Frequenzen funken.
Gruß Sebastian
Ist es möglich einen AVR Server mit einem Easyradio Transreceiver auszustatten und zudem 2 AVR Clinents und mit dieser konstelation eine bidirektionale Datenübertragung mit Adressen aufzubauen.
Also bsp:
Der Client1 sendet OPEN1 an das Funknetz und alle hören mit. Nun besteht eine Verbindung zwischen C1 und Server. C2 bekommt die Daten zwar auch, ingnoriert sie aber. Wenn C1 fertig ist sendet er CLOSE1. Das bekommen wieder alle mit und nun ist das Netz wieder offen, d.h. jetzt könnte C2 ein OPEN2 senden und auch wieder übertragen bis zum CLOSE2.
Ist dies mit den Easyradio Modulen aus dem rnShop möglich?
Mfg
Hallo,
ich denke das geht schon, ausprobiert habe ich es noch nicht, aber wenn der dritte nicht dazwischen funkt müßte es schon klappen.
Als alternative könnte man ja auf verschiedenen Frequenzen funken.
Gruß Sebastian
Linus TorvaldSoftware is like s e x: its better when its free.
Hm...
wenn du dir ein Programm einfallen läßt bei dem sich die clients nicht gegenseitig 'zu-müllen' sollte das machbar sein.
Vllt in der art dass der 'server' der reihe nach alle clients quasi 'an-pingt' durch nen string auf den nur der jeweilige client reagiert.
Hat der server keine task's für den client, der client keine task's für den server oder der client bricht der server ab und beginnt mit dem nächsten client..
gibt aber bestimmt effizientere lösungen..
MfG, der BastelWastel
Nam et ipsa scientia potestas est..
Ich hab mir das so vorgestellt. Jedes Modul hat eine Variable welcher Clinet gerade zum Server sendet/senden darf. Diese Variable wird durch so eine Art Befehl OpenData[ID des Clinets] geöffnet. In dieser Zeit halten alle anderen Clinets still bis der CloseData[ID des Clinets] kommt. Dann dürfen wieder alle senden.
Mfg
Sollte gehen. Ausser es werden Acknowledge Signale beim Empfangen an den Server zurückgeschickt. In diesem Fall hast du ein Problem: denn OpenData[xx] müssen alle Clients empfangen, um zu wissen, wer weiter mithören soll. Aber wenn alle gleichzeitig ihren Ack an den Server zurücksenden, weiss der Server nicht, was los ist. Das musst du also prüfen.
Ausserdem hast du in diesem Fall das Problem, dass nach einem OpenData[xx] die anderen Clients auch mithören, und obwohl du die empfangenen Daten nicht weiterverarbeitest, werden sie die Acks versenden, sie müssen also abgeschaltet werden. Wenn sie aber abgeschaltet sind, hören sie den CloseClient[xx] Befehl nicht.
Am besten wäre vielleicht Zeitspannen für jeden Client festzulegen, wo sie überhaupt eingeschaltet sind. Diese Zeitspannen müssen am Anfang synchronisiert werden, und danach weiss der Server, welcher Client wann eingeschaltet ist, also wann sie empfangen können. Ist zwar nicht umbedingt effizient, aber vielleicht einfacher.
Oder du sendest in verschiedenen Frequenzkanälen, ist bei den EasyRadios möglich, wenn ich mich nicht irre.
Hoffentlich war alles verständlich, es ist noch sehr früh :-D
MfG
pongi
Hmm...können nicht alle, alles mithören oder senden die easyRadios immer ACKs beim empfangen eines Bytes? Dat wäre doof...
Ich möchte im Prinzip ein Funknetzwerk aufbauen.
Das heißt nach dem OpenData[ID] können alle mithören aber nur der angesprochene darf senden bis zu dem CloseData[ID].
Mfg
Ja, aber die Sendung von Acks ist ja auch ein Sendevorgang, was Interferenzen verursacht...
Laut dem was in dem Datenblatt steht:
Müsste das aber ohne Probleme gehen...oderAny other Easy-Radio Transceiver within range that hears the transmission will decode the message and place the recovered data within a receive buffer that can then be unloaded to the receiving host for processing and interpretation. Transmission and reception are bi-directional half duplex i.e. transmit OR receive but not simultaneously.
Dann gehts.
Ich hab ja nicht gesagt, dass es nicht geht, ich hab nur gesagt, dass du nachschauen sollst
Was passiert wenn C2 nicht mithört dass C1 CLOSE1 sendet? Er wird so lange nichts mehr sagen bis er irgendwann ein CLOSE1 wieder hört! Also zeitlich begrenzen...
Lesezeichen