Aller au contenu principal

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

SignalType de donnéesUnitéDescription
BoardMajorVersionint8Numéro de version majeure de la carte de l'appareil
BoardMinorVersionint8Numéro de version mineure de la carte de l'appareil
BoardVariantInfoStringChaîne contenant des informations sur la variante de la carte. Pour smartMini p. ex. "smartMINI V2.3"
SocVariantInfoStringChaîne contenant des informations sur la variante du SoC. Pour smartMini p. ex. "TX6S-8035"
"CanBusName"FramesAvailableboolIndique si des données de bus CAN sont reçues via cette interface socketcan.
ActiveCanInterfacesuint16Nombre 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.

SignalType de donnéesUnitéDescription
SDCard.StatusboolCarte SD ("/sde/") disponible et montée, ou non.
SDCard.FreefloatGBEspace libre disponible sur la carte SD
SDCard.UsedfloatGBEspace utilisé sur la carte SD
SDCard.SizefloatGBTaille 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.

SignalType de donnéesUnitéDescription
ICCIDStringL'ICCID de la carte SIM.
RSSIint32dBmLe Received Signal Strength Indicator (RSSI) est un indicateur de la puissance du signal reçu.
ConnectedboolIndique si une connexion mobile existe actuellement.
CellIdint32Identification de la cellule mobile
LACint32La « 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.
MNCint32Le « Mobile Network Code » sert à identifier un opérateur de réseau radio GSM, UMTS ou TETRA.
MCCint32Le « Mobile Country Code » est un code de pays défini qui, avec le Mobile Network Code (MNC), sert à identifier un réseau mobile.
LevelStringIndique la qualité de la puissance de réception dans le réseau actuel. Valeurs possibles : "excellent", "good", "fair", "poor" et "no signal"
NetworkStringIndique quel réseau mobile est actuellement utilisé. Valeurs possibles : "lte", "gsm", "3g"
LevelIdint8Indique 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"
NetworkIdint8Indique 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

SignalType de donnéesUnitéDescription
UptimedoublehUptime totale du système
Loadfloat%Charge CPU du système
AppRamUsagefloat%Consommation de mémoire de smartCORE
TotalRamUsagefloat%Consommation totale de mémoire vive du système.
TotalRamfloatMBTaille de la mémoire vive disponible de l'appareil.
Temperaturfloat°CTempérature CPU actuelle. Déterminée à partir de "/sys/class/thermal/thermal_zone0/temp".

device

SignalType de donnéesUnitéDescription
NamestringNom de l'appareil
AppstringNom de l'application active (en règle générale toujours smartCORE)
App_versionstringNuméro de version logicielle de l'application
DevicemanagerstringNuméro de version du DeviceManager.
BspstringChaîne d'informations sur le bsp (BoardSupportPackage) du système.
SerialstringNuméro de série de l'appareil.
AppStartedint64_tsDernier instant de démarrage (UTC) de l'application smartCORE, en secondes depuis 1970.
AppRuntimeuint64_tminDurée d'exécution de l'application en minutes.
VersionstringVersion du noyau et du compilateur issue de /proc/version.
ModemEnabledboolIndique si le modem est activé ou désactivé.
clock_synchronisedboolIndique si l'horloge système est synchronisée.
PowerSupplyVoltagefloatVTension d'alimentation du système. Disponible uniquement sur les systèmes smartRAIL.
BoardTemperaturefloat°CTempérature de la carte de l'appareil. Disponible uniquement sur les systèmes smartRAIL et smartMini.

config

SignalType de donnéesUnitéDescription
StaticModifiedint64_tmsDate de dernière modification (UTC) du fichier de configuration statique (smartcore.json) en millisecondes depuis 1970.
DynamicModifiedint64_tmsDate de dernière modification (UTC) du fichier de configuration dynamique (smartcore_dynamic.json) en millisecondes depuis 1970.
VersionstringChamp 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.

SignalType de donnéesUnité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.

SignalType de donnéesUnitéDescription
Upload.SpeedfloatkBit/sVitesse d'envoi d'un fichier qui a été envoyé à une instance cloud.
Upload.FilesizefloatkByteTaille du fichier qui a été envoyé à une instance cloud.
Upload.CloudIndexint8Index de l'instance cloud à laquelle un fichier a été envoyé. L'index de chaque cloud peut être consulté dans la configuration du cloud.
Upload.ErrorCodeint16ErrorCode renvoyé en cas d'échec de l'envoi. Liste des codes : https://doc.qt.io/qt-5/qnetworkreply.html#NetworkError-enum
WWAN.MonthlyTrafficfloatMByteVolume 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.TotalMonthlyTrafficfloatMByteVolume 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.EstimatedDownloadTrafficint64MByte/hEstimation, 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.EstimatedUploadTrafficint64MByte/hEstimation, 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ètreObligatoireType de donnéesValeur par défautDescription
timeoutMsNonint5000Intervalle d'exécution du module en ms
baseModuleNamespaceNonString"System"Le namespace de base. Chaque nom de canal du module dans smartCORE commence par cette chaîne.
hardwareNonObjet-Fournit des informations sur le matériel de l'appareil
filesystemNonObjet-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.
modemNonObjet-Toutes les informations sur la connexion mobile ainsi que le n° ICCD de la carte SIM insérée.
cpuinfoNonObjet-Informations sur la charge du processeur et la consommation de mémoire du système.
deviceNonObjet-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.
configNonObjet-Fournit des informations, comme p. ex. la date de dernière modification, sur les fichiers de configuration.
metainfoNonObjet-Des paires de valeurs statiques ("clé-valeur") peuvent y être inscrites ; elles sont transmises et acquises sous forme de signaux de type chaîne.
networkNonObjet-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ètreObligatoireType de donnéesValeur par défautDescription
enabledNonbooltrueActive le module. Si désactivé (false), aucun signal n'est créé et aucune donnée n'est enregistrée.
nameNonString"Modulname"Nom ou namespace du domaine.
onChangeNonbooltrueIndique si les valeurs doivent être enregistrées immédiatement dès qu'elles ont changé, ou non.
reproductionTimeoutNonuint120Indique à 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ètreObligatoireType de donnéesValeur par défautDescription
monitorSdeCardNonbooltrueIndique que la carte SD ("/sde/") doit être surveillée. Normalement présente uniquement sur les appareils optiMEAS. Peut donc aussi être désactivée.
partitionsNonArray-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ètreObligatoireType de donnéesValeur par défautDescription
uploadMinFileSizeNonfloat0.5Indique 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​

InformationValeur
AuteuroptiMEAS GmbH
Consomme des signauxNon
Produit des signauxOui
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