Telepítés és használat

KOFA Lite: gráf exportálása önálló programként

A KOFA Lite egy kész gráfból készült, önálló, offline is futó program. Egy kisebb, kevesebbet tudó KOFA: a gráf rögzített, a program csak futtatja, és a profil dashboardját mutatja. Nincs benne gráf szerkesztő, Komod lista, Komod tár, MCP, felhasználókezelés és adatbázis; csak a gráfban használt Komod csomagok és a példányok fájljai (pl. ONNX modellek) kerülnek bele.

Tipikus példa: egy vitorlás „tanácsadó” (GPS + szél → útvonalkövetés → kormány- és vitorlautasítások) a hajón lévő Raspberry Pi-n, saját kijelzővel kiosk módban, a telefon a gép saját Wi-Fi hotspotjára csatlakozik, internet nincs.

Megjegyzés

A Lite exportálását a teljes KOFA-ban végzed el, ezért előbb telepítsd és állítsd be a KOFA-t, és építsd meg a gráfot. A Lite célgépe Linux (Ubuntu Server arm64) Raspberry Pi 4-en; a linux-x64 változat csak fejlesztői tesztre való.

Mit kapsz, és mit nem

Van Nincs
A gráf futtatása (Komodok, kötések, hardver) Gráf szerkesztő
Dashboard és Komod nézetek (widget, teljes nézet), Állapot oldal Komod lista, Komod tár, frissítő
Választható bejelentkezés (kezelői, néző, admin jelszó) Több felhasználó, e-mail fiók, 2FA
Vészleállító (STOP) a fejlécben Adatbázis
Wi-Fi, saját hotspot, Bluetooth kezelés a felületről MCP / AI asszisztens
Kiosk mód a gép saját kijelzőjén Offline térkép csempék
Frissítés új exporttal a felületről
Távoli elérés relay-en át (opcionális)

1. Az export előkészítése

Az export a gráf mentett állapotát használja, ezért:

  1. A teljes KOFA Gráf oldalán nyisd meg a profilt, amit exportálni szeretnél.
  2. Ellenőrizd, hogy minden használt Komod telepítve és engedélyezve van (Komodok).
  3. Ellenőrizd, hogy a dashboardon minden Komodnak, amit a programban kezelni akarsz, van widgetje: a Lite-ban nem lehet a gráfot átírni, csak a dashboardról kezelni.

Tipp

Az export előnézete (lent) hibaként és figyelmeztetésként kiírja, ha valami nem megy, pl. hiányzik egy csomag, vagy kör van a gráfban. Hibával nem exportál, a figyelmeztetésekkel igen.

2. Exportálás a felületről

A Gráf oldal felső sorában kattints az Exportálás programként (KOFA Lite) ikonra (az Exportálás fájlba mellett). Csak Admin teheti meg, mert az export csomagokat, modelleket és Wi-Fi jelszavakat visz ki a gépről.

A dialógus egy oldalon mutat mindent; az alábbiakban szakaszonként.

Program, elérhetőség, bejelentkezés

Az export dialógus eleje: név, célplatform, elérhetőség, port és a bejelentkezés beállításai.

Beállítás Jelentés
Név A program neve; a fájlnévben és a Lite fejlécében jelenik meg. Alapból a profil neve.
Célplatform linux-arm64 (Raspberry Pi 4, Ubuntu Server). Fejlesztői módban linux-x64 is.
Honnan érhető el Csak a gépen (local): a kiosk böngésző és a Bluetooth alagút éri el. Helyi hálózat és hotspot (lan): a hálózatról is. Relay (relay): kifelé kapcsolódik egy KOFA relay-hez, és a központi fiókokkal érhető el; jelszavas bejelentkezés kötelező.
Port Alapból 5090.
Bejelentkezés Nincs: mindenki kezelő. Jelszóval: kezelői jelszó (kötelező), néző jelszó (opcionális: csak nézhet), admin jelszó.

A szerepek:

Szerep Mit tehet
Néző (Viewer) a dashboard nézése
Kezelő (Operator) vezérlés, widget beállítások (ha az export engedi)
Admin hálózat, Bluetooth, kiosk kikapcsolása, jelszavak cseréje, frissítés, a gép kikapcsolása

Fontos

A jelszavakat a szerver hasheli, a csomagba csak a hash kerül. A gépen később is cserélhetők: sudo kofa-app set-password operator|viewer|admin, vagy a felületen adminként. Ha nincs admin jelszó, a kiosk képernyő a gép előtt álló embernek adminjogot ad.

Figyelem

Bejelentkezés nélküli hálózati (lan) elérés vagy jelszó nélküli hotspot csak kifejezett megerősítéssel exportálható (Értem a kockázatot… jelölőnégyzet). A lan módban a HTTP-n nyitott oldalt a távoli böngésző nem tekinti biztonságos környezetnek, ezért ott a böngészős Bluetooth és a helymeghatározás nem működik; a kiosk böngésző a localhost-ot használja, ott minden megy.

Kiosk mód, hálózat és Bluetooth

Az export dialógus közepe: kiosk mód és a hálózat / Bluetooth beállításai.

Kiosk mód: bekapcsolva a gép saját kijelzőjén (HDMI vagy érintőkijelző) induláskor egy teljes képernyős böngésző nyílik a Lite felülettel, amiből nem lehet kilépni (nincs címsor, nincs fejlesztői eszköz, nincs konzolváltás). Állítható: böngésző (Chromium vagy a könnyebb cog), képernyő forgatás (0/90/180/270°), képernyő elsötétítés (perc, 0 = soha), kurzor elrejtése érintőkijelzőhöz. Kilépni adminként lehet: a felületről (Kiosk kikapcsolása) vagy SSH-n (sudo kofa-app kiosk off).

Hálózat és Bluetooth:

Beállítás Jelentés
A program kezelje a Wi-Fi-t Ha ki van kapcsolva, a telepítő nem nyúl a hálózathoz, és a Hálózat oldal csak olvasható.
Kezdő Wi-Fi mód Saját hotspot (a gép osztja a Wi-Fi-t), Csatlakozás más hálózatra (kliens), vagy Nem változtat.
Gépnév A felület a http://<gépnév>.local:<port> címen is elérhető (mDNS).
Ország Wi-Fi szabályozási tartomány (alapból HU; az 5 GHz-es hotspothoz kötelező).
Hotspot Hálózat neve (SSID), jelszó (WPA2, legalább 8 karakter), sáv (2,4 GHz: nagyobb hatótáv; 5 GHz).
Előre megadott Wi-Fi hálózatok Pl. a kikötő vagy a műhely Wi-Fi-je (SSID, jelszó, prioritás).
Tartalék hotspot Ha kliens módban a gép megadott idő alatt nem csatlakozik ismert hálózatra, magától hotspotot indít, hogy mindig elérhető maradjon.
Bluetooth adapter bekapcsolva A Bluetooth adapter alapállapota.
Bluetooth kapcsolat a KOFA apphoz A Bluetooth kapcsolat bővítmény a csomagba kerül, így a natív app Wi-Fi nélkül is csatlakozhat.

Megjegyzés

A hotspot csak lan módban értelmes (különben a rácsatlakozó eszközök nem érnék el a felületet): az exportáló ezt hibaként jelzi.

Egyéb beállítások és előnézet

Az export dialógus alja: egyéb kapcsolók, a csomag előnézete, a figyelmeztetések és az Exportálás gomb.

Beállítás Jelentés
A widgetek beállításai menthetők Ha ki van kapcsolva, a program csak olvasható: a widget beállítások nem menthetők.
Példány indítás / leállítás a felületen Látszik-e a példányok indítás / leállítás / újraindítás vezérlése.
Frissítés új exporttal az admin felületről Az Adminisztráció oldalon feltölthető egy újabb export, és a gép maga telepíti (hibánál visszaáll az előző). Kikapcsolva csak SSH-n frissíthető.
Hardver Automatikus (alapértelmezett), Linux (valódi), Szimulált (bemutatóhoz).

Az Előnézet a letöltés előtt megmutatja, mi kerül a csomagba:

  • a fájlnevet és a becsült méretet (tömörítés előtt),
  • a csomagok listáját verzióval, a bennük lévő Komodokkal és mérettel,
  • a példány fájlokat (modellek, útvonalak): mappánként kizárhatók, pl. egy adatgyűjtő gigabájtos felvételei,
  • a hibákat (ezek tiltják az exportot) és figyelmeztetéseket.

A Komod beállítások fül (csak ha van ilyen a csomagban) a Komodok telepítési beállításait mutatja, pl. a Bluetooth nevet vagy a szimulátor-connector címeit; ezek a példányok saját beállítása fölé íródnak.

Az Exportálás gomb egy kofa-app-<név>-linux-arm64.tar.gz fájlt tölt le.

Gyakori hibák az exportnál

Üzenet Teendő
Jelszavas módban a kezelői jelszó kötelező. Add meg a kezelői jelszót, vagy válaszd a Nincs módot.
A futtató sablon … régebbi KOFA-ból készült, mint a(z) … csomag Készítsd újra a sablont: tools/build-lite.sh linux-arm64.
Nincs linux-arm64 futtató sablon A szerver a sablont a Kofa:Export:TemplateDirectories mappákban keresi, ennek híján letölti a saját verziójához tartozót internetről. Offline szerveren a kofa-lite-<verzió>-linux-arm64.tar.gz kiadási fájlt kell kicsomagolni a mappába.
Bejelentkezés nélküli hálózati elérés … csak megerősítéssel Állíts be jelszót, vagy jelöld be a kockázat elfogadását.
A gráf kört tartalmaz (visszacsatolás) Figyelmeztetés: szándékos visszacsatolásnál nincs teendő.
A csomag Wi-Fi jelszót tartalmaz Figyelmeztetés: az app/secrets.json jelszavakat tartalmaz, csak megbízható helyre másold; a telepítő a gépen törli.

3. Exportálás parancssorból

Ugyanezt a szolgáltatást a szerver nélkül is használhatod (CI-ban, szkriptben):

dotnet run --project tools/Kofa.Export -- \
  --graph examples/graphs/vitorlas-tanacsado-szimulator.kofa-graph.json \
  --packages artifacts/komods \
  --template artifacts/lite \
  --options opciok.json \
  -o ./ki

Az --options fájl a dialógus beállításait tartalmazza JSON-ban, pl.:

{
  "name": "Vitorlas tanacsado",
  "rid": "linux-arm64",
  "access": { "mode": "lan", "port": 5090 },
  "auth": { "mode": "password", "operatorPassword": "…", "adminPassword": "…" },
  "hardwareBackend": "auto",
  "instanceControl": true
}

A --preview kapcsoló csak az előnézetet írja ki, fájl nélkül. A futtató sablont a tools/build-lite.sh készíti (artifacts/lite/<rid>/); kiadásban a kofa-lite-<verzió>-<rid>.tar.gz fájl.

4. Mi van az exportált csomagban

kofa-app-<név>/
  install.sh, uninstall.sh   telepítő és eltávolító
  bin/                       a Kofa.Lite program és a kliens, a kofa-app segédparancs
  app/                       app.json, graph.json, dashboard.json, komods/, instances/
  system/                    systemd unitok, polkit szabályok, böngésző policy
  OLVASS-EL.txt              rövid útmutató az adott exporthoz

5. Telepítés a célgépre

A célgép egy friss Ubuntu Server 24.04 arm64 Raspberry Pi 4-en (SSH-val). A program önálló, a gépre nem kell .NET.

scp kofa-app-vitorlas-linux-arm64.tar.gz ubuntu@<gép>.local:/tmp/
ssh ubuntu@<gép>.local
cd /tmp && tar xzf kofa-app-vitorlas-linux-arm64.tar.gz
cd kofa-app-vitorlas
sudo ./install.sh

A telepítő sorban:

  1. ellenőrzi a gépet (root, aarch64, systemd, Ubuntu, szabad hely) és a csomagot (formátum, platform, SHA-256);
  2. leállítja és letiltja a teljes KOFA-t, ha ugyanazon a gépen fut (ugyanazt a hardvert foglalnák); másik program cseréjekor rákérdez, és a régi adatokat backup-<dátum> alá menti;
  3. felteszi a hiányzó rendszercsomagokat, csak ami a beállításokhoz kell: BlueZ (Bluetooth), NetworkManager + dnsmasq-base + avahi-daemon + iw (hálózat), cage + böngésző (kiosk), libusb USB-s Komodnál; bekapcsolja az I2C-t, ha hardver Komod van a gráfban;
  4. létrehozza a kofa-app (és kiosk esetén a kofa-kiosk) rendszerfelhasználót;
  5. a programot az /opt/kofa-app mappába másolja, a titkokat (Wi-Fi jelszavak) feldolgozza, és létrehozza az /etc/kofa-app/local.json gépi beállításfájlt;
  6. beállítja a hálózatot (hotspot / kliens), telepíti a kofa-app.service és kiosk esetén a kofa-kiosk.service unitot;
  7. elindítja a programot, megvárja, hogy válaszoljon, és összefoglalót ír: a felület címei (IP, <gépnév>.local, hotspot esetén az SSID és a 10.42.0.1), a kiosk állapota és a jelszócsere helye.

Megjegyzés

A rendszercsomagokhoz a telepítéskor egyszer internet kell, ha még nincsenek fent. Internet nélkül a telepítő kilistázza a hiányzókat, és a nélkülük is működő részt telepíti (kiosk és hálózatkezelés nélkül). Teljesen offline telepítés: egy internetes Ubuntu gépen (ugyanaz az architektúra) sudo ./install.sh --fetch-packages letölti a kellő csomagokat a packages/ mappába; a mappát a célgépre másolva a sudo ./install.sh internet nélkül települ.

A telepítő kapcsolói

Felülírják az exportkor választottat:

Kapcsoló Jelentés
--kiosk / --no-kiosk a kiosk be- vagy kikapcsolása
--no-network nem nyúl a hálózathoz
--no-bluetooth kihagyja a Bluetooth lépést
--port <n> a port
--hostname <név> a gép neve
--wifi-interface <if> másik Wi-Fi eszköz (alap: wlan0)
--yes nem kérdez
--offline nem próbál csomagot telepíteni, csak ellenőriz
--fetch-packages csak letölti az offline telepítéshez szükséges csomagokat

Az újrafuttatás frissítés: a program cserélődik, a /var/lib/kofa-app (adatok) és az /etc/kofa-app (gépi beállítások) megmarad.

Egy paranccsal a fejlesztői gépről

tools/deploy-lite.sh --host 192.168.2.224 --user kofa-hw1 --key ~/.ssh/KOFA-HW1 \
    --app ~/Downloads/kofa-app-vitorlas-linux-arm64.tar.gz [--remove-full] [-- --no-kiosk --port 5090]

A szkript kicsomagolja az exportot, kiegészíti a futtató sablonnal, feltölti, és a célgépen sudo ./install.sh --yes fut (a sudo jelszót a terminálban kéri). A --remove-full a sikeres telepítés után törli a gépről a teljes KOFA-t. A -- utáni kapcsolók az install.sh-nak mennek. Több gépre ugyanazzal a csomaggal, más --host-tal.

Hol van minden telepítés után

Hely Tartalom
/opt/kofa-app/ bin/, app/, system/ (újratelepítéskor cserélődik)
/var/lib/kofa-app/ írható adatok: példány fájlok, beállítások, network.json, kulcsok, update/
/etc/kofa-app/local.json gépenkénti felülírások (port, elérés, jelszó hash-ek, kiosk be/ki)
journalctl -u kofa-app naplók

6. A Lite felülete

Megnyitás: http://<gép>:5090 (vagy http://<gépnév>.local:5090, hotspoton http://10.42.0.1:5090); kiosk módban a gép kijelzőjén magától.

Bejelentkezés

Jelszavas módban az oldalak a kezelői jelszót kérik. Admin funkciókhoz a menüben a Belépés adminként pont visz az admin jelszó oldalára.

A Lite bejelentkezési oldala: a kezelői jelszó.

Dashboard

A rögzített dashboard a gráf Komod nézeteivel. A fejlécben mindig ott a piros STOP (vészleállító), a figyelmeztető jelvény (az Állapot oldalra visz) és a menü.

A Lite dashboardja egy futó vitorlás tanácsadó programmal: fejléc STOP gombbal, 3D nézet és vezérlők.

Állapot

Az Állapot oldal a program nevét és revízióját, a gráf állapotát, a hardver backendet, az indulás idejét, a vészleállítók számát, a kapcsolatot és a gráf problémáit mutatja.

A Lite Állapot oldala.

Hálózat

A Hálózat oldal (Admin) ugyanaz, mint a teljes KOFA-ban: Wi-Fi állapot, csatlakozás, saját hotspot, tartalék hotspot, Bluetooth és a csatlakozási QR kód a KOFA apphoz. Ami a kapcsolatot megszakíthatja, próba módban indul: ha 2 percen belül nem erősíted meg, az előző beállítás visszaáll.

A Lite Hálózat oldala.

Adminisztráció

Az Adminisztráció oldalon (Admin) cserélheted a jelszavakat, feltölthetsz egy újabb exportot (Frissítés új exporttal), újraindíthatod a programot és kikapcsolhatod a gépet (a hajón így vehető el biztonságosan az áram). Relay módban itt látszik a párosító kód is.

A Lite Adminisztráció oldala: jelszavak, frissítés új exporttal, program újraindítása, gép kikapcsolása.

7. A gép kezelése SSH-n: kofa-app

Telepítés után a kofa-app parancs a gépen mindig kezelhetővé teszi a programot, akkor is, ha a felület nem érhető el.

Parancs Mit csinál
kofa-app status / logs / restart állapot, napló, újraindítás
sudo kofa-app set-password operator\|viewer\|admin jelszócsere (--clear: törlés)
sudo kofa-app port <n>\|default a port módosítása
sudo kofa-app access local\|lan\|relay\|default az elérhetőség módosítása
sudo kofa-app kiosk on\|off a kiosk be- és kikapcsolása
kofa-app network status / hotspot / client <ssid> / reset a hálózat kezelése
sudo kofa-app relay [on\|off\|default\|url <cím>\|reset] relay párosító kód; a gép saját relay kapcsolatának be-/kikapcsolása bármely elérési módban (az admin oldalon is), cím módosítása
kofa-app measure [--restart] [mp] indulási idők mérése
sudo kofa-app uninstall eltávolítás

Eltávolítás: sudo ./uninstall.sh (vagy sudo kofa-app uninstall) leállítja és törli a szolgáltatásokat és az /opt/kofa-app-ot; a --purge kapcsoló az adatokat és a gépi beállításokat is törli. A hálózati beállításokhoz nem nyúl.

8. Frissítés

Két mód:

  • A felületről (ha az export engedte): Adminisztráció → Frissítés új exporttal: tölts fel egy újabb kofa-app-….tar.gz exportot. A gép ellenőrzi, rootként telepíti, és újraindítja a programot. Ha az új program nem indul el, az előző áll vissza; az eredményt (succeeded, rolled-back, failed) és a telepítő naplóját az Adminisztráció oldal mutatja. A jelszavak, a kiosk, a port és az adatok maradnak.
  • SSH-n: a sudo ./install.sh az új csomagból, vagy tools/deploy-lite.sh.

9. Hibaelhárítás

Tünet Teendő
A felület nem nyílik meg másik gépről Az elérhetőség local lehet: sudo kofa-app access lan. Ellenőrizd a hotspotot és a portot (kofa-app status).
A program … platformra készült, ez a gép … Másik célplatformra exportáltál. Exportáld újra a megfelelőre (linux-arm64).
A kiosk képernyő fekete Nincs kijelző csatlakoztatva (a cage kilép, a systemd 2 mp múlva újrapróbálja), vagy a program még nem indult el: kofa-app status, journalctl -u kofa-kiosk.
Elfelejtett jelszó SSH-n: sudo kofa-app set-password admin.
A telepítő hiányzó csomagokat jelez Internet kell egyszer a telepítéskor, vagy használd az offline csomagolást (--fetch-packages).
Wi-Fi-s SSH megszakad a telepítéskor A hálózati lépés a telepítés végén, átmeneti systemd unitként fut, ezért akkor is végigmegy; pár másodperc után újra csatlakozhatsz.
A hotspot után nem érem el a gépet A hotspot módban a gép címe 10.42.0.1. A próba mód 2 perc után visszaállítja az előző hálózatot, ha nem erősítetted meg.

Továbbiak: KOFA telepítése és első beállítása, Hibaelhárítás.