Módulo "systeminfos" del smartCORE
Descripción
La tarea del módulo systeminfos es proporcionar información sobre el hardware y el software del dispositivo. Los datos se actualizan de forma cíclica y se escriben en el pool de datos del smartCORE. De este modo se ponen a disposición de otros módulos y pueden ser consultados por otros sistemas a través de la interfaz Scpi. ¡Solo se producen datos; no se consumen!
Configuración JSON
En la sección siguiente se describen la configuración JSON completa del módulo y cada uno de sus parámetros. El módulo se divide en distintas áreas temáticas que proporcionan información sobre diferentes áreas del dispositivo/sistema.
- hardware
- filesystem
- modem
- cpuinfo
- device
- config
- metainfo
- network
hardware
| Señal | Tipo de datos | Unidad | Descripción |
|---|---|---|---|
| BoardMajorVersion | int8 | Número de versión principal de la placa del dispositivo | |
| BoardMinorVersion | int8 | Número de versión secundaria (minor) de la placa del dispositivo | |
| BoardVariantInfo | String | Cadena con información sobre la variante de la placa. Para smartMini, p. ej., "smartMINI V2.3" | |
| SocVariantInfo | String | Cadena con información sobre la variante del SoC. Para smartMini, p. ej., "TX6S-8035" | |
| "CanBusName"FramesAvailable | bool | Indica si se reciben datos de CAN Bus a través de esta interfaz socketcan. | |
| ActiveCanInterfaces | uint16 | Número de todas las interfaces CAN Bus activas/configuradas en el sistema que se han encontrado en el dispositivo. ¡Por el momento solo se admiten interfaces CAN Bus de tipo "socketcan"! |
filesystem
Ofrece información sobre "/sde/" y, opcionalmente, sobre otras particiones.
| Señal | Tipo de datos | Unidad | Descripción |
|---|---|---|---|
| SDCard.Status | bool | Tarjeta SD ("/sde/") disponible y montada o no. | |
| SDCard.Free | float | GB | Memoria libre disponible en la tarjeta SD |
| SDCard.Used | float | GB | Memoria utilizada en la tarjeta SD |
| SDCard.Size | float | GB | Tamaño total de la tarjeta SD. |
En la configuración pueden introducirse otras particiones, que se producen como señales. Véase el ejemplo de configuración más abajo.
modem
Si el módem está activado, esta área ofrece información sobre la conexión de telefonía móvil del módem.
| Señal | Tipo de datos | Unidad | Descripción |
|---|---|---|---|
| ICCID | String | El ICCID de la tarjeta SIM. | |
| RSSI | int32 | dBm | El Received Signal Strength Indicator (RSSI) es un indicador de la intensidad de la señal recibida. |
| Connected | bool | Indica si existe actualmente una conexión de telefonía móvil. | |
| CellId | int32 | Identificación de la celda de telefonía móvil | |
| LAC | int32 | La «Location Area» designa en telefonía móvil (GSM y UMTS) la zona de ubicación actual de un teléfono móvil dentro de una red de telefonía móvil. | |
| MNC | int32 | El «Mobile Network Code» se utiliza para identificar a un operador de red de radio GSM, UMTS o TETRA. | |
| MCC | int32 | El «Mobile Country Code» es un identificador de país establecido que, junto con el Mobile Network Code (MNC), se utiliza para identificar una red de telefonía móvil. | |
| Level | String | Indica cuál es la intensidad de recepción en la red actual. Valores posibles: "excellent", "good", "fair", "poor" y "no signal" | |
| Network | String | Indica qué red de telefonía móvil se está utilizando en este momento. Valores posibles: "lte", "gsm", "3g" | |
| LevelId | int8 | Indica cuál es la intensidad de recepción en la red actual. Aquí se indica como número entero. Valores posibles: 4 = "excellent", 3 = "good", 2 = "fair", 1 = "poor" y 0 = "no signal" | |
| NetworkId | int8 | Indica qué red de telefonía móvil se está utilizando en este momento. Aquí se indica como número entero. Valores posibles: 4 = "lte", 3 = "umts", 2 = "gsm", 1 = "cdma" o 0 = "td-scdma" |
cpuinfo
| Señal | Tipo de datos | Unidad | Descripción |
|---|---|---|---|
| Uptime | double | h | Tiempo de actividad (uptime) total del sistema |
| Load | float | % | Carga de CPU del sistema |
| AppRamUsage | float | % | Consumo de memoria del smartCORE |
| TotalRamUsage | float | % | Consumo total de memoria RAM del sistema. |
| TotalRam | float | MB | Tamaño de la memoria RAM disponible del dispositivo. |
| Temperatur | float | °C | Temperatura actual de la CPU. Se obtiene de "/sys/class/thermal/thermal_zone0/temp". |
device
| Señal | Tipo de datos | Unidad | Descripción |
|---|---|---|---|
| Name | string | Nombre del dispositivo | |
| App | string | Nombre de la app activa (por lo general, siempre smartCORE) | |
| App_version | string | Número de versión del software de la app | |
| Devicemanager | string | Número de versión del DeviceManager. | |
| Bsp | string | Cadena de información sobre el bsp (BoardSupportPackage) del sistema. | |
| Serial | string | Número de serie del dispositivo. | |
| AppStarted | int64_t | s | Último instante de inicio (UTC) de la app smartCORE en segundos desde 1970. |
| AppRuntime | uint64_t | min | Tiempo de ejecución de la app en minutos. |
| Version | string | Versión del kernel y del compilador de /proc/version. | |
| ModemEnabled | bool | Indica si el módem está activado o desactivado. | |
| clock_synchronised | bool | Indica si el reloj del sistema está sincronizado. | |
| PowerSupplyVoltage | float | V | Tensión de alimentación del sistema. Solo está disponible en sistemas smartRAIL. |
| BoardTemperature | float | °C | Temperatura de la placa del dispositivo. Solo disponible en sistemas smartRAIL y smartMini. |
config
| Señal | Tipo de datos | Unidad | Descripción |
|---|---|---|---|
| StaticModified | int64_t | ms | Fecha de la última modificación (UTC) del archivo de configuración estático (smartcore.json) en milisegundos desde 1970. |
| DynamicModified | int64_t | ms | Fecha de la última modificación (UTC) del archivo de configuración dinámico (smartcore_dynamic.json) en milisegundos desde 1970. |
| Version | string | Campo de texto de libre descripción para permitir un control de versiones sencillo de la configuración. Si el campo está vacío o no se indica en la configuración, la señal no se transmite. |
metainfo
Pone a disposición como señales de tipo cadena todos los valores introducidos en la configuración.
| Señal | Tipo de datos | Unidad | Descripción |
|---|---|---|---|
| "keys_1" | string | ||
| ... | |||
| "keys_N" | string |
Network
Información sobre la conexión de red y las cargas de archivos a instancias de la nube. Mediante la marca de tiempo puede ponerse la información en relación.
| Señal | Tipo de datos | Unidad | Descripción |
|---|---|---|---|
| Upload.Speed | float | kBit/s | Velocidad de carga de un archivo enviado a una instancia de la nube. |
| Upload.Filesize | float | kByte | Tamaño del archivo enviado a una instancia de la nube. |
| Upload.CloudIndex | int8 | Índice de la instancia de la nube a la que se ha enviado un archivo. Qué nube tiene qué índice puede consultarse en la configuración de la nube. | |
| Upload.ErrorCode | int16 | Código de error que se devuelve en caso de carga errónea. Lista de códigos: https://doc.qt.io/qt-5/qnetworkreply.html#NetworkError-enum | |
| WWAN.MonthlyTraffic | float | MByte | Volumen de datos transmitido bidireccionalmente en el mes (de facturación) en curso desde el día de restablecimiento inclusive, actualizado en tiempo real; configurable mediante el parámetro "resetDayOfMonth", por defecto el primer día del mes |
| WWAN.TotalMonthlyTraffic | float | MByte | Volumen de datos transmitido bidireccionalmente en meses (de facturación) cerrados, actualizado en cada caso al comienzo del día de restablecimiento "resetDayOfMonth" |
| WWAN.EstimatedDownloadTraffic | int64 | MByte/h | Estimación, actualizada en tiempo real, del volumen de datos de descarga con respecto a un instante de inicio definido cada hora |
| WWAN.EstimatedUploadTraffic | int64 | MByte/h | Estimación, actualizada en tiempo real, del volumen de datos de carga con respecto a un instante de inicio definido cada hora |
Configuración completa
No hay parámetros obligatorios (Must-Have), por lo que no es necesario realizar ninguna entrada para ningún parámetro. Para cada parámetro existe un valor predeterminado razonable, de modo que el módulo es operativo de inmediato sin conocimientos profundos de los parámetros.
Configuración mínima
{
"factory": "systeminfos",
"module": "SystemInfos",
"config": {
}
}
Configuración con todos los parámetros
{
"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"
}
]
}
}
}
Ejemplo
De la configuración anterior resultan los siguientes nombres de señal para las distintas áreas:
- "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"
Lista de parámetros
| Nombre del parámetro | Obligatorio (Must-Have) | Tipo de datos | Valor predeterminado | Descripción |
|---|---|---|---|---|
| timeoutMs | No | int | 5000 | Intervalo de ejecución del módulo en ms |
| baseModuleNamespace | No | String | "System" | El espacio de nombres base. Con esta cadena comienza cada nombre de canal del módulo en el smartCORE. |
| hardware | No | Objeto | - | Ofrece información sobre el hardware del dispositivo |
| filesystem | No | Objeto | - | Información sobre la tarjeta SD ("/sde/"): tamaño, memoria libre y utilizada, tarjeta SD disponible y montada. Además, en la configuración pueden indicarse otras particiones, cuyas propiedades (tamaño, memoria libre y utilizada) se producen entonces. |
| modem | No | Objeto | - | Toda la información sobre la conexión de telefonía móvil, así como el n.º ICCID de la tarjeta SIM insertada. |
| cpuinfo | No | Objeto | - | Información sobre la carga del procesador y el consumo de memoria del sistema. |
| device | No | Objeto | - | Proporciona información de versión del software del dispositivo (yocto, smartCORE, devicemanager), así como el nombre y el número de serie del sistema. |
| config | No | Objeto | - | Proporciona información, como por ejemplo la fecha de la última modificación, sobre los archivos de configuración. |
| metainfo | No | Objeto | - | Aquí pueden introducirse pares de valores estáticos ("Key-Value") que se transmiten y registran como señales de tipo cadena. |
| network | No | Objeto | - | Proporciona información sobre la red, p. ej., velocidades de datos para cargas de archivos Osf. |
Objetos de parámetros
Los objetos de parámetros "filesystem", "modem", "hardware", "cpuinfo", "network" y "device" tienen todos los mismos parámetros. La excepción es el objeto "device", que no tiene el parámetro "onlyOnChange". El área "network" no tiene los parámetros "onlyOnChange" ni "reproductionTimeout", ya que los datos se registran basándose en eventos.
| Nombre del parámetro | Obligatorio (Must-Have) | Tipo de datos | Valor predeterminado | Descripción |
|---|---|---|---|---|
| enabled | No | bool | true | Activa el módulo. Si está desactivado (false), no se crean señales ni se guardan datos. |
| name | No | String | "Modulname" | Nombre o espacio de nombres del área. |
| onChange | No | bool | true | Indica si los valores deben guardarse inmediatamente en cuanto cambien o no. |
| reproductionTimeout | No | uint | 120 | Indica con qué separación temporal mínima se guardan/registran los valores, aunque no hayan cambiado. |
El área "filesystem" tiene otros parámetros que solo están disponibles en esta área:
| Nombre del parámetro | Obligatorio (Must-Have) | Tipo de datos | Valor predeterminado | Descripción |
|---|---|---|---|---|
| monitorSdeCard | No | bool | true | Indica que debe supervisarse la tarjeta SD ("/sde/"). Normalmente solo existe en dispositivos optiMEAS. Por tanto, también puede desactivarse. |
| partitions | No | Array | - | Puede contener una lista (array JSON) con otras particiones que deban supervisarse y registrarse en el sistema. |
El área "network" tiene otros parámetros que solo están disponibles en esta área:
| Nombre del parámetro | Obligatorio (Must-Have) | Tipo de datos | Valor predeterminado | Descripción |
|---|---|---|---|---|
| uploadMinFileSize | No | float | 0.5 | Indica el tamaño mínimo de archivo a partir del cual se tiene en cuenta y se registra una carga de archivo. Se indica en kByte. |
Información del módulo/Ficha técnica
| Información | Valor |
|---|---|
| Autor | optiMEAS GmbH |
| Consume señales | No |
| Produce señales | Sí |
| Versión de smartCORE | >= 0.175 |
Interfaces, protocolos y bibliotecas utilizados
- DeviceManager (información del módem mediante notificación)
- libhal
Sistemas compatibles
- smartMini
- smartMini-S
- smartRAIL