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
| Segnale | Tipo di dati | Unità | Descrizione |
|---|---|---|---|
| BoardMajorVersion | int8 | Numero di versione principale della scheda del dispositivo | |
| BoardMinorVersion | int8 | Numero di versione minor della scheda del dispositivo | |
| BoardVariantInfo | String | Stringa con informazioni sulla variante della scheda. Per smartMini ad es. "smartMINI V2.3" | |
| SocVariantInfo | String | Stringa con informazioni sulla variante del SoC. Per smartMini ad es. "TX6S-8035" | |
| "CanBusName"FramesAvailable | bool | Indica se tramite questa interfaccia socketcan vengono ricevuti dati del bus CAN. | |
| ActiveCanInterfaces | uint16 | Numero 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.
| Segnale | Tipo di dati | Unità | Descrizione |
|---|---|---|---|
| SDCard.Status | bool | Scheda SD ("/sde/") disponibile e montata oppure no. | |
| SDCard.Free | float | GB | Memoria libera disponibile sulla scheda SD |
| SDCard.Used | float | GB | Memoria utilizzata sulla scheda SD |
| SDCard.Size | float | GB | Dimensione 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.
| Segnale | Tipo di dati | Unità | Descrizione |
|---|---|---|---|
| ICCID | String | L'ICCID della SIM card. | |
| RSSI | int32 | dBm | Il Received Signal Strength Indicator (RSSI) è un indicatore dell'intensità del segnale ricevuto. |
| Connected | bool | Indica se al momento è presente una connessione mobile. | |
| CellId | int32 | Identificazione della cella di telefonia mobile | |
| LAC | int32 | La "Location Area" indica, nella telefonia mobile (GSM e UMTS), l'area di permanenza attuale di un telefono cellulare all'interno di una rete mobile. | |
| MNC | int32 | Il "Mobile Network Code" viene utilizzato per identificare un operatore di rete radiomobile GSM, UMTS o TETRA. | |
| MCC | int32 | Il "Mobile Country Code" è un codice paese definito che, insieme al Mobile Network Code (MNC), viene utilizzato per identificare una rete mobile. | |
| Level | String | Indica com'è l'intensità di ricezione nella rete corrente. I valori possibili sono: "excellent", "good", "fair", "poor" e "no signal" | |
| Network | String | Indica quale rete mobile è attualmente in uso. I valori possibili sono: "lte", "gsm", "3g" | |
| LevelId | int8 | Indica 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" | |
| NetworkId | int8 | Indica 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
| Segnale | Tipo di dati | Unità | Descrizione |
|---|---|---|---|
| Uptime | double | h | Uptime complessivo del sistema |
| Load | float | % | Utilizzo della CPU del sistema |
| AppRamUsage | float | % | Consumo di memoria di smartCORE |
| TotalRamUsage | float | % | Consumo complessivo di memoria di lavoro del sistema. |
| TotalRam | float | MB | Dimensione della memoria di lavoro disponibile del dispositivo. |
| Temperatur | float | °C | Temperatura attuale della CPU. Viene ricavata da "/sys/class/thermal/thermal_zone0/temp". |
device
| Segnale | Tipo di dati | Unità | Descrizione |
|---|---|---|---|
| Name | string | Nome del dispositivo | |
| App | string | Nome dell'app attiva (di norma sempre smartCORE) | |
| App_version | string | Numero di versione software dell'app | |
| Devicemanager | string | Numero di versione del DeviceManager. | |
| Bsp | string | Stringa di informazioni sul bsp (BoardSupportPackage) del sistema. | |
| Serial | string | Numero di serie del dispositivo. | |
| AppStarted | int64_t | s | Ultimo istante di avvio (UTC) dell'app smartCORE in secondi dal 1970. |
| AppRuntime | uint64_t | min | Tempo di esecuzione dell'app in minuti. |
| Version | string | Versione del kernel e del compilatore da /proc/version. | |
| ModemEnabled | bool | Indica se il modem è acceso o disattivato. | |
| clock_synchronised | bool | Indica se l'orologio di sistema è sincronizzato. | |
| PowerSupplyVoltage | float | V | Tensione di alimentazione del sistema. Disponibile solo su sistemi smartRAIL. |
| BoardTemperature | float | °C | Temperatura della scheda del dispositivo. Disponibile solo su sistemi smartRAIL e smartMini. |
config
| Segnale | Tipo di dati | Unità | Descrizione |
|---|---|---|---|
| StaticModified | int64_t | ms | Data dell'ultima modifica (UTC) del file di configurazione statica (smartcore.json) in millisecondi dal 1970. |
| DynamicModified | int64_t | ms | Data dell'ultima modifica (UTC) del file di configurazione dinamica (smartcore_dynamic.json) in millisecondi dal 1970. |
| Version | string | Campo 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.
| Segnale | Tipo di dati | Unità | 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.
| Segnale | Tipo di dati | Unità | Descrizione |
|---|---|---|---|
| Upload.Speed | float | kBit/s | Velocità di upload di un file inviato a un'istanza cloud. |
| Upload.Filesize | float | kByte | Dimensione del file inviato a un'istanza cloud. |
| Upload.CloudIndex | int8 | Indice dell'istanza cloud a cui è stato inviato un file. Quale cloud abbia quale indice può essere verificato nella configurazione del cloud. | |
| Upload.ErrorCode | int16 | ErrorCode restituito in caso di upload errato. Elenco dei codici: https://doc.qt.io/qt-5/qnetworkreply.html#NetworkError-enum | |
| WWAN.MonthlyTraffic | float | MByte | Volume 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.TotalMonthlyTraffic | float | MByte | Volume di dati trasmesso in entrambe le direzioni nei mesi (di fatturazione) conclusi, aggiornato all'inizio del giorno di azzeramento "resetDayOfMonth" |
| WWAN.EstimatedDownloadTraffic | int64 | MByte/h | Stima del volume di dati in download, aggiornata in tempo reale, rispetto a un istante di inizio definito su base oraria |
| WWAN.EstimatedUploadTraffic | int64 | MByte/h | Stima 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 parametro | Must-Have | Tipo di dati | Valore di default | Descrizione |
|---|---|---|---|---|
| timeoutMs | No | int | 5000 | Intervallo di esecuzione del modulo in ms |
| baseModuleNamespace | No | String | "System" | Il namespace di base. Con questa stringa inizia ogni nome di canale del modulo in smartCORE. |
| hardware | No | Oggetto | - | Fornisce informazioni sull'hardware del dispositivo |
| filesystem | No | Oggetto | - | 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. |
| modem | No | Oggetto | - | Tutte le informazioni sulla connessione mobile nonché il numero ICCID della SIM card inserita. |
| cpuinfo | No | Oggetto | - | Informazioni sul carico del processore e sul consumo di memoria del sistema. |
| device | No | Oggetto | - | Mette a disposizione le informazioni di versione del software sul dispositivo (yocto, smartCORE, devicemanager) nonché il nome e il numero di serie del sistema. |
| config | No | Oggetto | - | Mette a disposizione informazioni, come ad es. la data dell'ultima modifica, sui file di configurazione. |
| metainfo | No | Oggetto | - | Qui è possibile inserire coppie di valori statiche ("Key-Value"), che vengono trasmesse e rilevate come segnali stringa. |
| network | No | Oggetto | - | 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 parametro | Must-Have | Tipo di dati | Valore di default | Descrizione |
|---|---|---|---|---|
| enabled | No | bool | true | Attiva il modulo. Se disattivato (false), non vengono creati segnali né memorizzati dati. |
| name | No | String | "Modulname" | Nome ovvero namespace dell'area. |
| onChange | No | bool | true | Indica se i valori devono essere memorizzati immediatamente non appena cambiano oppure no. |
| reproductionTimeout | No | uint | 120 | Indica 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 parametro | Must-Have | Tipo di dati | Valore di default | Descrizione |
|---|---|---|---|---|
| monitorSdeCard | No | bool | true | Indica che la SdCard ("/sde/") deve essere monitorata. Normalmente presente solo sui dispositivi optiMEAS. Può quindi essere anche disattivata. |
| partitions | No | Array | - | 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 parametro | Must-Have | Tipo di dati | Valore di default | Descrizione |
|---|---|---|---|---|
| uploadMinFileSize | No | float | 0.5 | Indica 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
| Informazione | Valore |
|---|---|
| Autore | optiMEAS GmbH |
| Consuma segnali | No |
| Produce segnali | Sì |
| Versione smartCORE | >= 0.175 |
Interfacce, protocolli e librerie utilizzati
- DeviceManager (informazioni sul modem tramite notifica)
- libhal
Sistemi supportati
- smartMini
- smartMini-S
- smartRAIL