<<< Previous topic - Next topic >>> |
|
Author |
Message |
kdw

Joined: 05 May 2006 Posts: 1500
|
Posted: 17.06.2021, 06:24 Post subject: Anwendungsschwerpunkte … |
|
|
Hallo Forum.
Selbstverständlich ist ein Gateway, wie das RMG/941C universell einsetzbar. Es gibt aber trotzdem bestimmte Anwendungsschwerpunkte, wie z. B.:
- IoT-Integration beliebiger CAN-Daten per CAN-2-MQTT inklusive Cloud-Anbindung für Amazon-, Google-, Microsoft- u.a. IoT-Plattformen
- CAN-Baugruppen mit Modbus-, OPC UA- u.a. Kommunikationssystemen verbinden (CAN-2-AnyThing)
- Einzelne CAN-Netzwerke per CAN-over-IP Bridge mittels UDP- und IP-Protokoll lokal oder global miteinander verbinden
- VPN-gesicherter Fernzugriff auf CAN-Netzwerke und einzelne CAN-Knoten per OpenVPN
- CAN-Datenanalysen per Supervised Machine Learning (TinyML), z. B. für Condition-based Monitoring und Predictive Maintenance
- CAN-Sensorbus: Netzwerk mit einzelnen CAN-Sensoren über einfaches 4-adriges-Bussystem (jeweils zwei ein Adernpaar für den CAN-Bus und zur Spannungsversorgung der einzelnen Sensoren)
- CAN-Anwendungssoftwareentwicklung per C/C++, Python und JavaScript (Node-RED)
- Sichere Remote-Software-Updates für CAN-Devices (SDU = Secure Devices Update)
- Laufzeitumgebungen für C/C++, Python, Node.js und Node-RED zur Entwicklung eigener Anwendungen.
Zu diesen Schwerpunkten bieten wir eine besondere Unterstützung in Form von nachinstallierbaren Apps und technischer Dokumentation, z. B. Beschreibungen, wie man eine solche Anwendung in Betrieb nimmt.
VG KDW |
|
Back to top |
|
 |
kdw

Joined: 05 May 2006 Posts: 1500
|
Posted: 27.06.2021, 16:44 Post subject: CAN-Anwendungsentwicklung ... |
|
|
Hallo Forum.
Mit C/C++, Python, Node.js und Node-RED bietet ein RMG/941C verschiedene Möglichkeiten, um eigene CAN-Anwendungen zu entwickeln und unter der Debian-Linux-basierten Laufzeitumgebung auszuführen. Dabei sind allerdings einige Besonderheiten zu beachten:
C/C++: Da es sich bei C/C++ um eine Compilersprache handelt, haben wir es mit einer Cross-Entwicklungsumgebung zu tun: Der Quellcode wird auf einem PC editiert und dann mit einem Cross-Compiler übersetzt. Der ausführbare Binary wird anschließend jeweils in das RMG/941C-Dateisystem kopiert. Als Cross-Compiler haben wir einen „SSV-Crossbuild-Docker“ entwickelt, der über ein Docker Hub Repository zur Verfügung steht. Aus diesem Crossbuild-Docker können anwendungsbezogene Varianten erstellt werden, um z. B. spezielle Bibliotheken einzubinden.
Python und Node.js: Beides sind Interpretersprachen. Der jeweilige Python- bzw. JavaScript-Quellcode lässt sich zwar auf einem PC editieren. Er wird dann aber als Textdatei (also im .py- bzw. .js-Originalformat) in das RMG/941C-Dateisystem übertragen und dort zur Ausführung gebracht. Dabei ist zu berücksichtigen, dass auf dem RMG/941C weder der Python-Paketmanager PIP noch der Node.js-Paketmanager NPM zur Verfügung stehen. Diese Werkzeuge eigenen sich nicht für den Embedded-Systems-Einsatz, da ansonsten die Kontrolle über die Bestandteile und somit die Integrität des Dateisystems verloren gehen kann.
Node-RED: Dieses grafische Entwicklungswerkzeug mit integrierter Laufzeitumgebung kann man ebenfalls als Interpretersprache einordnen, weil zur Ausführung der Node-RED-Flows Node.js genutzt wird. Der Node-RED-interne Palette Manager zum nachträglichen Installieren weiterer Nodes lässt sich auf dem RMG/941C ebenfalls nicht benutzen, da die jeweiligen Abhängigkeiten analog zu PIP und NPM verschiedenen Probleme im Dateisystem eine Embedded-Linux-Systems bereiten können.
Für die Kommunikation der einzelnen Anwendungen untereinander steht ein In-System-MQTT-Broker (ISMB) zur Verfügung. Er ermöglicht den in einzelnen Prozessen isolierten Anwendungen einen bidirektionalen Datenaustausch per MQTT. Der ISMB ist über die IP-Adresse 127.0.0.1 (Local Host) und den TCP-Port 7883 erreichbar.
Per ISMB kann zum Beispiel eine in Python geschriebene CAN-Datenerfassungsanwendung mit einer Node-RED-Anwendung kommunizieren. Ein möglicher Anwendungsfall wäre ein Node-RED-Dashboard als Benutzerschnittstelle, um Konfigurationsdaten an die Python-Applikation zu schicken.
VG KDW |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|