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.
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
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, 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
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 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
Identifikace horní desky. Vrací identifikační číslo pouze pokud je na zařízení osazena vrchní deska.
unipiid uboard_id
Příklad obsahu:
00e0
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
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