"systeminfos" smartCORE Modul
Beschreibung
Die Aufgabe des systeminfos Moduls ist es, Information über die Hardware und Software des Gerätes zur Verfügung zu stellen. Die Daten werden zyklisch aktualisiert und in den smartCORE Datenpool geschrieben. So werden sie anderen Modulen zur Verfügung gestellt und können über die Scpi-Schnittstelle von anderen Systemen abgefragt werden. Es werden nur Daten produziert, nicht konsumiert!
JSON-Konfiguration
Im folgenden Abschnitt soll die gesamte JSON-Konfiguration des Moduls und die einzelnen Parameter beschrieben werden. Das Modul ist in verschiedene Themenbereiche unterteilt, die Informationen zu unterschiedlichen Geräte-/Systembereiche liefern.
- hardware
- filesystem
- modem
- cpuinfo
- device
- config
- metainfo
- network
hardware
Signal | Datentyp | Einheit | Beschreibung |
---|---|---|---|
BoardMajorVersion | int8 | Hauptversionsnummer der Geräte-Platine | |
BoardMinorVersion | int8 | Minor-Versionsnummer der Geräte-Platine | |
BoardVariantInfo | String | String mit Infos zur Boardvarainte. Für smartMini z.B. "smartMINI V2.3" | |
SocVariantInfo | String | String mit Infos zur Socvarainte. Für smartMini z.B."TX6S-8035" | |
"CanBusName"FramesAvailable | bool | Gibt an ob CAN Bus Daten über diese socketcan Schnittstelle empfangen werden. | |
ActiveCanInterfaces | uint16 | Anzahl aller im System aktiven/konfigurierten CAN Bus Schnittstellen, die auf dem Gerät gefunden wurden. Zur Zeit werden nur CAN Bus Schnittstellen vom Type "socketcan" unterstützt! |
filesystem
Bietet Informationen zur "/sde/" und optional zu anderen Partition an.
Signal | Datentyp | Einheit | Beschreibung |
---|---|---|---|
SDCard.Status | bool | SD-Karte ("/sde/") verfügbar u. gemounted oder nicht. | |
SDCard.Free | float | GB | Verfügbarer freier Speicher auf der SD-Karte |
SDCard.Used | float | GB | Verbrauchter Speicher auf der SD-Karte |
SDCard.Size | float | GB | Gesamtgröße der SD-Karte. |
Es können noch weitere Partitionen in der Konfiguration eingetragen werden, die als Signale produziert werden. Siehe Beispiel-Konfig weiter unten.
modem
Falls das Modem eingeschaltet ist, bietet dieser Bereich Information zur Mobilfunkverbindung des Modems an.
Signal | Datentyp | Einheit | Beschreibung |
---|---|---|---|
ICCID | String | Die ICCID der SIM-Karte. | |
RSSI | int32 | dBm | Received Signal Strength Indicator (RSSI ) ist ein Indikator für die empfangene Signalstärke. |
Connected | bool | Gibt an ob eine Mobilfunkverbindung zur Zeit besteht. | |
CellId | int32 | Mobilfunkzellenidentifikation | |
LAC | int32 | Die "Location Area" bezeichnet im Mobilfunk (GSM und UMTS) den aktuellen Aufenthaltsbereich eines Mobiltelefons innerhalb eines Mobilfunknetzes. | |
MNC | int32 | "Mobile Network Code" wird zur Identifizierung eines GSM-, UMTS- oder TETRA-Funknetzanbieters verwendet. | |
MCC | int32 | "Mobile Country Code" ist eine festgelegte Länderkennung, die zusammen mit dem Mobile Network Code (MNC) zur Identifizierung eines Mobilfunknetzes verwendet wird. | |
Level | String | Gibt an wie die Empfangsstärke im aktuellen Netz ist. Mögliche Werte sind: "excellent", "good", "fair", "poor" und "no signal" | |
Network | String | Gibt an welches Mobilfunknetz gerade verwendet wird. Mögliche Werte sind: "lte", "gsm", "3g" | |
LevelId | int8 | Gibt an wie die Empfangsstärke im aktuellen Netz ist. Wird hier als Ganzzahl angegeben. Mögliche Werte sind: 4 = "excellent", 3 = "good", 2 = "fair", 1 = "poor" und 0 = "no signal" | |
NetworkId | int8 | Gibt an welches Mobilfunknetz gerade verwendet wird. Wird hier als Ganzzahl angegeben. Mögliche Werte sind: 4 = "lte", 3 = "umts", 2 = "gsm", 1 = "cdma" oder 0 = "td-scdma" |
cpuinfo
Signal | Datentyp | Einheit | Beschreibung |
---|---|---|---|
Uptime | double | h | Gesamte Uptime des Systems |
Load | float | % | CPU-Auslastung des Systems |
AppRamUsage | float | % | Speicherverbrauch des smartCOREs |
TotalRamUsage | float | % | Kompletter Arbeitsspeicher-Verbrauch des Systems. |
TotalRam | float | MB | Größe des verfügbaren Arbeitsspeicher des Gerätes. |
Temperatur | float | °C | Aktuelle CPU-Temperatur. Wird aus "/sys/class/thermal/thermal_zone0/temp" ermittelt. |
device
Signal | Datentyp | Einheit | Beschreibung |
---|---|---|---|
Name | string | Gerätename | |
App | string | Name der aktiven App (i.d.R. immer smartCORE) | |
App_version | string | Software-Versionsnummer der App | |
Devicemanager | string | Versionsnummer des DeviceManagers. | |
Bsp | string | Infos-String zum bsp (BoardSupportPackage) des Systems. | |
Serial | string | Seriennummer des Gerätes. | |
AppStarted | int64_t | s | Letzter Startzeitpunkt (UTC) der smartCORE App in Sekunden seit 1970. |
AppRuntime | uint64_t | min | Laufzeit der App in Minuten. |
Version | string | Kernel- und Compiler-Version aus /proc/version. | |
ModemEnabled | bool | Gibt an ob das Modem eingeschaltet oder deaktiviert ist. | |
clock_synchronised | bool | Gibt an ob die System-Uhr synchronsiert ist. | |
PowerSupplyVoltage | float | V | Versorgungsspannung des Systems. Ist nur auf smartRAIL Systemen verfügbar. |
BoardTemperature | float | °C | Temperatur der Geräte-Platine. Nur auf smartRAIL und smartMini Systemen verfügbar. |
config
Signal | Datentyp | Einheit | Beschreibung |
---|---|---|---|
StaticModified | int64_t | s | Letztes Änderungsdatum (UTC )der statisch Konfigurationsdatei (smartcore.json) in Millisekunden seit 1970. |
DynamicModified | int64_t | s | Letztes Änderungsdatum (UTC) der dynamischen Konfigurationsdatei (smartcore_dynamic.json) in Millisekunden seit 1970. |
Version | string | Frei zu beschreibendes Textfeld, um eine einfache Versionierung der Konfig zu ermöglichen. Ist das Feld leer oder wird nicht in der Konfig angegeben, wird das Signal nicht übertragen. |
metainfo
Stellt alle in der Konfiguration eingetragenen Werte als String-Signale zur Verfügung.
Signal | Datentyp | Einheit | Beschreibung |
---|---|---|---|
"keys_1" | string | ||
... | |||
"keys_N" | string |
Network
Information zur Netzwerkanbindung und Uploads von Dateien an Cloud-Instanzen. Über den Zeitstempel können die Informationen in Relation gesetzt werden.
Signal | Datentyp | Einheit | Beschreibung |
---|---|---|---|
Upload.Speed | float | kBit/s | Upload-Geschwindigkeit einer Datei, die an eine Cloud-Instanz geschickt wurde. |
Upload.Filesize | float | kByte | Größe der Datei, die an eine Cloud-Instanz geschickt wurde. |
Upload.CloudIndex | int8 | Index der Cloud-Instanz, an den eine Datei geschickt wurde. Welche Cloud welchen Index besitzt, kann in der Cloud-Konfiguration eingesehn werden. | |
Upload.ErrorCode | int16 | ErrorCode der bei fehlerhaften Upload zurück geleifert wird. Liste der Codes: https://doc.qt.io/qt-5/qnetworkreply.html#NetworkError-enum | |
WWAN.MonthlyTraffic | float | MByte | In Echtzeit aktualisiertes, bidirektional übertragenes Datenvolumen des laufenden (Abrechnungs-)Monats seit einschließlich Rücksetztag, konfigurierbar via Parameter "resetDayOfMonth", defaultmäßig zum Monatsersten |
WWAN.TotalMonthlyTraffic | float | MByte | Bidirektional übertragenes Datenvolumen abgeschlossener (Abrechnungs-)Monate, jeweils aktualisiert zu Beginn des Rücksetztags "resetDayOfMonth" |
WWAN.EstimatedDownloadTraffic | int64 | MByte/h | In Echtzeit aktualisierte Schätzung des Download-Datenvolumens bezüglich eines stündlich festgelegten Startzeitpunkts |
WWAN.EstimatedUploadTraffic | int64 | MByte/h | In Echtzeit aktualisierte Schätzung des Upload-Datenvolumens bezüglich eines stündlich festgelegten Startzeitpunkts |
Komplette Konfiguration
Es gibt keine Must-Have Parameter, daher muss für keinen Parameter ein Eintrag gemacht werden. Für jeden Parameter gibt es einen sinnvollen Default-Wert, damit das Modul ohne größere Kenntnisse der Paramter sofort lauffähig ist.
Minimale Konfig
{
"factory": "systeminfos",
"module": "SystemInfos",
"config": {
}
}
Konfiguration mit allen Parametern
{
"factory": "systeminfos",
"module": "SystemInfos",
"config": {
"timeoutMs": 1000,
"baseModuleNamespace": "System",
"hardware": {
"enabled": true,
"name": "Hardware",
"onChange": true,
"reproductionTimeout": 120
},
"filesystem": {
"enabled": true,
"name": "Filesystem",
"onChange": true,
"reproductionTimeout": 120,
"monitorSdeCard":true,
"partitions":
[
{
"name":"sdi",
"partition":"/sdi/"
}
]
},
"modem": {
"enabled": true,
"name": "Modem",
"onChange": true,
"reproductionTimeout": 120
},
"cpuinfo": {
"enabled": true,
"name": "CPU",
"onChange": false,
"reproductionTimeout": 2
},
"device": {
"enabled": true,
"name": "Device",
"reproductionTimeout": 300
},
"config": {
"enabled": true,
"name": "Config",
"reproductionTimeout": 300,
"versionStr": "Config V1.2"
},
"network": {
"enabled": true,
"name": "Network",
"uploadMinFileSize": 0.8,
"resetDayOfMonth": 1
},
"metainfo": {
"enabled": true,
"name": "Meta",
"reproductionTimeout": 300,
"keys": [
{
"name": "Key1",
"value": "Value1"
},
{
"name": "Decription",
"value": "A new config..."
},
{
"name": "Plant",
"value": "XYZ"
}
]
}
}
}
Beispiel
Aus der obigen Konfiguration ergeben sich folgende Signalname für die einzelnen Bereiche:
- "SDCard.Size"
- "System.Filesystem.sdi_used"
- "System.Hardware.BoardMajorVersion"
- "System.Modem.RSSI"
- "System.CPU.Load"
- "System.Device.Serial"
- "System.Config.Version"
- "System.Meta.Key1"
- "System.Meta.Plant"
- "System.Network.Upload.Speed"
- "System.Network.Upload.Filesize"
Parameter-Liste
Parametername | Must-Have | Datentyp | Default-Wert | Beschreibung |
---|---|---|---|---|
timeoutMs | Nein | int | 5000 | Ausführungsintervall des Moduls in Ms |
baseModuleNamespace | Nein | String | "System" | Der Basis-Namespace. Mit diesem String beginnt jeder Kanalname im smartCORE des Moduls. |
hardware | Nein | Objekt | - | Bietet Infos zu der Gerätehardware |
filesystem | Nein | Objekt | - | Infos zu der SD-Karte ("/sde/") - Größe, freier und verbrauchter Speicher, SD-Karte verfügbar und gemounted. Des Weiteren können auch noch weitere Partitionen in der Konfig angegeben werden, deren Eigenschaften (Größe, freier und verbrauchter Speicher) dann produziert werden. |
modem | Nein | Objekt | - | Alle Informationen zur Mobilfunkverbeindung sowie der ICCD-Nr der eingelegten SIM Karte. |
cpuinfo | Nein | Objekt | - | Infos zur Prozessorauslastung und Speicherverbrauch des Systems. |
device | Nein | Objekt | - | Stellt Versions-Infos der Software auf Gerät (yocto, smartCORE, devicemanager) zur Verfügung sowie Name und Seriennummer des Systems. |
config | Nein | Objekt | - | Stellt Informationen, wie z.B. letztes Änderungsdatum, zu den Konfigurationsdateien zur Verfügung. |
metainfo | Nein | Objekt | - | Hier können statische Wertepaare ("Key-Value") eingetragen werden, die als String Signale übertragen und erfasst werden. |
network | Nein | Objekt | - | Stellt Information zum Netzwerk zur Verfügung, z.B. Datenraten für Uploads von Osf-Dateien. |
Parameter-Objekte
Die Parameter-Objekte "filesystem", "modem", "hardware", "cpuinfo", "network" und "device" haben alle die gleichen Parameter. Ausnahme ist das "device" Objekt, das kein "onlyOnChange" Parameter besitzt. Der Bereich "network" hat besitzt kein "onlyOnChange" und "reproductionTimeout" Parameter, da die Daten eventbasiert erfasst werden.
Parametername | Must-Have | Datentyp | Default-Wert | Beschreibung |
---|---|---|---|---|
enabled | Nein | bool | true | Aktiviert das Modul. Wenn deaktiviert (false) werden keine Signale angelegt und Daten gespeichert. |
name | Nein | String | "Modulname" | Name bzw. Namespace des Bereichs. |
onChange | Nein | bool | true | Gibt an ob Werte, sobald sie sich geändernt haben, sofort gespeichert werden sollen oder nicht. |
reproductionTimeout | Nein | uint | 120 | Gibt an in welchem zeitlichen Mindestabstand Werte gespeichert/erfasst werden, auch wenn sie sich nicht geändert haben. |
Der Bereich "filesystem" hat weitere Parameter, die nur in diesem Bereich verüfgbar sind:
Parametername | Must-Have | Datentyp | Default-Wert | Beschreibung |
---|---|---|---|---|
monitorSdeCard | Nein | bool | true | Gibt an dass die SdCard ("/sde/" überwacht werden soll. Normalerweise nur auf optiMEAS Geräten vorhanden. Kann dahe rauch deaktiviert werden. |
partitions | Nein | Array | - | Kann eine Liste (JSON-Array) mit weiterne Partitionen enthalten, die auf dem System überwacht und erfasst werden sollen. |
Der Bereich "network" hat weitere Parameter, die nur in diesem Bereich verüfgbar sind:
Parametername | Must-Have | Datentyp | Default-Wert | Beschreibung |
---|---|---|---|---|
uploadMinFileSize | Nein | float | 0.5 | Gibt die mindest Dateigröße an, ab der ein Datei-Upload berücksichtigt und erfasst wird. Wird in kByte angegeben. |
Modul-Informationen/Steckbrief
Information | Wert |
---|---|
Autor | optiMEAS Measurement and Automation Systems GmbH |
Konsumiert Signale | Nein |
Produziert Signale | Ja |
smartCORE Version | >= 0.175 |
Verwendete Schnittstellen, Protokolle & Bibliotheken
- DeviceManager (Modem-Informationen per Notification)
- libhal
Unterstützte Systeme
- smartMini
- smartMini-S
- smartRAIL