Obsah

unipiid

Toto rozhraní slouží pro identifikaci zařízení. Identifikační informace jsou při volání API přímo vyčteny z HW. Pro čtení je zapotřebí mít práva root.

(!)

Poznámka:
Pokud je zapotřebí zpřístupnit tyto informace, také uživateli bez práva root, tak je daný uživatel musí vyčíst ze souborů v cestě /run/unipi-plc/unipi-id. Viz Vytvoření nebo obnovení souborů ve umístění /run/unipi-plc/unipi-id.

Nápovědu pro toto rozhraní můžete zobrazit příkazem:

unipiid

Ukázka nápovědy:

Usage:
    unipiid -d     - create and populate directory /run/unipi-plc/unipi-id
    unipiid NAME   - show value of parameter name
    unipiid mainboard_description attr [opt] - show list/value of optional parameters

Where NAME can be:
    product_description   product_model   product_model_full
    product_version       product_serial  product_code
    product_family        product_options
    platform_family       platform_id
    mainboard_description mainboard_id
    uboard_id
    api_version

(!)

Poznámka:
Toto rozhraní je možné použít pouze v systémech s Debian 13 a novějším.

Verze API

Podobně jako jiná API, unipiid se může postupem času měnit. Je výrazně doporučeno porovnávat verzi rozhraní před použitím v rámci dalších aplikací.

unipiid api_version

Příklad obsahu:

2

Popis produktu

Souhrn informací o produktu (Unipi PLC) v čitelném formátu.

unipiid product_description

Příklad obsahu:

Product model:   E413
Product version: 1.0
Product serial:  1260244349
SKU:             2025058
Options:         0x02

Platform family: Edge (6)
Platform series: 0x06
RAW platform ID: 0x0606

Pro získání jednotlivých údajů nemusíte zpracovávat celý výpis výše, lze místo toho použít samostatné soubory obsahující pouze hodnoty.

unipiid product_model
unipiid product_serial
unipiid platform_family
unipiid platform_id

Plný model produktu

Úplný model produktu, který obsahuje přesnější sestavení HW. Vysvětlení obsahu je na hlavní stránce každého produktu. Například pro Unipi Edge. Někdy může být shodný s product_model.

unipiid product_model_full

Příklad obsahu:

E4130SW43200-M1

Kód produktu

Jednoznačně identifikuje zařízení. Skládá se z #SKU;Plný model produktu_Verze produktu;Sériové číslo#. Stejný řetězec je také možné najít na výrobním štítku zařízení jako 2D kód (Data Matrix).

unipiid product_code

Příklad obsahu:

#2025058;E4130SW43200-M1_1.0;1260244349#

Hlavní deska

Hlavní deska je klíčová část každého Unipi PLC. Deska má vlastní EEPROM paměť obsahující veškeré informace o samotné desce a celém zařízení.

unipiid mainboard_description

Příklad obsahu:

Model:   Mainboard
Version: 4C
Serial:  00000548
ID:      0x00CC
Nvmem:   /sys/bus/i2c/devices/1-0057/eeprom

Pro získání typu desky nemusíte zpracovávat celý soubor, ale lze využít jednodušší zkratky obsahující pouze hodnotu:

unipiid mainboard_id

Vrchní deska

Identifikace horní desky. Vrací identifikační číslo pouze pokud je na zařízení osazena vrchní deska.

unipiid uboard_id

Příklad obsahu:

00e0

Fingerprint

Aby bylo možné spolehlivě zjistit zda se změnila konfigurace hardwaru Unipi zařízení, lze použít údaj Fingerprint (otisk prstu). Fingerprint je unikátní hash a je vypočten při každém startu.

unipiid fingerprint

Příklad obsahu:

fcc85af4c8573f82cdd9a30bb27b4536dd68c8d6

Vytvoření nebo obnovení souborů ve umístění /run/unipi-plc/unipi-id

Voláním se vytvoří nebo znovu zapíše do souborů v /run/unipi-plc/unipi-id. V tomto adresáři se vytvoří soubory obsahující přímo samotné informace. Identifikační informace jsou tímto způsobem dostupné i pro uživatele bez práva root.

unipiid -d

Soubory v /run/unipi-plc/unipi-id:

$ ls -l /run/unipi-plc/unipi-id/
total 60
-rw-r--r-- 1 root root   1 Jul 16 09:19 api_version
-rw-r--r-- 1 root root  40 Jul 16 09:19 fingerprint
-rw-r--r-- 1 root root 109 Jul 16 09:19 mainboard_description
-rw-r--r-- 1 root root   4 Jul 16 09:19 mainboard_id
-rw-r--r-- 1 root root   1 Jul 16 09:19 platform_family
-rw-r--r-- 1 root root   4 Jul 16 09:19 platform_id
-rw-r--r-- 1 root root  37 Jul 16 09:19 product_code
-rw-r--r-- 1 root root 191 Jul 16 09:19 product_description
-rw-r--r-- 1 root root   4 Jul 16 09:19 product_family
-rw-r--r-- 1 root root   5 Jul 16 09:19 product_model
-rw-r--r-- 1 root root  13 Jul 16 09:19 product_model_full
-rw-r--r-- 1 root root   2 Jul 16 09:19 product_options
-rw-r--r-- 1 root root  10 Jul 16 09:19 product_serial
-rw-r--r-- 1 root root   3 Jul 16 09:19 product_version
-rw-r--r-- 1 root root   4 Jul 16 09:19 uboard_id