
Router der Serie sind dafĂŒr konzipiert, die klassische Kombination aus Einzelplatinencomputer + Modem + Router zu ersetzen. Jetzt kann die gesamte erforderliche Logik direkt auf dem Router ausgefĂŒhrt werden. Mit einem leistungsstarken ARM-Prozessor, 512 MB RAM und etwa 2 GB internem Flash-Speicher kann auf dem Router sogar ein Node.js-Server betrieben werden!
Serielle RS-232/485-Schnittstellen sind ebenfalls in den Router integriert und sofort im Betriebssystem mit vollem Root-Zugriff verfĂŒgbar. Eine offene Umgebung zur Erstellung eigener Programme und C/C++-Bibliotheken fĂŒr die Arbeit mit der Low-Level-Hardware-API ist ebenfalls vorhanden.
Die Deep-Sleep-Funktion hilft, Energie zu sparen, wenn der Router mit Akku betrieben wird: Der Router kann nur dann aktiviert werden, wenn die Verbindung tatsÀchlich benötigt wird.
In diesem Artikel werden wir interessante Funktionen des GerÀts erörtern und praktisch mit der Eingabe-/Ausgabe-Schnittstelle aus Shell-Skripten arbeiten.
Technische Spezifikationen
Router der Serie werden auf einer einheitlichen Hardware-Plattform umgesetzt und bieten fĂŒnf Modelle, die sich in den LTE-Frequenzbereichen, der VerfĂŒgbarkeit von Wi-Fi und Geolokalisierung (GNSS) unterscheiden. Die GerĂ€te werden als Ersatz fĂŒr eine Kombination aus Einplatinencomputer und Router positioniert. Ein leistungsstarker Prozessor und ein groĂer Arbeitsspeicher 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 â zur Speicherung von Benutzerdaten
- Ein- und AusgĂ€nge â RS-232/485-Schnittstellen und digitale Ein- und AusgĂ€nge stehen fĂŒr Benutzeranwendungen zur VerfĂŒgung
Besonders hervorzuheben ist das Modell , das nach dem LTE Cat. M1-Standard arbeitet (). Das LTE Cat. M1-Protokoll wurde speziell fĂŒr M2M-Lösungen entwickelt, bietet eine niedrige DatenĂŒbertragungsrate (375 kb/s) sowie eine gröĂere Reichweite und verbesserte StabilitĂ€t unter schwierigen Innenraumbedingungen. Der Router verfĂŒgt ĂŒber , der es dem GerĂ€t ermöglicht, kurze Zeit nach dem vollstĂ€ndigen Stromausfall zu arbeiten.
Tiefschlafmodus
Der Tiefschlafmodus ermöglicht es dem Router, in einen Zustand zu versetzen, in dem alle Prozesse eingefroren und die Hardware ausgeschaltet ist, um Energie zu sparen. In diesem Zustand sind 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 so gut wie keine Energie und wacht innerhalb von 3 Sekunden auf.
Wenn der Router zur DatenĂŒbertragung aufgeweckt werden muss, wacht er in etwa 3 Sekunden auf.NatĂŒrlich benötigt er 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 sich die meiste Zeit im Standby befinden und gelegentlich aktiviert werden, um aktive Aufgaben zu erledigen, wie z. B. Alarmierung oder Backup-Blockierung.
Wecken und Schlafen
Die Steuerung des Schlafens und Aufweckens erfolgt ĂŒber das Modul .
Es gibt 2 Möglichkeiten zur Steuerung des Schlafmodus:
- Ăber den digitalen Eingang â In diesem Modus wird der Router von einem externen GerĂ€t, wie einem Mikrocontroller, gesteuert. Bei einem LOW-Signal an dem digitalen Eingang schlĂ€ft der Router ein, und bei einem HIGH-Signal wacht er auf oder umgekehrt. AuĂerdem kann ein Timeout zum Schutz vor versehentlichen Umschaltungen konfiguriert werden.
- Ăber den internen Timer â Der Router misst die Zeit und schlĂ€ft/wacht zu den festgelegten Zeiten. Das ist praktisch fĂŒr einmalige Operationen oder das Laden von Daten ĂŒber einen bestimmten Zeitraum.

BenutzeroberflÀche zur Konfiguration des Tiefschlafmodus
Funktion âLetzter Atemzugâ
Ein Stromausfall am Remote-Standort kann besonders Ă€rgerlich sein, da oft unklar bleibt, warum die Verbindung zum Standort unterbrochen ist. Die Funktion âLetzter Atemzugâ ermöglicht es dem Router, eine Zeit lang nach vollstĂ€ndiger Abschaltung der Stromversorgung zu arbeiten und eine Nachricht zu senden, dass ein Ausfall aufgetreten ist und die Notstromversorgung nicht aktiviert wurde. Dank des integrierten Superkondensators, dessen KapazitĂ€t wesentlich höher ist als die von Batterien, ist dieser wartungsfrei und muss nicht ersetzt werden. Dies ist nĂŒtzlich fĂŒr Backup-Systeme, in denen AusfĂ€lle möglich sind und es wichtig ist, den Moment des vollstĂ€ndigen Spannungsverlusts nachzuvollziehen.

Der Router sendet ein Signal ĂŒber einen Stromausfall, selbst nach einem kompletten Stromausfall.
Um auf das Ereignis eines Stromverlustes korrekt zu reagieren, muss man irgendwie darĂŒber informiert werden.
Die aktuelle Versorgungsspannung 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 # â Versorgungsspannung
Temperatur : 37 C # â Temperatur im GehĂ€use
Zeit : 2019-08-16 16:21:18
Betriebszeit : 0 Tage, 11 Stunden, 43 Minuten
oder ĂŒber die Hardware-Unix-I/O-Steuerung (ioctl) sowie ein Programm in C/C++ oder einer anderen Sprache abgerufen werden.
In der Tabelle sind die Adressen der benötigten Hardwareregister aufgefĂŒhrt. Die aktuelle Versorgungsspannung wird als Ganzzahl in Millivolt zurĂŒckgegeben. Die Verwendung einer Low-Level-API ist in diesem Fall fĂŒr eine schnellere Reaktion bevorzugt, im Vergleich zu Shell-Skripten. Detaillierte Informationen zur Hardwareprogrammierung finden Sie im

ioctl-Anfrage, die die aktuelle Versorgungsspannung liefert.
Serielle Schnittstellen
Der Router verfĂŒgt ĂŒber zwei serielle Schnittstellen: RS-232 und RS-485. Diese ermöglichen den direkten Anschluss von PeripheriegerĂ€ten an den Router, ganz ohne zusĂ€tzliche Verkabelung. Dabei kann auf dem Router ein vollwertiger Node-RED oder Node.js Server betrieben werden, wodurch nur ein GerĂ€t fĂŒr die Umsetzung eines einfachen Automatisierungssystems benötigt wird, ganz ohne zusĂ€tzliche Computer und Controller.

StandardmĂ€Ăig sind beide Schnittstellen als herkömmliche serielle GerĂ€te in Linux verfĂŒgbar:
ls -la /dev/ttyS*
crw------- 1 root root 251, 0 Jan 1 1970 /dev/ttyS0 # â port rs-232
crw------- 1 root root 251, 1 Jan 1 1970 /dev/ttyS1 # â port rs-485
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 anderen.
Benutzerdefinierte Module
Die FunktionalitĂ€t des GerĂ€ts kann durch benutzerdefinierte Module erweitert werden: dies ist eine vereinfachte Version von Paketen, nur 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:

Aktuell stehen 73 Module zur VerfĂŒgung. Hier sind einige interessante davon:
- â ein beliebtes Werkzeug zur Integration verschiedener industrieller Protokolle in ein umfassendes System.
- â ein vollstĂ€ndiger Node.js-Server. Mit viel RAM und einem leistungsstarken Prozessor können ressourcenintensive Anwendungen direkt auf dem Router ausgefĂŒhrt werden!
- â ermöglicht die Arbeit in der Konsole ĂŒber den Browser.
- â eine Sammlung von Werkzeugen zur Entwicklung von Anwendungen fĂŒr Microsoft Azure IoT Hub.
Da die Firmware der Router offen ist, können Entwickler eigene Module, einschlieĂlich solcher mit Web-OberflĂ€che, schreiben. Hilfsmaterialien sind verfĂŒgbar im und auf der Website des Unternehmens. FĂŒr die einfache Paketassembly steht eine fertige .
Hardware-Ressourcen ĂŒber Shell-Skripte
FĂŒr einfache Automatisierungsaufgaben ist es praktisch, Shell-Skripte zu verwenden, mit denen die Lichtanzeige gesteuert und der Zustand digitaler Pins abgerufen/gesetzt werden kann.
Die Lichtanzeige ermöglicht eine praktische Anzeige des aktuellen Status der BefehlsausfĂŒhrung. Zum Beispiel: DatenĂŒbertragung wird durch hĂ€ufiges Blinken angezeigt, Verbindungsversuch durch seltenes Blinken, und Ruhemodus durch dauerhaftes Leuchten. Betrachten wir den Befehl led. Er akzeptiert nur ein Argument â die Blinktyp des LED.
# led
led on|off|fast|slow
So sieht es in der RealitÀt aus:
Demonstration der Betriebsmodi des Benutzerindikators ĂŒber Shell-Befehle
Um mit digitalen Pins zu arbeiten, wird der Befehl verwendet io.
$ io
Usage: io [get ] | [set ]
io set out0 1 # Setze den digitalen Ausgang OUT0 auf Zustand 1 (LOW)
io get bin0 # Hole den Wert des digitalen Eingangs BIN0
Es ist wichtig zu beachten, dass die Logik hier invertiert ist. Entsprechend ist 1=LOW, 0=HIGH. Mit dem Befehl io können wir einfach mit digitalen Pins aus Bash-Skripten arbeiten und einfache Logik zur Automatisierung und Steuerung erstellen.
Als Demonstration der Einfachheit der Arbeit mit digitalen EingÀngen und der Anzeige schreiben wir ein sinnloses 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 Funktionsprinzip des Skripts ist einfach: Wenn BIN0 auf 0 ist, leuchtet die Diode hÀufig, andernfalls leuchtet sie kontinuierlich. So sieht das in der Praxis aus:
Demonstration eines Bash-Skripts, das den Zustand des digitalen Eingangs ĂŒber eine Anzeige darstellt.
Trotz der Einfachheit dieses Skripts zeigt es anschaulich, wie man in einer Zeile, ohne zusÀtzliche Software, Bibliotheken und Einstellungen, Eingangsdaten von digitalen EingÀngen erfassen und darauf reagieren kann.
Links
- In diesem Artikel werden die Netzwerkfunktionen von Routern, wie Lastverteilung, Failover, VPN und andere, nicht behandelt, da all diese Themen bereits in einem anderen Artikel von uns behandelt wurden: .
- Anwendungsbeispiel des Routers erfahren Sie in unserem ersten Artikel: .
- Die Preise fĂŒr die Produkte können im allgemeinen eingesehen werden. Die eigene Webseite auf Russisch ist noch nicht bereit.
Wir laden Sie zum Partnerforum von Advantech ein

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