Hallo liebe Internet der Dinge Liebhaber. Ich setze meine Artikelserie fort.
Teil eins →
Teil zwei →
Teil drei →
Teil vier →
Teil fünfWir haben also gelernt, wie man mit der Impulsausgabe von Zählern und der gemasterten Verschlüsselung arbeitet. Was ist der nächste Schritt? Die Antwort liegt auf der Hand. RS-485.
Ein bisschen Theorie. RS-485 (Recommended Standard) ist eine asynchrone Schnittstelle der physischen Schicht. Er erlangte im industriellen Internet immense Popularität, angefangen bei Versorgungsunternehmen bis hin zu verschiedenen Fabriken und Unternehmen.
Im Prinzip wird fast jedes Messgerät, das uns nicht nur einen, sondern mehrere Parameter geben möchte, höchstwahrscheinlich mit RS-485 ausgestattet sein. Seltener RS-232 oder M-Bus, aber lassen wir sie zunächst beiseite und analysieren das aufschlussreichste Beispiel. Genauer gesagt, Probleme bei der Arbeit mit ihm.
Geschwindigkeitsproblem
RS-485 ist ein verkabelter Standard. LoRa - drahtlos. Es ist logisch, dass es ein bestimmtes Gerät geben muss, mit dem man sich anfreunden kann.
Alles ist richtig. Fast jeder Hersteller des Terminals in der Linie verfügt über ein Funkmodul mit RS-485-Unterstützung. Es funktioniert nach dem Prinzip eines transparenten Kanals. Alle Pakete, die durch die Leitung gehen, werden als Nutzlast von LoRaWAN-Paketen gepackt und an die Übertragung gesendet. Oder werden empfangen und in elektrische Impulse umgewandelt.
Und hier ist das erste Problem. RS-485 ist eine sehr schnelle Schnittstelle. Pakete darauf laufen mit einer Geschwindigkeit von mehreren Kilobit / s oder sogar mehreren zehn. Eine der typischen Modbus-Geschwindigkeiten beträgt beispielsweise 9,6 kbit / s.
LoRa drückt selbst mit dem besten SF = 7 (125 kHz, 4/5) 5,5 kbit / s. Mit höherem SF wird es noch weniger geben.
Dies bedeutet, dass die Erfassung der Werte einiger Stromzähler keine Sekunden und nicht einmal zehn Sekunden dauert. Die Partitur wird Minuten dauern. Und das mit einer richtig eingestellten Wartezeit. Wenn Sie die Standardeinstellungen beibehalten, endet Ihre Umfrage höchstwahrscheinlich mit einem Timeout-Fehler. Ich schweige über die Einschränkungen der Länge von LoRaWAN-Paketen. Es gibt nur Ärger.
Abfrageproblem
Mit Impulsausgängen ist alles einfach. Wir zählen die Impulse, multiplizieren sie mit dem Teilungspreis und erhalten den Zählerstand. Jede einfache Schnittstelle kann damit umgehen. Und eine solche Schnittstelle wird neben der Einfachheit universeller sein.
Mit RS-485 ist alles viel schlimmer. Überraschenderweise verstehen viele eine wichtige Sache nicht.
RS-485 ist KEIN AUSTAUSCHPROTOKOLL! Das Format der darin enthaltenen Pakete wird nicht angegeben. Tatsächlich ist es nur ein Übertragungsmedium. Es werden nur elektrische und zeitliche Eigenschaften der Schnittstelle angegeben. Das ist alles! Alles oben muss bereits separat zerlegt werden.
Und es gibt etwas zu zerlegen! Zusätzlich zu unserer Umwelt kann jeder Hersteller das abwickeln, was er will. Nun, oder was sich für ihn persönlich als bequem herausstellte. Zum Beispiel kommuniziert der VKT-7 Wärmezähler über ModBus mit uns. Und Energomera - durch GOST R IEC 61107-2001.
Dies sind alles Protokolle, die dem Übertragungsmedium von oben überlagert sind und eine höhere Ebene haben. Jedes Protokoll hat seine eigene Zusammensetzung des Frames, erfordert, dass seine eigenen Teams bestimmte Aktionen ausführen, sorgt für unterschiedliche Speicherung (und damit Abfrage) von Werten. Daher benötigt jedes Gerät ein eigenes Abfrageskript. Darüber hinaus unterscheidet sich dieses Skript auch im Rahmen eines Protokolls (desselben ModBus) von Gerät zu Gerät.
Die Protokolle selbst sind kein Geheimnis und größtenteils offen. Darüber hinaus enthält die Website jedes Herstellers häufig ein kostenloses Dienstprogramm, mit dem Sie Geräte abfragen können. Diese Dienstprogramme sind jedoch nicht universell und für einen Hersteller geschärft. Und wir erinnern uns, dass wir fast immer einen Zoo mit Geräten haben. Und mehrere Programme gleichzeitig auf den Client zu stellen ... nun, das ist nicht allzu bequem.
Es gibt zwei Auswege. Oder schreibe etwas Eigenes. Oder nehmen Sie ein Programm, in dem bereits Abfrageskripte für die beliebtesten Geräte kompiliert wurden. Es gibt viele vorgefertigte Lösungen auf dem Markt, beispielsweise "LERS-Accounting" oder "YaEnergetik". Aber sie werden bezahlt und kosten gutes Geld. Sowie die Entwicklung seiner Software.
Wenn wir über das industrielle Internet sprechen (das heißt, wir gehen über den Rahmen des Wohnungsbaus und der kommunalen Dienstleistungen hinaus), helfen Ihnen vorgefertigte universelle Lösungen nicht mehr. Wie man ist
Auf keinen Fall.
Wenn Sie weiterhin vorhaben, über einen transparenten Kanal über LoRa abzufragen, treten weiterhin Geschwindigkeitsbegrenzungen und Zeitüberschreitungen auf. Es kann nicht sofort und nicht mit dem ersten Gerät, aber es wird passieren.
Standardausgabe
Zusätzlich zu all den Problemen haben wir noch eines. Weil RS-485 bedeutet, dass wir das Gerät jederzeit kontaktieren können. Das LoRa-Funkmodul mit seiner Unterstützung muss der Klasse C entsprechen. Hören Sie also immer die Sendung und seien Sie bereit zu antworten.
Ich möchte Sie daran erinnern, dass Klasse C keine Batterieleistung bedeutet, aber das Problem ist nicht so ernst. In der Regel kann beim RS-485 eine externe Stromversorgung bezogen werden.
Schlimmer ist ein anderer.
Laut Gesetz können wir in zwei Frequenzbereichen arbeiten. Erinnern Sie sich an die 864-865 MHz-Grenze? Nicht mehr als 0,1% der Zeit auf Sendung? Dies bedeutet, dass jedes separat genommene Gerät beispielsweise nicht länger als 3,6 Sekunden pro Stunde in der Luft sein kann. In dieser Zeit werden wir bei SF = 12 nicht einmal drei Pakete pushen.
Sie können versuchen, das Maximum aus den Kanälen 868.7-869.2 herauszuholen. Hier tritt jedoch eine weitere Einschränkung der regionalen Standards der LoRaWAN-Spezifikation in Kraft - nicht mehr als 1 Prozent der Sendezeit für jedes Endgerät (Arbeitszyklus). OK, schon einfacher, 36 Sekunden. Nur der Sinn ist noch nicht wirklich.

Irgendwann können wir sagen - na ja, dieser Unsinn! Ich werde so lange wie nötig in der Luft sitzen! Aber dann scheint es:
Problem mit der Ätherkapazität
LoRa tauscht nicht umsonst kurze und seltene Pakete aus. In der Tat ist der gesamte Standard darauf aufgebaut. Es ist notwendig, dass jedes Gerät so wenig Zeit wie möglich in der Luft benötigt. Dann reduzieren wir das Kollisionsrisiko und können diese fantastische Dichte von mehreren tausend Radimodulen pro BS erreichen. Was passiert, wenn ein Funkmodul wie ein Maschinengewehr in Pakete kritzelt? Seine Frequenz ist zum Zeitpunkt der Übertragung belegt. Und zum Zeitpunkt der Antwort sind seitdem alle Frequenzen belegt Die Basisstation hört nichts, wenn sie sich selbst sendet.
Natürlich hat niemand die Rückstände gestrichen, um die Kapazität zu erhöhen. Das heißt, Wenn sich zwei BSs im Versorgungsbereich eines Funkmoduls befinden, antwortet einer immer noch und der zweite hört möglicherweise ein anderes Paket. Der Äther ist jedoch kein Gummi. Wenn jedes Funkmodul eine Minute benötigt, um Pakete auszutauschen, können wir in einer Stunde nicht mehr als 60 Endgeräte pro BS aufhängen, sofern keine Kollisionen auftreten. Sehr wenig, besonders wenn Sie sich daran erinnern, dass der Aktionsradius jeder BS in der Stadt etwa 2 km oder mehr beträgt.
Also nein?
Es stellt sich heraus, dass unser LoRaWAN-Netzwerk nur auf Geräte mit Impulsausgang und Überwachungssystemen beschränkt ist. Wo wird die Tatsache einer Reise aufgezeichnet?
Nein.
Wir haben nur versucht, das Konzept des Internet der Menschen zu verwenden, wo dies nicht möglich ist. Stimmen Sie zu, es ist eine Gewohnheit für uns, einen stabilen Internetkanal übermäßig zu nutzen. Öffnen Sie beispielsweise ein Video, greifen Sie nach Material im Puffer und schauen Sie nicht zu. Das heißt, Verkehr wird passieren, aber in der Tat wird nicht verwendet.
Hier ist jedoch alles anders. Wir haben wenig Geschwindigkeit, auch keine Zeit auf Sendung. Es muss sparsam eingesetzt werden. Woran kannst du denken?
Die Antwort liegt an der Oberfläche. Fahren Sie keinen Haufen Protokoll-Overhead-Verkehr über RS-485 über LoRa.
Das Abfrageskript kann auf das Funkmodul selbst heruntergeladen werden. Er wird das Messgerät vor Ort mit einer bestimmten Frequenz abfragen und uns nur trockene, vorher vereinbarte Werte senden.
Diese Methode hat zwei Minuspunkte:
- Ein solches Funkmodul erfordert bestimmte Rechenressourcen. Dies ist auf dem gegenwärtigen Stand der Technologieentwicklung kein großes Problem.
- Ein solches Funkmodul verbraucht mehr Strom. Bei einem transparenten Kanal müssen wir jedoch die Klasse C verwenden, die auch nicht von Batterien lebt. Das ist es.
Aber wir bekommen alle Informationen, die wir brauchen, in 2-3 Paketen. Und dann passt alles in einen, wenn Sie buchstäblich mehrere Parameter benötigen. In der Tat kommt es häufig vor, dass wir nicht ALL übergeben müssen, eine ziemlich begrenzte Menge von Werten.
Das Funkmodul kann beispielsweise einmal pro Stunde Daten übertragen. Und auf der Serverseite werden wir sie einlagern. Wenn Sie auf das Archiv zugreifen müssen, muss der Server das Gerät nicht einmal abfragen.
Natürlich benötigen Sie eine Art universelles Funkmodul, in das verschiedene Skripte geladen werden. Und eine Schnittstelle, die solche Informationen wahrnehmen kann. Dies ist kein einfacher Weg, sondern erfüllt nur alle Anforderungen und Einschränkungen.
Im Moment treffen immer mehr Hersteller diese Entscheidung. Vega bereitet ähnliche Geräte vor, icbcom, ORION M2M und andere haben sie bereits.
Weil Wenn wir eine selbstgeschriebene Schnittstelle verwenden, haben wir ähnliche Entwicklungen. Irgendwann wurde klar, dass wir einfach nicht arbeiten könnten, wenn wir nicht tiefer gehen würden.
Zusätzlich zu den Tricks zum Einsparen von Datenverkehr benötigen wir noch ein gutes Netzwerk, in dem Geräte mit minimalem SF und maximaler Geschwindigkeit arbeiten. Ich betone - nicht so ein Netzwerk, in dem alle Geräte mit SF = 7. Sie werden dies immer noch nicht erreichen.
Ein solches Netzwerk, das SF = 7 sucht. Dies bedeutet kompetente Planung und ADR.
Am Ausgang erhalten wir ausreichende Geschwindigkeiten für die Übertragung der Pakete, immer noch eine große Anzahl von Funkmodulen pro BS und die Fähigkeit, mit Schnittstellen zu arbeiten, deren Pegel höher als der Impulsausgang ist. Welches war erforderlich.
PS Kollegen, ich bin allen für das Feedback dankbar. Sag mir, bist du immer noch daran interessiert, etwas über LoRaWAN oder das Internet der Dinge zu lernen? Antworten können mir per PM oder in den Kommentaren schreiben. Für die interessantesten oder umfangreichsten Anfragen werden Artikel veröffentlicht.