Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
cs:sw:04-unipi-firmware [2020/05/07 14:18]
avsetula
cs:sw:04-unipi-firmware [2024/04/29 07:03] (current)
kcerny [Aplikační rozhraní]
Line 1: Line 1:
 +/* FIXME -> dopnit info o tom, že je třeba sudo */
 +
 ====== Software pro produkty Unipi ====== ====== Software pro produkty Unipi ======
- +Tento článek ​obsahuje informace týkající se softwaru pro produkty Unipi (repozitáře,​ firmware apod.)
-Tato sekce obsahuje informace týkající se softwaru pro produkty Unipi (repozitáře,​ firmware apod.)+
  
 ==== APT repozitář === ==== APT repozitář ===
-Firmware pro jednotky ​Unipi, stejně jako některé aplikace vytvořené pro potřeby Unipi, je distribuován ​formou ​Debian ​repozitáře ​dostupného ​na https://​repo.unipi.technology/​debian/​+Aplikace a nástroje ​Unipi jsou distribuovány ​formou repozitáře ​Debian balíčků dostupným ​na https://​repo.unipi.technology/​debian/​
  
-<WRAP center round info 80%> +Repozitář APT je již předkonfigurován v [[files:software:os-images:00-start|oficiálních obrazech OS]].
-V současnosti jsou balíčky určené pouze pro produktové ​řady Neuron a Axon. U UniPi 1.1 a 1.1 Lite by mělo být SDK EVOK [[en:sw:02-sdks:01-evok|instalováno dle návodu]] +
-</​WRAP>​+
  
-<WRAP center round tip 80%> +<WRAP center round info 90%> 
-Oficiální SW obrazy pro jednotky Neuron a Axon jsou dodávány s již nakonfigurovaným APT. Tento návod proto využijete pouze případě, že využíváte čistý obraz Raspbian OS+V současnosti ​jsou balíčky určené pro všechny jednotky kromě Unipi 1.1 a Unipi 1.1 Lite - Evok je nutné instalovat [[en:​sw:​02-apis:​01-evok| dle oficiální dokumentace]]
 </​WRAP>​ </​WRAP>​
  
-:!: FIXME +Pro instalaci nástrojů na čistý Debian/​Rasbian postupujte podle návodu v README ​na oficiálním repozitáři ​https://​repo.unipi.technology/​debian/​README.apt
-Follow the steps in the README ​file located in the repository ​https://​repo.unipi.technology/​debian/​README.apt+
  
-<WRAP center round important 80%> +<WRAP center round info 90%> 
-Make sure to reboot the system to apply the changes! +Vývojové a testovací verze
-</​WRAP>​ +
-:!:+
  
-Do apt seznamu ​idejte následující zdroje +Naše nástroje jsou také distribuovány pro vývoj a testování. Pokud si některý testovací balík ​ejete nainstalovat,​ najděte jej na https://​repo.unipi.technology/​debian/​pool/testa uveďte při instalaci přes //apt install// celé jeho jméno (bez suffixu za podtržítkem,​ např_arm64.deb).
-<​code>​ +
-wget https://​repo.unipi.technology/​debian/​unipi.list -O /etc/apt/sources.list.d/unipi.list +
-wget https://repo.unipi.technology/​debian/​unipi_pub.gpg -O - | apt-key add - +
-</​code>​+
  
-Následně zdroje aktualizujte +Mějte na pamětiže testovací balíky nemusí být 1005 funkční.
-<​code>​ +
-apt-get update +
-</​code>​ +
- +
-Dalším krokem je instalace kernelu a balíčků unipi-firmware. Společně s tím se automaticky nainstalují i rozhraní SysFSrozhraní Modbus TCP a podpora pro RTC a sériové linky +
- +
-Pro jednotky Unipi Neuron:  +
-<​code>​ +
-apt-get install neuron-kernel unipi-firmware unipi-modbus-tools +
-</​code>​ +
- +
-Pro jednotky Unipi Axon:  +
-<​code>​ +
-apt-get install axon-kernel unipi-firmware unipi-modbus-tools +
-</​code>​ +
- +
-<WRAP center round important 60%> +
-Pro uložení změn je nutné jednotku restartovat! ​+
 </​WRAP>​ </​WRAP>​
  
-Po restartu můžete stav služby zkontrolovat příkazem +===== Aplikační rozhraní ===== 
-<​code>​systemctl status unipitcp</​code>​+Dostupná API jsou popsána v [[cs:​sw:​02-apis:​01-evok|SDK section]].
  
-Interní firmware bude automaticky aktualizován na nejnovější verzi. Verzi firmwaru můžete zobrazit příkazem +===== Firmware ​===== 
-<​code>/​opt/​unipi-bin/​fwspi -i 0</​code>​ +Firmware (tj. software fungující uvnitř hardwaru) je významnou součástí našich produktů (s výjimkou ​Unipi 1.1). Neustále jsou do něj přidávány nové funkce či opravovány chyby, firmware se proto průběžně aktualizuje. ​
- +
-==== Firmware ==== +
-Firmware (tj. software fungující uvnitř hardwaru) je významnou součástí našich produktů (s výjimkou ​UniPi 1.1). Neustále jsou do něj přidávány nové funkce či opravovány chyby, firmware se proto průběžně aktualizuje. ​+
  
 Firmware pro produkty Unipi je součástí všech našich OS obrazů a rovněž je distribuován skrze náš repozitář coby součást balíčku unipi-firmware. Firmware pro produkty Unipi je součástí všech našich OS obrazů a rovněž je distribuován skrze náš repozitář coby součást balíčku unipi-firmware.
  
-=== Aktualizace firmwaru ===+Interní firmware jednotek je obsažen v balíku unipi-firmware. Jeho instalací / aktualizací se neprovede jeho nahrání do HW. Nahrání je potřeba provést manuálně. 
 + 
 +==== Aktualizace firmwaru ​====
 Aktualizaci firmwaru či kontrolu jeho verze lze provést pomocí nástroje fwspi, který je k nalezení ve složce /​opt/​unipi-bin/​ (nově ve složce /​opt/​unipi/​tools/​). Aktualizaci firmwaru či kontrolu jeho verze lze provést pomocí nástroje fwspi, který je k nalezení ve složce /​opt/​unipi-bin/​ (nově ve složce /​opt/​unipi/​tools/​).
  
-Verzi firmwaru pro první ​skupinu ​I/O zobrazíte tímto příkazem: ​+Verzi firmwaru pro první ​sekci I/O zobrazíte tímto příkazem: ​
 <​code>​ <​code>​
-./fwspi -i 0+/​opt/​unipi/​tools/fwspi -i 0
 </​code>​ </​code>​
  
 <WRAP center round info 60%> <WRAP center round info 60%>
-Pro kontrolu firmwaru ostatních I/O skupin ​zadejte příkaz <​code>​./fwspi -i 2</​code>​ případně <​code>​./fwspi -i 2</​code>​+Pro kontrolu firmwaru ostatních I/O sekcí ​zadejte příkaz <​code>​/​opt/​unipi/​tools/fwspi -i 1</​code>​ případně <​code>​/​opt/​unipi/​tools/fwspi -i 2</​code>​
 </​WRAP>​ </​WRAP>​
- 
-Aktualizace na poslední verzi firmwaru by měla proběhnout po připojení jednotky k internetu. ​ 
  
 <WRAP center round info 60%> <WRAP center round info 60%>
-Kroky uvedené níže popisují aktualizaci firmwaru pouze pro skupinu ​1 (číslo 0 pro parametr -i). Firmware na všech ​skupinách ​lze aktualizovat automaticky příkazem <​code>​./fwspi --auto</​code>​+Kroky uvedené níže popisují aktualizaci firmwaru pouze pro sekci 1 (číslo 0 pro parametr -i). Firmware na všech ​sekcích ​lze aktualizovat automaticky příkazem <​code>​/​opt/​unipi/​tools/​fwspi ​-v --auto</​code>​
 </​WRAP>​ </​WRAP>​
  
Line 83: Line 54:
 apt install unipi-firmware apt install unipi-firmware
 </​code>​ </​code>​
-  * 2. Zkontrolujte současnou verzi nainstalovaného firmwaru <​code>/​opt/​unipi-bin/fwspi -i 0</​code>​ +  * 2. Zkontrolujte současnou verzi nainstalovaného firmwaru <​code>/​opt/​unipi/tools/fwspi -i 0</​code>​ 
-  * 3. Aktualizujte firmware na jeho poslední staženou verzi <​code>/​opt/​unipi-bin/fwspi -i 0 -P</​code>​+  * 3. Aktualizujte firmware na jeho poslední staženou verzi <​code>/​opt/​unipi/tools/fwspi -i 0 -P</​code>​
   * 4. Opět zkontrolujte verzi firmwaru <​code>/​opt/​unipi-bin/​fwspi -i 0</​code>​   * 4. Opět zkontrolujte verzi firmwaru <​code>/​opt/​unipi-bin/​fwspi -i 0</​code>​
  
 == Offline instalace firmware == == Offline instalace firmware ==
 <WRAP center round important 60%> <WRAP center round important 60%>
-Online instalace je vždy preferována,​ neboť firmware balíčky mohou vyžadovat jiné balíčky (např. firmware-tools). Online instalaci proto využívejte kdykoliv, kdy je to možné. ​+Online instalace je vždy preferována,​ neboť firmware balíčky mohou vyžadovat jiné balíčky (např. firmware-tools, kernel driver,...). Online instalaci proto využívejte kdykoliv, kdy je to možné. ​
 </​WRAP>​. ​ </​WRAP>​. ​
-  * 1. Stáhněte poslední verzi balíčku **unipi-firmware** dostupného na https://​repo.unipi.technology/​debian/​pool/​ Tento balíček je pak nutné nahrát do kontroléru ​- to lze provést dvěma způsoby: ​+  * 1. Stáhněte poslední verzi balíčku **unipi-firmware** dostupného na https://​repo.unipi.technology/​debian/​pool/​ Tento balíček je pak nutné nahrát do jednotky ​- to lze provést dvěma způsoby: ​
   * 2.a - Přes SCP   * 2.a - Přes SCP
-      * Zkopírujte balíček z Vašeho PC do kontroléru ​pomocí SCP (WinSCP, Filezilla či jiný podobný software). Balíček ​umistěte do složky /tmp/ +      * Zkopírujte balíček z Vašeho PC do jednotky ​pomocí SCP (WinSCP, Filezilla či jiný podobný software). Balíček ​umístěte do složky /tmp/ 
-      * Nainstalujte balíček pomocí dpkg, například tímto příkazem: <​code>​dpkg -i /​tmp/​unipi-firmware_5.32_all.deb</​code>​+      * Nainstalujte balíček pomocí dpkg, například tímto příkazem: <​code>​dpkg -i /​tmp/​unipi-firmware_5.50_all.deb</​code>​
   * 2.b - Pomocí USB flash disku   * 2.b - Pomocí USB flash disku
-      * Zkopírujte balíček z Vašeho PC na USB flashdisk ve formátu FAT32 a vložte jej do jakéhokoliv USB portu na kontoléru+      * Zkopírujte balíček z Vašeho PC na USB flashdisk ve formátu FAT32 a vložte jej do jakéhokoliv USB portu na kontroléru
       * Přepněte se do root uživatelského účtu <​code>​sudo su</​code>​       * Přepněte se do root uživatelského účtu <​code>​sudo su</​code>​
       * Zjistěte jméno vloženého USB disku (obvyklé je //sda1//) <​code>​fdisk -l</​code>​       * Zjistěte jméno vloženého USB disku (obvyklé je //sda1//) <​code>​fdisk -l</​code>​
       * Vytvořte složku pro připojení disku <​code>​mkdir /​media/​usbflash</​code>​       * Vytvořte složku pro připojení disku <​code>​mkdir /​media/​usbflash</​code>​
       * Připojte disk do nově vytvořené složky <​code>​mount /dev/sda /​media/​usbflash</​code>​       * Připojte disk do nově vytvořené složky <​code>​mount /dev/sda /​media/​usbflash</​code>​
-      * Nainstalujte balíček pomocí dpkg, například takto <​code>​dpkg -i /​media/​usbflash/​unipi-firmware_5.32_all.deb</​code>​  +      * Nainstalujte balíček pomocí dpkg, například takto <​code>​dpkg -i /​media/​usbflash/​unipi-firmware_5.50_all.deb</​code>​  
-  * 3. Zkontrolujte nainstalovanou verzi firmwaru +  * 3. Zkontrolujte nainstalovanou verzi firmwaru ​<​code>/​opt/​unipi/​tools/​fwspi -i 0</​code>​ 
-  * 4. Aktualizujte firmware na poslední verzi <​code>/​opt/​unipi-bin/fwspi -i 0</​code>​ +  * 4. Aktualizujte firmware na poslední verzi <​code>/​opt/​unipi/tools/fwspi -i 0 -P</​code>​ 
-  * 5. Opět zkontrolujte verzi firmwaru <​code>/​opt/​unipi-bin/fwspi -i 0</​code>​+  * 5. Opět zkontrolujte verzi firmwaru <​code>/​opt/​unipi/tools/fwspi -i 0</​code>​
  
-<WRAP center round info 60%> +<WRAP center round info 80%> 
-Konfiguraci I/O skupiny ​lze obnovit zpět do výchozího nastavení. Lze tak učinit během aktualizace firmwaru zavoláním na nástroj ​fwpsi s parametrem -R, tj. např. ./fwspi -i 0 -PR+Konfiguraci I/O sekce lze obnovit zpět do výchozího nastavení. Lze tak učinit během aktualizace firmwaru zavoláním na nástroj ​fwspi s parametrem -R, tj. např. ./fwspi -i 0 -PR 
 +</​WRAP>​ 
 +=== Aktualizace firmware v rozšiřujících jednotkách Unipi === 
 +Firmware v rozšiřujících jednotkách řady xS/xG lze aktualizovat podobným způsobem. Místo nástroje **fwspi** je třeba použít **fwserial**,​ který je taktéž součástí balíku //​unipi-firmware-tools//​ (instalovaného automaticky s balíkem //​unipi-firmware//​). Stejně tak parametry příkazové řádky jsou podobné. 
 + 
 +<WRAP center round alert 80%> 
 +Před přehrátím Firmware se ujistěte, že daný port nepoužívá žádná jiná služba a po zahájení neodpojujte z napájení jednotku, ani Extension. Dojde k nenávratnému poškození Firmware. 
 +</​WRAP>​ 
 + 
 +<WRAP center round info 80%> 
 +Nutností je specifikovat parametr -p (path), který určuje, který port má nástroj použít pro komunikaci s Extension. Přehled mapování fyzických sériových portů na porty systému Linux je k dispozici na [[cs:​hw:​007-patron:​portmap|]],​ [[cs:​hw:​02-neuron:​portmap|]] a [[cs:​hw:​01-axon:​portmap|]] 
 + 
 +Příklad použití, kdy je Extension připojen do portu RS485-1.1:​ 
 +<​code>/​opt/​unipi/​tools/​fwserial -p /dev/ttyNS0 -P </​code>​ 
 + 
 +Dále je třeba určit rychlost, paritu a modbusovou adresu zařízení. Ve výchozím stavu se počítá s **rychlostí 19200, žádnou paritou a adresou 15**.
 </​WRAP>​ </​WRAP>​