Diese Website benutzt Google Analytics. Bitte klicken Sie hier, um zu verhindern, dass Analytics Ihr Surfverhalten mitverfolgt. Hier klicken, um das Tracking zu unterbinden.

FAQ

Häufig gestellte Fragen zur icom SmartBox

Hier finden Sie Antworten zum Einsatz und zur Programmierbarkeit der icom SmartBox.

 

1.  Begriffe und Anwendungen

Was ist die icom SmartBox?

Die Profi-Router der MR-Baureihe basieren auf einem embedded Linux-System, das für kundenspezifische Anwendungen (Device Apps) offen ist, d.h. Anwender-Programme unabhängig vom Router auszuführen. Wegen dieser Fähigkeit nennen wir unsere Router INSYS Smart Devices.

Was sind Device Apps?

Device Apps bestehen aus einzelnen oder mehreren Programmen, die die Kernfunktionen des Routers (Internetzugang, Netzwerkmanagement, Routing, VPN, Firewall, Switch, Konfiguration, Verbindungsmanagement, etc.) um eigene Funktionen ergänzen.

Wie Apps auf einem Smartphone laufen Device Apps in der SmartBox von Routern der MR-Baureihe: sie sind Gäste auf dem System und können zusätzliche individuelle Funktionen bereitstellen. Innerhalb der SmartBox können mehrere Device Apps parallel und unabhängig voneinander laufen. Device Apps sind als Linux-Containers (LXC) realisiert.

Was ist LXC?

LXC (Linux Containers) ist ein Verfahren zur Virtualisierung auf Betriebssystemebene, das mehrere voneinander isoliert laufende Linux-Systeme auf einem einzigen Host ermöglicht. Im Gegensatz zu anderen Systemen realisiert LXC seine Virtualisierung nicht mittels virtueller Maschinen. Stattdessen erzeugt LXC eine virtuelle Umgebung, die zwar ihre eigenen Prozesse besitzt, doch für diese gemeinschaftlich den Kernel des Hostsystems nutzt. wikipedia.de 

Container sind die technische Hülle, in der Device Apps realisiert sind und in der sie von Router zu Router transportiert werden können.

Kann ich Windows im Container laufen lassen?
Nein, die Linux Containers setzen auf dem Linux-Kernel auf und nutzen ihn gemeinsam. Auf diesem Kernel können verschiedenste Linux-Distributionen laufen, so lange sie mit den Ressourcen auskommen.

Was kann ich mit einer Device App alles tun?
Device Apps können Aufgaben übernehmen, für die sonst ein kleiner PC neben dem Router erforderlich wäre. Sie kommunizieren mit ihrer Umgebung über das Netzwerk, serielle Schnittstellen und IOs. Typische Aufgaben sind:

  • Daten von Messgeräten sammeln, verdichten und zum Download bereithalten
  • Daten analysieren, z.B. ob sich die Werte zu schnell ändern oder Grenzwerte über- oder unterschritten werden; dann kann eine Meldung (SMS, E-Mail) an den Service verschickt werden (Edge Computing)
  • Sollwerte von einem zentralen System abfragen und auf lokale Steuerungen übertragen; wichtige Betriebsdaten der Steuerungen periodisch einsammeln und in die Zentrale melden
  • Digitale IOs zwischen mehreren Feldgeräten spiegeln oder IO-Zustände von einem einfachen Gerät auf Registerinhalte in einer Steuerung abbilden
  • Darstellung von Daten auf einem internen Web-Server (Visualisierung)
  • Status von Netzwerkgeräten und Webseiten lokal oder über Internet abfragen und auswerten
  • Vereinfachte Konfigurationsseiten für die MR-Router mit eingeschränktem Zugang für Endanwender erstellen
  • In Bestandsanwendungen Funktionen von Modems emulieren (Investitionsschuttz, Migration)
  • Den Router um Dienste erweitern (z.B. proprietäre VPNs und dynDNS, FTP-Server).

 

Was steckt technisch hinter den Device Apps?
Die SmartBox der MR-Router verwaltet sogenannte Linux Containers (LXC). Das ist eine Standardlösung für die Virtualisierung des Linux-Kernels. Alle Container nutzen den gleichen Linux-Kernel und starten darüber ihr individuelles System. LXC virtualisiert Prozesse, Netzwerk-Interfaces und verschiebt die Wurzel (Root) des Dateisystems.

Kann ich auch Docker-Container verwenden?
Nein, Dockers hat ursprünglich LXC als Unterbau verwendet, aber jetzt eine eigene Technologie entwickelt. Dockers ist darauf optimiert, einzelne Standard-Anwendungen auf PCs und Servern (nicht auf embedded Routern) schnell auszurollen und braucht dafür viel mehr Ressourcen als LXC.

 

 

2.  Ressourcen

Welche Rechte habe ich in meinem Container?

Innerhalb seines Containers hat der Benutzer uneingeschränkte Rechte: Als „root“ kann er weitere Benutzer und Gruppen anlegen und diesen Rechte zuweisen.

Wieviel Speicher kann ich nutzen?

Der Router reserviert sich 64 MB RAM für seine eigenen Prozesse und verteilt die übrigen 192 MB (448 MB*) gleichmäßig auf alle Container. Wenn mehrere Container installiert werden, bleibt für jeden einzelnen weniger Speicher.

Kann ich Dateien permanent speichern?
Der Router verfügt über mehr als 2 GB (6 GB*) permanenten Speicher, der nach Bedarf von allen Containern und dem Router gemeinsam genutzt wird. Die Dateisysteme der einzelnen Container sind aber strikt voneinander getrennt.

Wie stark kann ich den Prozessor nutzen?
Die Firmware des Routers hat priorisierten Zugriff auf den Prozessor. Die Prozesse der verschiedenen Container teilen sich ansonsten die Nutzung der Rechenzeit.

Kann ich aus dem Container hinaus kommunizieren?
Ja, der Container verhält sich wie ein Netzwerkgerät mit eigener IP-Adresse, eigener MAC-Adresse und er wird einem der Netze (IP-Netz 1 bis IP-Netz 5) des Routers zugeordnet, als ob er extern so angeschlossen wäre. Ebenso wirken die Firewall- und NAT-Regeln. Eine Container-Anwendung kann den Router wie ein externes Gerät als Zugang zum Internet nutzen.

Muss ich die Netzwerkeigenschaften konfigurieren?
Ja, wenn IP-Kommunikation stattfinden soll. Dann ist die Zuweisung einer IP-Adresse und Zugehörigkeit zu einem der IP-Netze notwendig. Nein, wenn die Anwendung (Device App) im Linux Container nur über die serielle Schnittstelle mit der Außenwelt kommuniziert.

Wie sind die seriellen Schnittstellen nutzbar?
Router stellen ihre seriellen Schnittstellen (z.B. RS232 und RS485 auf der MRcard SI) allen Prozessen in der Router-Firmware und in den Containern gleichberechtigt zur Verfügung. Die Prozesse müssen mögliche Zugriffskonflikte selbständig lösen.

Wie können Prozesse in verschiedenen Containern miteinander kommunizieren?
Die einzelnen Container verhalten sich wie einzelne PCs in einem Netzwerk und kommunizieren über IP-Protokolle. Neben vielen Standard-Protokollen wie HTTP und FTP können Prozesse auch schlank über Messaging-Protokolle kommunizieren. INSYS-Router enthalten dafür einen MCIP-Server - MCIP (Management and Control Information Protocol - https://sourceforge.net/projects/mcip/) ist ein von INSYS gesponsertes sehr schlankes und frei verfügbares Protokoll.

 

 

3.  Routerkonfiguration

Kann ich auch den Router verändern?

Device Apps können den Router wie ein normaler Nutzer von seinem PC aus über das Web-Interface oder die Kommandozeile (CLI) zeit- und  ereignisgesteuert abfragen und konfigurieren. Die Interna der Routerkonfiguration bleiben geschützt, damit die Integrität des Systems nicht verletzt wird – vertrauliche Zertifikate zum Beispiel werden sicher verwahrt und können nicht ausgelesen werden.

Können Programme automatisch gestartet werden?

Ja, der Router läuft in der Regel autonom ohne aktiven Bediener. Jede Device App verfügt über ein Linux-Init-System, in dem Programme automatisch gestartet und Dienste zusätzlich überwacht werden können. Damit werden Dienste, die dauernd verfügbar sein sollen, auch nach einer Störung wieder neu gestartet.
Aufgaben können auch zu fest geplanten Zeitpunkten und immer wieder durchgeführt werden.

 

 

4.  Device Apps erstellen

Wer macht die Device Apps?
Device Apps können von jedem erstellt werden, der elementare Kenntnisse in der Bedienung von Linux besitzt. Device Apps können vom Endkunden, seinem Dienstleister, einem Systemintegrator und auch von INSYS erstellt werden. Auch fertige Device Apps von Drittanbietern (sofern kompatibel zum System) können genutzt werden.

Wem gehört die Device App?

Die Device App gehört dem Urheber oder seinem Auftraggeber. INSYS beansprucht keine Rechte an Device Apps, die von Dritten erstellt wurden.

Woraus kann ich meine Device App erstellen?
Es gibt für verschiedene Anwender vier verschiedene Wege, einen Container als Device App aus bestehenden Vorlagen zu erstellen:

  1. Default-Container in der Firmware
  2. Debian-Container mit Package-Manager 
  3. Development-Container mit Entwicklungsumgebungen für Scripting-Sprachen
  4. Vordefinierte Anwendungscontainer
Downloads finden Sie auf unserer Webseite.

Wie starte ich mit dem Default-Container?

Auf der Router-Oberfläche kann jederzeit ein neuer Container angelegt werden, der mit BusyBox (Shell-Tools und Web-Server), einem Lua-Interpreter und anderem vorkonfiguriert ist. Per SSH-Zugang können Sie sofort auf der Kommandozeile arbeiten und die notwendigen Programme miteinander verknüpfen. Ein Tutorial finden Sie auf unserer Webseite.
Eine Device App kann vom Router (Smart Device) heruntergeladen und auf andere Router (Smart Devices) aufgespielt werden.

Was ist der Debian-Container?

Debian ist das Linux, auf dem die meisten Distributionen aufbauen – wie zum Beispiel das beliebte Ubuntu. Zum Debian-Projekt gehören umfangreiche Sammlungen (Packages) von Anwendungen und ein Package-Manager, der sie mit allen Abhängigkeiten installiert, aktualisiert oder auch wieder entfernt.

Wie verwende ich den Debian-Container?

Der Debian-Container ist ideal für Linux-Anwender, die eine bestehende Software auf dem Router nutzen wollen: das kann eine Netzwerk-Monitoring-Anwendung sein, oder die Entwicklungsumgebung für eine besondere Programmiersprache.

Kann ich einen Container auch von Grund auf selbst zusammenstellen?
Ja, die Dokumentation dafür finden Sie auf Github unter https://github.com/insys-icom/M3_Container. Die technische Dokumentation verwendet den Projektnamen „M3“ für die Plattform, auf der die Router der MR-Familie basieren.

 

 

5.  Container für Entwickler

Ich kann eine Script-Sprache – wie erstelle ich mir eine Device App?

Development-Container mit vorinstallierten Umgebungen für Script-Sprachen (z.B. Python, PHP, Lua) werden von INSYS icom gepflegt und zur Verfügung gestellt. Als Skript-Programmierer verwenden Sie diese Umgebung zum Entwickeln und zum Betrieb. Wenn wir von INSYS icom Ihre Skript-Sprache nicht vorbereitet haben, verwenden Sie den Debian-Container und laden sich Ihre Skript-Umgebung.

Wie programmiere ich in C/C++?

Die Tool-Chain (SDK) für C/C++ stellt INSYS icom in einer VirtualBox zur Verfügung. Die VirtualBox macht die Entwicklungsumgebung unabhängig vom Betriebssystem des PCs. Die Tool-Chain wird von INSYS selbst genutzt und gepflegt. Im Community-Bereich auf Github stellen INSYS und SmartBox-Nutzer erprobte Build-Scripte für gängige Software-Pakete bereit.

 

 

6.  Vorbereitete Anwendungen

Gibt es fertige Container mit Device-Apps als Demonstrator?

Ja, INSYS stellt eine Auswahl von Containern zur Verfügung, um dem Anwender den Start mit einer neuen Technologie und Funktionalität so einfach wie möglich zu machen. Mehr Informationen finden Sie hier.

 

 

7.  Device Apps verteilen

Muss ich meine Device Apps auf jedem Router neu erstellen?

Nein. Wenn Sie Ihre App einmal erstellt haben, können Sie den Container vom Router herunterladen und als Ganzes auf andere Router aufspielen.

Ich habe viele Router – muss ich die Device App auf jedem manuell installieren?

Nein. Device Apps lassen sich wie Firmwares und Konfigurationen als Update-Pakete verteilen: Sie werden auf einem HTTP(S)- oder FTP-Server zur Verfügung gestellt und der Router kann regelmäßig nach Neuigkeiten suchen und diese installieren.

Brauche ich einen eigenen Server zur Verteilung von Apps?

Zurzeit ja – damit haben Sie volle Kontrolle welche Apps wann und an wen verteilt werden. Wir planen für die Zukunft einen Deployment Service zum Vertrieb und zum Management der Verteilung von Device Apps. Sprechen Sie uns an, falls Sie besondere Anforderungen haben. Es ist auch möglich, einen Update-Server für andere Router in einem Container zu betreiben.

Kann ich meine Device Apps durch Lizenzen schützen?

Im Router können eigene Lizenz-Dateien hinterlegt werden, die im Container ausgewertet werden können, um Berechtigungen für einzelne oder alle Funktionen freizugeben. Sprechen Sie uns an, wir helfen Ihnen bei der Konzeptionierung und Umsetzung von kommerzialisierbaren Lösungen.

Kann ich mich vor unkontrollierter Verbreitung meiner Device App schützen?

Wer einen Container erstellt, kann darin festlegen, ob der Container nach der Installation auch wieder vom Router heruntergeladen (und verbreitet) werden kann.

 

 

*) INSYS icom stellt seine Produktlinien MRO und MRX sukzessive auf mehr Speicher um. Fragen Sie Ihren Vertriebsansprechpartner über den Status des für Sie in Frage kommenden Produktes.

 Unsere neue Website

Überzeuge Sie sich von unserer Leidenschaft für professionelle IoT- und M2M-Datenkommunikation. 
Wir freuen uns auf Sie!