Ich entwickle batteriebetriebene Sensoren, um verschiedene Parameter in meinem Haus zu messen.
Die Messungen werden von einfachen AVR-Controllern (kein Arduino) in mehr oder weniger regelmäßigen Abständen durchgeführt und drahtlos an einen zentralen Arduino mit Ethernet-Shield gesendet, der sie an meinen Server weiterleitet, wo sie gespeichert werden.
Um den Stromverbrauch gering zu halten und die Sensoren einfach zu halten, plante ich, 433-MHz-Sender an den Sensoren und einen Empfänger am Arduino zu verwenden: Es wird keine bidirektionale Kommunikation erwartet. Die Sensoren senden den Wert und eine Prüfsumme und der Empfänger überprüft sie vor der Weiterleitung.
Wenn zwei Übertragungen gleichzeitig stattfinden, auch nicht
Ich betrachte alle diese drei Fälle als "Kollisionen".
Ich plane, "zufälligen" Jitter zwischen Messungen (und Übertragungen, sie erfolgen immer zusammen) einzuführen, indem ich dem vordefinierten Intervall eine pseudozufällige 8-Bit-Verzögerung hinzufüge. Dadurch soll die Zahl der Kollisionen reduziert werden. Je nach Anzahl der Sensoren und Dauer der Kommunikation werden es aber trotzdem welche sein. Außerdem sind die Uhren der Sensoren nicht abgestimmt, es kann zu kleinen Abweichungen kommen (10% ist die Toleranz für den integrierten Oszillator in AVRs).
Ich kann einige Kollisionen akzeptieren, aber ich würde gerne schätzen, wie viele es sind, damit ich die Bitrate der Übertragung (und damit die Sendeleistung) senken kann und damit ich abschätzen kann, wie viele Sensoren und wie häufige Lesungen ich mir leisten kann.
Ist es also möglich, die zu erwartenden Kollisionen gem
Angenommen, die Übertragungen erfolgen mehr oder weniger homogen?
Auch wenn die Energie-pro-Bit als konstant angenommen werden kann und ich daher die höchste Bitrate anstreben sollte, um CPU-Zyklen zu sparen und früher in den Low-Power-Modus zu gehen, ist die Frage immer noch gültig: Wissen Sie, mit wie vielen Kollisionen ich angesichts der zu rechnen habe Häufigkeit der Messungen und Anzahl der Sensoren?
Danke
(Vielleicht sollte jemand "Kollision" als Tag hinzufügen? Ich kann nicht)
Ich kann einige Kollisionen akzeptieren, aber ich würde gerne abschätzen, wie viele es sind, damit ich die Bitrate der Übertragung (und damit die Sendeleistung) verringern kann.
Das Verringern der Bitrate verlängert die Übertragungszeit, was ironischerweise den Gesamtstromverbrauch erhöhen kann.
Wenn Sie einen Durchschnittswert aller Übertragungen pro Stunde haben, kann die Wahrscheinlichkeit, dass zwei Übertragungen in einem bestimmten Zeitrahmen stattfinden, unter der Annahme einer Poisson-Verteilung berechnet werden . Wenn die Wahrscheinlichkeit einer Übertragung in einem bestimmten Zeitrahmen (sagen wir) 0,1 ist, dann ist die Wahrscheinlichkeit von mehr als einer Übertragung 0,00468. Siehe diesen Rechner. Ich nahm an, dass X 1 ist und dass die Wahrscheinlichkeit, war 0,1 und steckte die Zahlen ein.
Denken Sie daran, dass Sie, wenn eine Übertragung (sagen wir) 20 ms lang ist, einen Zeitraum von bis zu 60 ms berücksichtigen müssen, da eine kollidierende Übertragung direkt am Ende jeder Übertragung auftreten kann.
Ich habe ein paar Messungen bzgl. Energie/Bit bei drahtlosen Übertragungen.
Eines der Ergebnisse ist; Wählen Sie eine möglichst hohe Datenrate, da der Gewinn an Bandbreite die Erhöhung des Stromverbrauchs überwiegt. 1
FarO