Module smartCORE « systeminfos »
Description
Le module systeminfos a pour mission de fournir des informations sur le matériel et le logiciel de l'appareil. Les données sont actualisées cycliquement et écrites dans le pool de données smartCORE. Elles sont ainsi mises à la disposition d'autres modules et peuvent être interrogées par d'autres systèmes via l'interface Scpi. Le module ne fait que produire des données, il n'en consomme pas !
Configuration JSON
La section suivante décrit l'intégralité de la configuration JSON du module et chacun des paramètres. Le module est subdivisé en différents domaines thématiques qui fournissent des informations sur différentes parties de l'appareil / du système.
- hardware
- filesystem
- modem
- cpuinfo
- device
- config
- metainfo
- network
hardware
| Signal | Type de données | Unité | Description |
|---|---|---|---|
| BoardMajorVersion | int8 | Numéro de version majeure de la carte de l'appareil | |
| BoardMinorVersion | int8 | Numéro de version mineure de la carte de l'appareil | |
| BoardVariantInfo | String | Chaîne contenant des informations sur la variante de la carte. Pour smartMini p. ex. "smartMINI V2.3" | |
| SocVariantInfo | String | Chaîne contenant des informations sur la variante du SoC. Pour smartMini p. ex. "TX6S-8035" | |
| "CanBusName"FramesAvailable | bool | Indique si des données de bus CAN sont reçues via cette interface socketcan. | |
| ActiveCanInterfaces | uint16 | Nombre de toutes les interfaces de bus CAN actives / configurées dans le système qui ont été trouvées sur l'appareil. Actuellement, seules les interfaces de bus CAN de type "socketcan" sont prises en charge ! |
filesystem
Fournit des informations sur "/sde/" et, en option, sur d'autres partitions.
| Signal | Type de données | Unité | Description |
|---|---|---|---|
| SDCard.Status | bool | Carte SD ("/sde/") disponible et montée, ou non. | |
| SDCard.Free | float | GB | Espace libre disponible sur la carte SD |
| SDCard.Used | float | GB | Espace utilisé sur la carte SD |
| SDCard.Size | float | GB | Taille totale de la carte SD. |
D'autres partitions, qui sont produites sous forme de signaux, peuvent encore être inscrites dans la configuration. Voir l'exemple de configuration plus bas.
modem
Si le modem est activé, ce domaine fournit des informations sur la connexion mobile du modem.
| Signal | Type de données | Unité | Description |
|---|---|---|---|
| ICCID | String | L'ICCID de la carte SIM. | |
| RSSI | int32 | dBm | Le Received Signal Strength Indicator (RSSI) est un indicateur de la puissance du signal reçu. |
| Connected | bool | Indique si une connexion mobile existe actuellement. | |
| CellId | int32 | Identification de la cellule mobile | |
| LAC | int32 | La « Location Area » désigne, en téléphonie mobile (GSM et UMTS), la zone de présence actuelle d'un téléphone mobile au sein d'un réseau mobile. | |
| MNC | int32 | Le « Mobile Network Code » sert à identifier un opérateur de réseau radio GSM, UMTS ou TETRA. | |
| MCC | int32 | Le « Mobile Country Code » est un code de pays défini qui, avec le Mobile Network Code (MNC), sert à identifier un réseau mobile. | |
| Level | String | Indique la qualité de la puissance de réception dans le réseau actuel. Valeurs possibles : "excellent", "good", "fair", "poor" et "no signal" | |
| Network | String | Indique quel réseau mobile est actuellement utilisé. Valeurs possibles : "lte", "gsm", "3g" | |
| LevelId | int8 | Indique la qualité de la puissance de réception dans le réseau actuel. Indiqué ici sous forme d'entier. Valeurs possibles : 4 = "excellent", 3 = "good", 2 = "fair", 1 = "poor" et 0 = "no signal" | |
| NetworkId | int8 | Indique quel réseau mobile est actuellement utilisé. Indiqué ici sous forme d'entier. Valeurs possibles : 4 = "lte", 3 = "umts", 2 = "gsm", 1 = "cdma" ou 0 = "td-scdma" |
cpuinfo
| Signal | Type de données | Unité | Description |
|---|---|---|---|
| Uptime | double | h | Uptime totale du système |
| Load | float | % | Charge CPU du système |
| AppRamUsage | float | % | Consommation de mémoire de smartCORE |
| TotalRamUsage | float | % | Consommation totale de mémoire vive du système. |
| TotalRam | float | MB | Taille de la mémoire vive disponible de l'appareil. |
| Temperatur | float | °C | Température CPU actuelle. Déterminée à partir de "/sys/class/thermal/thermal_zone0/temp". |
device
| Signal | Type de données | Unité | Description |
|---|---|---|---|
| Name | string | Nom de l'appareil | |
| App | string | Nom de l'application active (en règle générale toujours smartCORE) | |
| App_version | string | Numéro de version logicielle de l'application | |
| Devicemanager | string | Numéro de version du DeviceManager. | |
| Bsp | string | Chaîne d'informations sur le bsp (BoardSupportPackage) du système. | |
| Serial | string | Numéro de série de l'appareil. | |
| AppStarted | int64_t | s | Dernier instant de démarrage (UTC) de l'application smartCORE, en secondes depuis 1970. |
| AppRuntime | uint64_t | min | Durée d'exécution de l'application en minutes. |
| Version | string | Version du noyau et du compilateur issue de /proc/version. | |
| ModemEnabled | bool | Indique si le modem est activé ou désactivé. | |
| clock_synchronised | bool | Indique si l'horloge système est synchronisée. | |
| PowerSupplyVoltage | float | V | Tension d'alimentation du système. Disponible uniquement sur les systèmes smartRAIL. |
| BoardTemperature | float | °C | Température de la carte de l'appareil. Disponible uniquement sur les systèmes smartRAIL et smartMini. |
config
| Signal | Type de données | Unité | Description |
|---|---|---|---|
| StaticModified | int64_t | ms | Date de dernière modification (UTC) du fichier de configuration statique (smartcore.json) en millisecondes depuis 1970. |
| DynamicModified | int64_t | ms | Date de dernière modification (UTC) du fichier de configuration dynamique (smartcore_dynamic.json) en millisecondes depuis 1970. |
| Version | string | Champ de texte libre permettant un versionnage simple de la configuration. Si le champ est vide ou n'est pas indiqué dans la configuration, le signal n'est pas transmis. |
metainfo
Met à disposition, sous forme de signaux de type chaîne, toutes les valeurs inscrites dans la configuration.
| Signal | Type de données | Unité | Description |
|---|---|---|---|
| "keys_1" | string | ||
| ... | |||
| "keys_N" | string |
Network
Informations sur la connexion réseau et sur les envois de fichiers vers des instances cloud. L'horodatage permet de mettre ces informations en relation.
| Signal | Type de données | Unité | Description |
|---|---|---|---|
| Upload.Speed | float | kBit/s | Vitesse d'envoi d'un fichier qui a été envoyé à une instance cloud. |
| Upload.Filesize | float | kByte | Taille du fichier qui a été envoyé à une instance cloud. |
| Upload.CloudIndex | int8 | Index de l'instance cloud à laquelle un fichier a été envoyé. L'index de chaque cloud peut être consulté dans la configuration du cloud. | |
| Upload.ErrorCode | int16 | ErrorCode renvoyé en cas d'échec de l'envoi. Liste des codes : https://doc.qt.io/qt-5/qnetworkreply.html#NetworkError-enum | |
| WWAN.MonthlyTraffic | float | MByte | Volume de données transmis dans les deux sens pendant le mois (de facturation) en cours depuis le jour de réinitialisation inclus, actualisé en temps réel, configurable via le paramètre "resetDayOfMonth", par défaut le premier du mois |
| WWAN.TotalMonthlyTraffic | float | MByte | Volume de données transmis dans les deux sens pendant les mois (de facturation) écoulés, actualisé à chaque début du jour de réinitialisation "resetDayOfMonth" |
| WWAN.EstimatedDownloadTraffic | int64 | MByte/h | Estimation, actualisée en temps réel, du volume de données en téléchargement par rapport à un instant de départ fixé toutes les heures |
| WWAN.EstimatedUploadTraffic | int64 | MByte/h | Estimation, actualisée en temps réel, du volume de données en envoi par rapport à un instant de départ fixé toutes les heures |
Configuration complète
Il n'existe aucun paramètre obligatoire (must-have) ; aucune entrée n'est donc nécessaire pour aucun paramètre. Pour chaque paramètre, il existe une valeur par défaut judicieuse, de sorte que le module soit immédiatement opérationnel sans connaissance approfondie des paramètres.
Configuration minimale
{
"factory": "systeminfos",
"module": "SystemInfos",
"config": {
}
}
Configuration avec tous les paramètres
{
"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"
}
]
}
}
}
Exemple
La configuration ci-dessus donne les noms de signaux suivants pour les différents domaines :
- "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"
Liste des paramètres
| Nom du paramètre | Obligatoire | Type de données | Valeur par défaut | Description |
|---|---|---|---|---|
| timeoutMs | Non | int | 5000 | Intervalle d'exécution du module en ms |
| baseModuleNamespace | Non | String | "System" | Le namespace de base. Chaque nom de canal du module dans smartCORE commence par cette chaîne. |
| hardware | Non | Objet | - | Fournit des informations sur le matériel de l'appareil |
| filesystem | Non | Objet | - | Informations sur la carte SD ("/sde/") - taille, espace libre et utilisé, carte SD disponible et montée. En outre, d'autres partitions peuvent également être indiquées dans la configuration ; leurs propriétés (taille, espace libre et utilisé) sont alors produites. |
| modem | Non | Objet | - | Toutes les informations sur la connexion mobile ainsi que le n° ICCD de la carte SIM insérée. |
| cpuinfo | Non | Objet | - | Informations sur la charge du processeur et la consommation de mémoire du système. |
| device | Non | Objet | - | Fournit les informations de version du logiciel sur l'appareil (yocto, smartCORE, devicemanager) ainsi que le nom et le numéro de série du système. |
| config | Non | Objet | - | Fournit des informations, comme p. ex. la date de dernière modification, sur les fichiers de configuration. |
| metainfo | Non | Objet | - | Des paires de valeurs statiques ("clé-valeur") peuvent y être inscrites ; elles sont transmises et acquises sous forme de signaux de type chaîne. |
| network | Non | Objet | - | Fournit des informations sur le réseau, p. ex. les débits pour l'envoi de fichiers Osf. |
Objets de paramètres
Les objets de paramètres "filesystem", "modem", "hardware", "cpuinfo", "network" et "device" ont tous les mêmes paramètres. L'exception est l'objet "device", qui ne possède pas de paramètre "onlyOnChange". Le domaine "network" ne possède pas de paramètres "onlyOnChange" ni "reproductionTimeout", car les données sont acquises sur événement.
| Nom du paramètre | Obligatoire | Type de données | Valeur par défaut | Description |
|---|---|---|---|---|
| enabled | Non | bool | true | Active le module. Si désactivé (false), aucun signal n'est créé et aucune donnée n'est enregistrée. |
| name | Non | String | "Modulname" | Nom ou namespace du domaine. |
| onChange | Non | bool | true | Indique si les valeurs doivent être enregistrées immédiatement dès qu'elles ont changé, ou non. |
| reproductionTimeout | Non | uint | 120 | Indique à quel intervalle de temps minimal les valeurs sont enregistrées / acquises, même si elles n'ont pas changé. |
Le domaine "filesystem" possède d'autres paramètres, disponibles uniquement dans ce domaine :
| Nom du paramètre | Obligatoire | Type de données | Valeur par défaut | Description |
|---|---|---|---|---|
| monitorSdeCard | Non | bool | true | Indique que la carte SD ("/sde/") doit être surveillée. Normalement présente uniquement sur les appareils optiMEAS. Peut donc aussi être désactivée. |
| partitions | Non | Array | - | Peut contenir une liste (tableau JSON) d'autres partitions qui doivent être surveillées et acquises sur le système. |
Le domaine "network" possède d'autres paramètres, disponibles uniquement dans ce domaine :
| Nom du paramètre | Obligatoire | Type de données | Valeur par défaut | Description |
|---|---|---|---|---|
| uploadMinFileSize | Non | float | 0.5 | Indique la taille de fichier minimale à partir de laquelle un envoi de fichier est pris en compte et acquis. Indiquée en kByte. |
Informations sur le module / fiche signalétique
| Information | Valeur |
|---|---|
| Auteur | optiMEAS GmbH |
| Consomme des signaux | Non |
| Produit des signaux | Oui |
| Version smartCORE | >= 0.175 |
Interfaces, protocoles et bibliothèques utilisés
- DeviceManager (informations du modem par notification)
- libhal
Syst èmes pris en charge
- smartMini
- smartMini-S
- smartRAIL