Passa al contenuto principale

Modulo smartCORE "systeminfos"

Descrizione​

Il compito del modulo systeminfos è fornire informazioni sull'hardware e sul software del dispositivo. I dati vengono aggiornati ciclicamente e scritti nel data pool di smartCORE. In questo modo sono messi a disposizione degli altri moduli e possono essere interrogati da altri sistemi tramite l'interfaccia Scpi. Vengono solo prodotti dati, non consumati!

Configurazione JSON​

La sezione seguente descrive l'intera configurazione JSON del modulo e i singoli parametri. Il modulo è suddiviso in diverse aree tematiche, che forniscono informazioni su diverse aree del dispositivo/sistema.

  • hardware
  • filesystem
  • modem
  • cpuinfo
  • device
  • config
  • metainfo
  • network

hardware

SegnaleTipo di datiUnitàDescrizione
BoardMajorVersionint8Numero di versione principale della scheda del dispositivo
BoardMinorVersionint8Numero di versione minor della scheda del dispositivo
BoardVariantInfoStringStringa con informazioni sulla variante della scheda. Per smartMini ad es. "smartMINI V2.3"
SocVariantInfoStringStringa con informazioni sulla variante del SoC. Per smartMini ad es. "TX6S-8035"
"CanBusName"FramesAvailableboolIndica se tramite questa interfaccia socketcan vengono ricevuti dati del bus CAN.
ActiveCanInterfacesuint16Numero di tutte le interfacce bus CAN attive/configurate nel sistema che sono state trovate sul dispositivo. Al momento sono supportate solo interfacce bus CAN di tipo "socketcan"!

filesystem

Fornisce informazioni su "/sde/" e, facoltativamente, su altre partizioni.

SegnaleTipo di datiUnitàDescrizione
SDCard.StatusboolScheda SD ("/sde/") disponibile e montata oppure no.
SDCard.FreefloatGBMemoria libera disponibile sulla scheda SD
SDCard.UsedfloatGBMemoria utilizzata sulla scheda SD
SDCard.SizefloatGBDimensione complessiva della scheda SD.

Nella configurazione possono essere inserite ulteriori partizioni, che vengono prodotte come segnali. Vedere la configurazione di esempio più avanti.

modem

Se il modem è acceso, quest'area fornisce informazioni sulla connessione mobile del modem.

SegnaleTipo di datiUnitàDescrizione
ICCIDStringL'ICCID della SIM card.
RSSIint32dBmIl Received Signal Strength Indicator (RSSI) è un indicatore dell'intensità del segnale ricevuto.
ConnectedboolIndica se al momento è presente una connessione mobile.
CellIdint32Identificazione della cella di telefonia mobile
LACint32La "Location Area" indica, nella telefonia mobile (GSM e UMTS), l'area di permanenza attuale di un telefono cellulare all'interno di una rete mobile.
MNCint32Il "Mobile Network Code" viene utilizzato per identificare un operatore di rete radiomobile GSM, UMTS o TETRA.
MCCint32Il "Mobile Country Code" è un codice paese definito che, insieme al Mobile Network Code (MNC), viene utilizzato per identificare una rete mobile.
LevelStringIndica com'è l'intensità di ricezione nella rete corrente. I valori possibili sono: "excellent", "good", "fair", "poor" e "no signal"
NetworkStringIndica quale rete mobile è attualmente in uso. I valori possibili sono: "lte", "gsm", "3g"
LevelIdint8Indica com'è l'intensità di ricezione nella rete corrente. Qui è espressa come numero intero. I valori possibili sono: 4 = "excellent", 3 = "good", 2 = "fair", 1 = "poor" e 0 = "no signal"
NetworkIdint8Indica quale rete mobile è attualmente in uso. Qui è espressa come numero intero. I valori possibili sono: 4 = "lte", 3 = "umts", 2 = "gsm", 1 = "cdma" oppure 0 = "td-scdma"

cpuinfo

SegnaleTipo di datiUnitàDescrizione
UptimedoublehUptime complessivo del sistema
Loadfloat%Utilizzo della CPU del sistema
AppRamUsagefloat%Consumo di memoria di smartCORE
TotalRamUsagefloat%Consumo complessivo di memoria di lavoro del sistema.
TotalRamfloatMBDimensione della memoria di lavoro disponibile del dispositivo.
Temperaturfloat°CTemperatura attuale della CPU. Viene ricavata da "/sys/class/thermal/thermal_zone0/temp".

device

SegnaleTipo di datiUnitàDescrizione
NamestringNome del dispositivo
AppstringNome dell'app attiva (di norma sempre smartCORE)
App_versionstringNumero di versione software dell'app
DevicemanagerstringNumero di versione del DeviceManager.
BspstringStringa di informazioni sul bsp (BoardSupportPackage) del sistema.
SerialstringNumero di serie del dispositivo.
AppStartedint64_tsUltimo istante di avvio (UTC) dell'app smartCORE in secondi dal 1970.
AppRuntimeuint64_tminTempo di esecuzione dell'app in minuti.
VersionstringVersione del kernel e del compilatore da /proc/version.
ModemEnabledboolIndica se il modem è acceso o disattivato.
clock_synchronisedboolIndica se l'orologio di sistema è sincronizzato.
PowerSupplyVoltagefloatVTensione di alimentazione del sistema. Disponibile solo su sistemi smartRAIL.
BoardTemperaturefloat°CTemperatura della scheda del dispositivo. Disponibile solo su sistemi smartRAIL e smartMini.

config

SegnaleTipo di datiUnitàDescrizione
StaticModifiedint64_tmsData dell'ultima modifica (UTC) del file di configurazione statica (smartcore.json) in millisecondi dal 1970.
DynamicModifiedint64_tmsData dell'ultima modifica (UTC) del file di configurazione dinamica (smartcore_dynamic.json) in millisecondi dal 1970.
VersionstringCampo di testo liberamente compilabile per consentire un semplice versionamento della configurazione. Se il campo è vuoto o non è indicato nella configurazione, il segnale non viene trasmesso.

metainfo

Mette a disposizione come segnali stringa tutti i valori inseriti nella configurazione.

SegnaleTipo di datiUnitàDescrizione
"keys_1"string
...
"keys_N"string

Network

Informazioni sul collegamento di rete e sugli upload di file verso istanze cloud. Tramite il timestamp le informazioni possono essere messe in relazione.

SegnaleTipo di datiUnitàDescrizione
Upload.SpeedfloatkBit/sVelocità di upload di un file inviato a un'istanza cloud.
Upload.FilesizefloatkByteDimensione del file inviato a un'istanza cloud.
Upload.CloudIndexint8Indice dell'istanza cloud a cui è stato inviato un file. Quale cloud abbia quale indice può essere verificato nella configurazione del cloud.
Upload.ErrorCodeint16ErrorCode restituito in caso di upload errato. Elenco dei codici: https://doc.qt.io/qt-5/qnetworkreply.html#NetworkError-enum
WWAN.MonthlyTrafficfloatMByteVolume di dati trasmesso in entrambe le direzioni nel mese (di fatturazione) in corso, aggiornato in tempo reale, a partire dal giorno di azzeramento incluso, configurabile tramite il parametro "resetDayOfMonth", per default il primo del mese
WWAN.TotalMonthlyTrafficfloatMByteVolume di dati trasmesso in entrambe le direzioni nei mesi (di fatturazione) conclusi, aggiornato all'inizio del giorno di azzeramento "resetDayOfMonth"
WWAN.EstimatedDownloadTrafficint64MByte/hStima del volume di dati in download, aggiornata in tempo reale, rispetto a un istante di inizio definito su base oraria
WWAN.EstimatedUploadTrafficint64MByte/hStima del volume di dati in upload, aggiornata in tempo reale, rispetto a un istante di inizio definito su base oraria

Configurazione completa​

Non esistono parametri must-have, quindi non è necessario inserire alcuna voce per alcun parametro. Per ogni parametro esiste un valore di default ragionevole, in modo che il modulo sia immediatamente funzionante senza approfondite conoscenze dei parametri.

Configurazione minima​

{
"factory": "systeminfos",
"module": "SystemInfos",
"config": {
}
}

Configurazione con tutti i parametri​

{
"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"
}
]
}
}
}

Esempio

Dalla configurazione precedente risultano i seguenti nomi di segnale per le singole aree:

  • "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"

Elenco dei parametri​

Nome del parametroMust-HaveTipo di datiValore di defaultDescrizione
timeoutMsNoint5000Intervallo di esecuzione del modulo in ms
baseModuleNamespaceNoString"System"Il namespace di base. Con questa stringa inizia ogni nome di canale del modulo in smartCORE.
hardwareNoOggetto-Fornisce informazioni sull'hardware del dispositivo
filesystemNoOggetto-Informazioni sulla scheda SD ("/sde/") - dimensione, memoria libera e utilizzata, scheda SD disponibile e montata. Inoltre nella configurazione possono essere indicate anche altre partizioni, le cui proprietà (dimensione, memoria libera e utilizzata) vengono quindi prodotte.
modemNoOggetto-Tutte le informazioni sulla connessione mobile nonché il numero ICCID della SIM card inserita.
cpuinfoNoOggetto-Informazioni sul carico del processore e sul consumo di memoria del sistema.
deviceNoOggetto-Mette a disposizione le informazioni di versione del software sul dispositivo (yocto, smartCORE, devicemanager) nonché il nome e il numero di serie del sistema.
configNoOggetto-Mette a disposizione informazioni, come ad es. la data dell'ultima modifica, sui file di configurazione.
metainfoNoOggetto-Qui è possibile inserire coppie di valori statiche ("Key-Value"), che vengono trasmesse e rilevate come segnali stringa.
networkNoOggetto-Mette a disposizione informazioni sulla rete, ad es. le velocità di trasmissione per gli upload di file Osf.

Oggetti parametro​

Gli oggetti parametro "filesystem", "modem", "hardware", "cpuinfo", "network" e "device" hanno tutti gli stessi parametri. Fa eccezione l'oggetto "device", che non possiede il parametro "onlyOnChange". L'area "network" non possiede i parametri "onlyOnChange" e "reproductionTimeout", poiché i dati vengono rilevati in base a eventi.

Nome del parametroMust-HaveTipo di datiValore di defaultDescrizione
enabledNobooltrueAttiva il modulo. Se disattivato (false), non vengono creati segnali né memorizzati dati.
nameNoString"Modulname"Nome ovvero namespace dell'area.
onChangeNobooltrueIndica se i valori devono essere memorizzati immediatamente non appena cambiano oppure no.
reproductionTimeoutNouint120Indica a quale distanza temporale minima i valori vengono memorizzati/rilevati, anche se non sono cambiati.

L'area "filesystem" ha ulteriori parametri, disponibili solo in quest'area:

Nome del parametroMust-HaveTipo di datiValore di defaultDescrizione
monitorSdeCardNobooltrueIndica che la SdCard ("/sde/") deve essere monitorata. Normalmente presente solo sui dispositivi optiMEAS. Può quindi essere anche disattivata.
partitionsNoArray-Può contenere un elenco (JSON array) di ulteriori partizioni da monitorare e rilevare sul sistema.

L'area "network" ha ulteriori parametri, disponibili solo in quest'area:

Nome del parametroMust-HaveTipo di datiValore di defaultDescrizione
uploadMinFileSizeNofloat0.5Indica la dimensione minima del file a partire dalla quale un upload di file viene considerato e rilevato. Viene indicata in kByte.

Informazioni sul modulo / scheda tecnica​

InformazioneValore
AutoreoptiMEAS GmbH
Consuma segnaliNo
Produce segnaliSì
Versione smartCORE>= 0.175

Interfacce, protocolli e librerie utilizzati​

  • DeviceManager (informazioni sul modem tramite notifica)
  • libhal

Sistemi supportati​

  • smartMini
  • smartMini-S
  • smartRAIL