Jedným z nevyhnutných prvkov pri práci na vstavaných projektoch Linuxu je prístup k vášmu zariadeniu cez rozhranie sériovej konzoly. Na tento účel musí mať počítač, na ktorom vyvíjate vstavaný systém, sériový port. Avšak len veľmi málo počítačov má dnes sériový port, a preto namiesto neho používame prevodníky USB na sériový port.

Na konci budete mať podrobné pochopenie toho, čo sú sériové konzoly a ako fungujú v systéme Linux.

Nastavenie konvertora USB na sériový port

Takmer každý sériový prevodník USB, ktorý nájdete na trhu, Linux automaticky rozpozná. Zapojte akýkoľvek USB konvertor do počítača a použite dmesg príkaz na zistenie názvu súboru zariadenia.

dmesg

Vo vyššie uvedenom príklade vidíte VirtualBox v sekcii výrobcu, keďže hostiteľom je distribúcia Linuxu spustená na VirtualBoxe. Tu sa názov výrobcu zmení v závislosti od konvertora, ktorý používate. Môžete tiež vidieť, že sériový prevodník, ktorý používate, je pripojený k systému s názvom, ako napr ttyUSB0.

Môžete použiť sériový prevodník rozpoznaný vaším systémom prostredníctvom súboru zariadenia

instagram viewer
/dev/ttyUSB0. V závislosti od distribúcie, ktorú používate, sa súbor zariadenia automaticky vytvorí pod /dev adresár zobrazujúci hlavné, vedľajšie a typy zariadení. Pre sériové prevodníky USB je schéma pomenovania zvyčajne ttyUSB0, ttyUSB1, a ttyUSBX za každý simultánny preklad.

Ak vyberiete a znova vložíte sériový prevodník USB, keď ho používa aplikácia, systém pridelí zariadeniu nové číslo.

Autorizácia prístupu na sériových zariadeniach

Predvolené prístupové práva k súborom pripojeného zariadenia USB prevodníka sú zvyčajne nasledovné:

ls -l /dev/ttyUSB0

# Výkon
crw-rw 1 root dialout 188, 46. júl 17 15:34 /dev/ttyUSB0

Pri skúmaní vyššie uvedeného výstupu môžete zistiť:

  • List c na začiatku riadku označuje, že ide o znakové zariadenie
  • Vlastníkom súboru je používateľ root a používateľ má oprávnenia na čítanie a zápis
  • Vlastníkom skupiny súboru je dialout skupina a používatelia zahrnutí v tejto skupine majú tiež povolenia na čítanie a zápis
  • Ostatní používatelia nemajú žiadne práva na čítanie a zápis do súboru

Ak ste práve prihlásený ako bežný používateľ, ktorý nie je členom vytáčanej skupiny, nemôžete čítať a zapisovať do sériového prevodníka USB. Ak chcete vyriešiť tento problém, musíte buď urobiť aktuálneho používateľa členom vytáčanej skupiny, alebo upraviť skupinu udev súbory pravidiel vo vašom systéme.

Pre pohodlie môžete použiť prvú techniku. Ak chcete začať, použite id príkaz na určenie, do ktorých skupín patrí váš používateľ:

id

Pridajte svojho používateľa do skupiny pomocou adduser alebo usermod príkaz:

# Pre Fedora
sudo usermod -aG dialout USERNAME

# Pre Debian
sudo adduser USERNAME dialout

# Pre Arch
sudo usermod -a -G uucp USERNAME

Členstvo v skupine postup je teraz dokončený. Systém však kontroluje informácie o členstve v skupine počas prvého prihlasovacieho kroku v grafických reláciách a potom ich poskytuje všetkým spusteným procesom.

V dôsledku toho sa musíte odhlásiť z aktuálnej grafickej relácie a potom sa znova prihlásiť, resp reštartujte počítač aby zmeny nadobudli účinnosť. Po dokončení tejto operácie budete mať prístup na čítanie/zápis do zariadenia sériového prevodníka.

Ako sa pripojiť k sériovým konzolám v systéme Linux

Ak potrebujete prístup k počítaču alebo sieťovej konzole, môžete použiť aplikácie sériovej konzoly. Zvyčajne na to potrebujete prístup cez SSH. Zo softvérového a hardvérového hľadiska je však v niektorých prípadoch možný aj prístup ku konzole len pomocou sériových portov.

Tieto typy príkladov nájdete najčastejšie na starších počítačoch. Nižšie sú uvedené niektoré z najlepších aplikácií sériovej konzoly, ktoré budú pre vás fungovať.

Pomocou Minicom

Minicom, starú, ale stále funkčnú aplikáciu, môžete do systému nainštalovať takto:

# Na Fedore, CentOS a RHEL
sudo mňam Inštalácia minicom

# V Debiane a Ubuntu
sudo apt-dostať nainštalovať minicom

# V systéme Arch Linux
sudo snap Inštalácia minicom

Pri prvom spustení sa aplikácia pokúsi otvoriť súbor zariadenia ako napr /dev/modem predvolene. Ukončí sa, keď nemôže nájsť súbor. Na prekonanie tohto problému môžete priamo spustiť obrazovku nastavení aplikácie pomocou -s parameter:

minicom -s

Názov zariadenia môžete nastaviť stlačením tlačidla A a rýchlosť sériového portu stlačením tlačidla E kľúč. Potom, keď odídete s VÝCHOD, môžete použiť zodpovedajúci sériový port.

Na hlavnej obrazovke aplikácie sa môžete vrátiť na konfiguračnú obrazovku pomocou Ctrl + A + O, ukončite aplikáciu pomocou Ctrl + A + X, aktivujte režim zalamovania riadkov pomocou Ctrl + A + Wa získajte pomoc s ďalšími skratkami Ctrl + A + Z.

Pomocou GTKTerm

Minicom vo všeobecnosti používajú pokročilí používatelia Linuxu, a preto sa neodporúča pre začiatočníkov. Nováčikovia v Linuxe si môžu nainštalovať GTKTerm, grafický emulátor sériového terminálu pre Linux. Aplikáciu môžete nainštalovať do systému pomocou nasledujúcich príkazov:

# Na Fedore, CentOS a RHEL
sudo dnf -y Inštalácia gtkterm

# V Debiane a Ubuntu
sudo apt-dostať nainštalovať gtkterm

# V systéme Arch Linux
yay -S gtkterm

Keď spustíte aplikáciu, budete musieť nastaviť názov zariadenia a parametre rýchlosti cez Konfigurácia > Port menu nasledovne:

Uložte nastavenia ako predvolené, aby ste uľahčili neskoršie použitie.

Používanie obrazovky

Ak poznáte obrazovku pre správu viacerých terminálov, viete, že ju môžete použiť aj na prístup k sériovému portu. Tu sú príkazy na jeho inštaláciu:

# Na Fedore, CentOS a RHEL
sudo dnf -y Inštalácia obrazovke

# Na Debian, Ubuntu a Linux Mint
sudo apt-dostať -y obrazovka inštalácie

# Použite Snap pre iné distribúcie
sudo snap Inštalácia obrazovke --klasický

Po inštalácii môžete spustiť takýto príkaz na pripojenie k sériovej konzole:

obrazovka /dev/ttyUSB0 115500

Teraz môžete vytvoriť pripojenie k sériovému portu v systéme Linux

Možnosť prístupu k vášmu systému Linux pomocou sériového portu je veľmi užitočná funkcia, najmä ak nechcete pripojiť monitor k SBC (Session Border Controller).

Keďže autorizácia sériovej konzoly je zabudovaná do jadra Linuxu v čase kompilácie, mali by ste mať aspoň základné znalosti o jadre Linuxu a jeho fungovaní.