====== 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**.
{{ :files:img_warning-line_b.png?nolink |}}
{{ :en:hw:08_safety-instructions_pseudo-ISO-7010-info.png?nolink |(!)}}
**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 [[#vytvoreni_nebo_obnoveni_souboru_ve_umisteni_run_unipi-plc_unipi-id|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
{{ :files:img_warning-line_b.png?nolink |}}
{{ :en:hw:08_safety-instructions_pseudo-ISO-7010-info.png?nolink |(!)}}
**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 [[cs:hw:004-edge#part_number_description|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