
Router-Serie sollen die klassische Kombination aus: Einplatinencomputer + Modem + Router ersetzen. Jetzt kann die gesamte erforderliche Logik direkt auf dem Router ausgefĂŒhrt werden. Dank des leistungsstarken ARM-Prozessors, 512 MB RAM und ~2 GB internem Flash-Speicher kann man sogar einen Node.js-Server auf dem Router starten!
Serielle Schnittstellen RS-232/485 sind ebenfalls im Router integriert und stehen sofort im Betriebssystem mit vollem Root-Zugriff zur VerfĂŒgung. Eine offene Umgebung zur Erstellung eigener Programme und C/C++-Bibliotheken fĂŒr die Arbeit mit der niedrigstufigen Hardware-API ist ebenfalls vorhanden.
Die Tiefschlaf-Funktion ermöglicht eine Energieeinsparung beim Betrieb mit Batterie: Der Router kann nur aktiviert werden, wenn die Verbindung tatsÀchlich erforderlich ist.
In diesem Artikel werden wir interessante Funktionen des GerÀts erörtern und in der Praxis mit der Ein-/Ausgabeschnittstelle aus Shell-Skripten arbeiten.
Technische Spezifikationen
Router-Serie wurden auf einer einheitlichen Hardware-Plattform realisiert und werden in fĂŒnf Modellen angeboten, die sich in den FrequenzbĂ€ndern von LTE, der VerfĂŒgbarkeit von Wi-Fi und Geolokalisierung (GNSS) unterscheiden. Die GerĂ€te werden als Ersatz fĂŒr die Kombination aus Einplatinencomputer und Router positioniert. Der leistungsstarke Prozessor und der groĂe RAM ermöglichen es, ressourcenintensive Benutzeranwendungen direkt auf dem Router auszufĂŒhren.
- Cortex-A8-Prozessor â Taktfrequenz 1 GHz, 32-Bit-Architektur
- 512 MB RAM
- Flash-Speicher von 1,5 bis 4 GB â zum Speichern von Benutzerdaten
- Ein-/AusgangsanschlĂŒsse â RS-232/485-Schnittstellen und digitale Ein-/Ausgangsports stehen fĂŒr Benutzerprogramme zur VerfĂŒgung
Besonders hervorzuheben ist das Modell , das nach dem LTE Cat. M1-Standard arbeitet (). Das Protokoll LTE Cat. M1 wurde speziell fĂŒr M2M-Lösungen entwickelt, bietet eine niedrige DatenĂŒbertragungsrate (375 kb/s) und hat eine gröĂere Reichweite sowie erhöhte StabilitĂ€t unter schwierigen Verbindungsbedingungen in InnenrĂ€umen. Der Router verfĂŒgt ĂŒber einen integrierten , der es dem GerĂ€t ermöglicht, kurzzeitig nach einem vollstĂ€ndigen Stromausfall zu arbeiten.
Tiefschlafmodus
Der Tiefschlafmodus ermöglicht es, den Router in einen Zustand zu versetzen, in dem alle Prozesse eingefroren und die Hardware ausschaltet ist, um Energie zu sparen. Dabei werden alle Funktionen des GerĂ€ts deaktiviert, und von auĂen sieht es vollstĂ€ndig ausgeschaltet aus. Der Energieverbrauch in diesem Modus betrĂ€gt nicht mehr als 10 mW.

Im Schlafmodus verbraucht der Router fast keine Energie und wacht in 3 Sekunden auf.
Wenn der Router zum Ăbertragen von Daten geweckt werden muss, wird er in etwa 3 Sekunden aufwachen.. SelbstverstĂ€ndlich benötigt es zusĂ€tzliche Zeit, um das Modem im Mobilfunknetz zu registrieren, jedoch ist dies erheblich schneller als das Hochfahren des Routers von Grund auf. Diese Option ist nĂŒtzlich fĂŒr Systeme mit autonomer Stromversorgung, die den GroĂteil der Zeit im Leerlauf sind und gelegentlich aktiviert werden, um aktive Aufgaben zu erledigen, wie z.B. Alarmierung oder Reservestromblöcke.
Aufwachen und Einschlafen
Die Steuerung des Einschlafens und Aufwachens erfolgt ĂŒber das Modul .
Es gibt 2 Möglichkeiten, den Schlafmodus zu steuern:
- Ăber den digitalen Eingang â In diesem Modus wird der Router von einem externen GerĂ€t, z.B. einem Mikrocontroller, gesteuert. Bei einem LOW-Signal am digitalen Eingang schlĂ€ft der Router ein, und bei einem HIGH-Signal wacht er auf, oder umgekehrt. Es kann auch eine Auslösezeit konfiguriert werden, um versehentlichen Umschaltungen vorzubeugen.
- Ăber den internen Timer â Der Router zĂ€hlt die Zeit und wacht ein/ schlĂ€ft ein zur richtigen Zeit. Dies ist nĂŒtzlich fĂŒr einmalige Operationen oder um Daten ĂŒber einen bestimmten Zeitraum zu laden.

BenutzeroberflÀche zur Konfiguration des Tiefschlafmodus
Funktion "letzter Atemzug"
Ein Stromausfall an einem entfernten Objekt kann besonders unangenehm sein, da unklar ist, warum die Verbindung zum Objekt nicht verfĂŒgbar ist. Die Funktion "Letzter Atemzug" ermöglicht es dem Router, eine Zeit lang nach einem vollstĂ€ndigen Stromausfall zu arbeiten und eine Nachricht zu senden, dass es zu einem Ausfall gekommen ist und die Notstromversorgung nicht aktiviert wurde. Dank des eingebauten Ultracapacitors, dessen Lebensdauer erheblich lĂ€nger ist als die von Batterien, benötigt er keine Wartung oder Austausch. Dies ist nĂŒtzlich fĂŒr Systeme zur Notstromversorgung, in denen AusfĂ€lle möglich sind und es wichtig ist, den Moment des vollstĂ€ndigen Spannungsverlusts zu verfolgen.

Der Router sendet ein Signal ĂŒber den Stromausfall, selbst nach vollstĂ€ndigem Abschalten der Stromversorgung.
Um richtig auf das Ereignis eines Stromausfalls zu reagieren, muss man irgendwie davon erfahren.
Die aktuelle Betriebsspannung kann entweder ĂŒber den Shell-Befehl status sys:
$ status sys
Firmware-Version : 6.1.10 (2019-07-02)
Seriennummer : ACZ1100000623519
Profil : Standard
RTC-Batterie : Ok
Versorgungsspannung : 12.3 V # â Betriebsspannung
Temperatur : 37 C # â InnengehĂ€usetemperatur
Zeit : 2019-08-16 16:21:18
Uptime : 0 Tage, 11 Stunden, 43 Minuten
oder ĂŒber die Hardware Unix I/O-Steuerung (ioctl) und ein C/C++-Programm oder eine andere Sprache erhalten werden.
In der Tabelle sind die Adressen der benötigten Hardwareregister aufgelistet. Die aktuelle Betriebsspannung wird als ganze Zahl in Millivolt zurĂŒckgegeben. Die Verwendung einer niedrigstufigen API ist in diesem Fall den Shell-Skripten fĂŒr eine schnellere Reaktion vorzuziehen. Detaillierte Informationen zur Hardwareinteraktion sind im

Der ioctl-Befehl, der die aktuelle Betriebsspannung zurĂŒckgibt.
Serielle Schnittstellen
Im Router sind zwei serielle Schnittstellen integriert: RS-232 und RS-485. Sie ermöglichen es, PeripheriegerĂ€te direkt an den Router anzuschlieĂen, ohne zusĂ€tzliche Verkabelung. Dabei kann auf dem Router ein vollwertiger Node-RED- oder Nodejs-Server betrieben werden, was es ermöglicht, ein einziges GerĂ€t fĂŒr die Implementierung eines einfachen Automatisierungssystems zu verwenden, ohne zusĂ€tzliche Computer und Controller.

StandardmĂ€Ăig sind beide Schnittstellen als Standard-Serial-GerĂ€te in Linux verfĂŒgbar:
ls -la /dev/ttyS*
crw------- 1 root root 251, 0 Jan 1 1970 /dev/ttyS0 # â RS-232-Port
crw------- 1 root root 251, 1 Jan 1 1970 /dev/ttyS1 # â RS-485-Port
crw------- 1 root root 251, 5 Jan 1 1970 /dev/ttyS5 # â nicht verbunden
Alle Standardbibliotheken unterstĂŒtzen diese GerĂ€te ohne zusĂ€tzliche Konfiguration, einschlieĂlich des Moduls und andere.
Benutzerdefinierte Module
Die FunktionalitĂ€t des GerĂ€ts kann mit benutzerdefinierten Modulen erweitert werden: dies ist eine vereinfachte Version von Paketen, jedoch ohne Paketmanager. Eine vollstĂ€ndige Liste der verfĂŒgbaren Module finden Sie auf der Website .
Module werden manuell installiert, indem die Paketdatei ĂŒber die WeboberflĂ€che hochgeladen wird:

Derzeit sind 73 Module verfĂŒgbar. Hier sind einige interessante davon:
- â ein beliebtes Tool zur Integration verschiedener industrieller Protokolle in ein umfassendes System
- â vollwertiger Node.js-Server. Ein groĂer Arbeitsspeicher und ein leistungsstarker Prozessor ermöglichen das AusfĂŒhren ressourcenintensiver Anwendungen direkt auf dem Router!
- â ermöglicht die Arbeit in der Konsole ĂŒber den Browser.
- â ein Werkzeugset zur Entwicklung von Programmen fĂŒr Microsoft Azure IoT Hub.
Da die Firmware der Router offen ist, können Entwickler ihre eigenen Module schreiben, einschlieĂlich solcher mit einer WeboberflĂ€che. Hilfsmaterialien sind im und auf der Website des Unternehmens verfĂŒgbar. FĂŒr die angenehme Paketierung steht eine fertige .
Hardware-Ressourcen ĂŒber Shell-Skripte
FĂŒr einfache Automatisierungsaufgaben ist es praktisch, Shell-Skripte zu verwenden, mit denen man die Lichtanzeige steuern und den Status digitaler Pins abfragen/setzen kann.
Die Lichtanzeige ist nĂŒtzlich, um den aktuellen Status der AusfĂŒhrung von Befehlen anzuzeigen. Zum Beispiel deutet hĂ€ufiges Blinken auf DatenĂŒbertragung hin, seltenes Blinken auf Verbindungsversuche und stetiges Licht bedeutet Ruhe. Betrachten wir den Befehl led. Er akzeptiert nur ein Argument â die Art des Blinkens der LED.
# led
led on|off|fast|slow
So sieht das im echten Leben aus:
Demonstration der Betriebsmodi des Benutzerindikators ĂŒber Shell-Befehle
FĂŒr die Arbeit mit digitalen Pins wird der Befehl verwendet io.
$ io
Usage: io [get ] | [set ]
io set out0 1 # Setze digitalen Ausgang OUT0 auf Zustand 1 (LOW)
io get bin0 # Erhalte den Wert des digitalen Eingangs BIN0
Es ist wichtig zu beachten, dass die Logik in diesem Fall invertiert ist. Dementsprechend ist 1=LOW, 0=HIGH. Mit dem Befehl io können wir leicht mit digitalen Pins aus Bash-Skripten arbeiten und einfache Logik fĂŒr Automatisierung und Kontrolle erstellen.
Als Demonstration der Einfachheit der Arbeit mit digitalen EingÀngen und Anzeigen schreiben wir ein nutzloses Skript, das den Status des digitalen Eingangs mit einer LED anzeigt.
#!/bin/bash
while true
do
[ $(io get bin0) -eq 0 ] && led fast || led on
done
Das Prinzip des Skripts ist einfach: Wenn BIN0 im Zustand 0 ist, blinkt die Diode oft, andernfalls leuchtet sie stÀndig. So sieht das live aus:
Demonstration des Bash-Skripts zur Anzeige des Zustands des digitalen Eingangs mit Hilfe eines Indikators.
Trotz der Einfachheit dieses Skripts zeigt es anschaulich, wie man in einer Zeile, ohne zusÀtzliche Software, Bibliotheken und Konfigurationen, Eingabedaten von digitalen EingÀngen erhalten und darauf reagieren kann.
Links
- In diesem Artikel werden die Netzwerkfunktionen von Routern, wie beispielsweise Lastverteilung, Failover, VPN und andere, nicht behandelt, da diese Themen bereits in einem anderen unserer Artikel behandelt wurden: .
- Beispiel fĂŒr die Anwendung des Routers ist in unserem ersten Artikel zu finden: .
- Die Preise fĂŒr Produkte können im allgemeinen . Eine eigene Website in Russisch ist noch nicht fertig.
Wir laden zum Partnerforum von Advantech ein

Das Forum von Advantech wird eine einzigartige Plattform fĂŒr die Diskussion lokaler und globaler Trends im Bereich Internet der Dinge sein. Hier können Sie Erfahrungen mit neuen technologischen Lösungen und Produkten austauschen, neue Kunden und Partner finden. Sie haben die Möglichkeit, die Produkte zu sehen, die wir in unseren Artikeln beschrieben haben und noch mehr. BranchenfĂŒhrer und Vertreter wichtiger Partner â NVidia, Intel und andere Unternehmen, die aktiv an der Entwicklung des industriellen Internet der Dinge in den kommenden Jahren beteiligt sind, werden bei uns sprechen. Wir freuen uns auf die Teilnahme aller Fachleute aus dem Bereich industrielle Automatisierung und Internet der Dinge. Die Teilnahme an der Veranstaltung ist kostenlos! Die Anzahl der PlĂ€tze ist begrenzt. .
Quelle: habr.com
