Jedním z nepostradatelných prvků při práci na embedded linuxových projektech je přístup k vašemu zařízení přes rozhraní sériové konzoly. K tomu musí mít počítač, na kterém vyvíjíte vestavěný systém, sériový port. Avšak jen velmi málo počítačů má dnes sériový port, a proto místo něj používáme převodníky USB na sériový port.

Na konci budete podrobně rozumět tomu, co jsou sériové konzole a jak fungují na Linuxu.

Nastavení převodníku USB na sériový port

Linux automaticky rozpozná téměř jakýkoli sériový převodník USB, který najdete na trhu. Zapojte libovolný USB převodník do počítače a použijte jej dmesg příkaz ke zjištění názvu souboru zařízení.

dmesg

Ve výše uvedeném příkladu vidíte VirtualBox v sekci výrobce, protože hostitelem je distribuce Linuxu běžící na VirtualBoxu. Zde se název výrobce změní v závislosti na převodníku, který používáte. Můžete také vidět, že sériový převodník, který používáte, je připojen k systému s názvem, jako je např ttyUSB0.

Můžete použít sériový převodník rozpoznaný vaším systémem prostřednictvím souboru zařízení

instagram viewer
/dev/ttyUSB0. V závislosti na distribuci, kterou používáte, se soubor zařízení automaticky vytvoří pod /dev adresář zobrazující hlavní, vedlejší a typy zařízení. U sériových převodníků USB je schéma pojmenování obvykle ttyUSB0, ttyUSB1, a ttyUSBX pro každý simultánní překlad.

Pokud vyjmete a znovu vložíte sériový převodník USB, když je používán aplikací, systém vydá zařízení nové číslo.

Autorizace přístupu na sériových zařízeních

Výchozí přístupová oprávnění souborů připojeného zařízení USB převodníku jsou obvykle následující:

ls -l /dev/ttyUSB0

# Výstup
crw-rw 1 root dialout 188, 46. července 17 15:34 /dev/ttyUSB0

Při zkoumání výše uvedeného výstupu můžete zjistit:

  • Dopis C na začátku řádku označuje, že se jedná o znakové zařízení
  • Vlastníkem souboru je uživatel root a uživatel má oprávnění ke čtení a zápisu
  • Vlastníkem skupiny souboru je vytáčení skupina a uživatelé v této skupině mají také oprávnění ke čtení a zápisu
  • Zbytek uživatelů nemá žádná práva pro čtení a zápis do souboru

Pokud jste aktuálně přihlášeni jako běžný uživatel, který není členem vytáčecí skupiny, nemůžete číst a zapisovat do sériového převodníku USB. Chcete-li tento problém vyřešit, musíte aktuálního uživatele učinit členem vytáčecí skupiny nebo upravit skupinu udev soubory pravidel ve vašem systému.

Pro pohodlí můžete použít první techniku. Chcete-li začít, použijte id příkaz k určení, do kterých skupin váš uživatel patří:

id

Přidejte svého uživatele do skupiny pomocí přidat uživatele nebo usermod příkaz:

# Pro Fedoru
sudo usermod -aG dialout USERNAME

# Pro Debian
sudo adduser USERNAME dialout

# Pro Arch
sudo usermod -a -G uucp USERNAME

Členství ve skupině postup je nyní dokončen. Systém však kontroluje informace o členství ve skupině během prvního kroku přihlášení v grafických relacích a poté je poskytuje všem běžícím procesům.

V důsledku toho se musíte odhlásit z aktuální grafické relace a poté se znovu přihlásit nebo restartujte svůj stroj aby se změny projevily. Po dokončení této operace budete mít přístup pro čtení/zápis do zařízení sériového převodníku.

Jak se připojit k sériovým konzolím v systému Linux

Pokud potřebujete přístup k počítači nebo síťové konzole, můžete se obrátit na aplikace sériové konzoly. Obvykle k tomu potřebujete přístup přes SSH. Ze softwarového a hardwarového hlediska je však v některých případech také možné ke konzoli přistupovat pouze pomocí sériových portů.

Tyto typy příkladů najdete nejčastěji na starších počítačích. Níže jsou uvedeny některé z nejlepších aplikací pro sériovou konzolu, které pro vás budou fungovat.

Pomocí Minicomu

Minicom, starou, ale stále fungující aplikaci, můžete do systému nainstalovat následovně:

# Na Fedoře, CentOS a RHEL
sudo mňam Nainstalujte minicom

# Na Debianu a Ubuntu
sudo apt-dostat nainstalovat minicom

# Na Arch Linuxu
sudo snap Nainstalujte minicom

Při prvním spuštění se aplikace pokusí otevřít soubor zařízení jako např /dev/modem ve výchozím stavu. Ukončí se, když nemůže najít soubor. Chcete-li tento problém vyřešit, můžete přímo spustit obrazovku nastavení aplikace pomocí -s parametr:

minicom -s

Název zařízení můžete nastavit stisknutím tlačítka A a rychlost sériového portu stisknutím tlačítka E klíč. Když pak odejdete s Výstup, můžete použít odpovídající sériový port.

Na hlavní obrazovce aplikace se můžete vrátit na obrazovku konfigurace pomocí Ctrl + A + O, ukončete aplikaci pomocí Ctrl + A + X, aktivujte režim zalamování řádků pomocí Ctrl + A + Wa získat nápovědu k dalším zkratkám Ctrl + A + Z.

Pomocí GTKTerm

Minicom je obecně používán pokročilými uživateli Linuxu, a proto se nedoporučuje pro začátečníky. Nováčci v Linuxu si mohou nainstalovat GTKTerm, grafický emulátor sériového terminálu pro Linux. Aplikaci můžete do systému nainstalovat pomocí následujících příkazů:

# Na Fedoře, CentOS a RHEL
sudo dnf -y Nainstalujte gtkterm

# Na Debianu a Ubuntu
sudo apt-dostat nainstalovat gtkterm

# Na Arch Linuxu
yay -S gtkterm

Když spustíte aplikaci, budete muset nastavit název zařízení a parametry rychlosti pomocí Konfigurace > Port menu takto:

Uložte nastavení jako výchozí pro usnadnění pozdějšího použití.

Pomocí obrazovky

Pokud znáte obrazovku pro správu více terminálů, víte, že ji můžete použít také pro přístup k sériovému portu. Zde jsou příkazy k instalaci:

# Na Fedoře, CentOS a RHEL
sudo dnf -y Nainstalujte obrazovka

# Na Debianu, Ubuntu a Linux Mintu
sudo apt-dostat -y instalační obrazovka

# Použijte Snap pro jiné distribuce
sudo snap Nainstalujte obrazovka --klasický

Po instalaci můžete spustit následující příkaz pro připojení k sériové konzole:

obrazovka /dev/ttyUSB0 115500

Nyní můžete vytvořit připojení k sériovému portu v systému Linux

Možnost přístupu k systému Linux pomocí sériového portu je velmi užitečná funkce, zvláště když nechcete připojit monitor k SBC (Session Border Controller).

Protože autorizace sériové konzole je zabudována do jádra Linuxu v době kompilace, měli byste mít alespoň základní znalosti o jádru Linuxu a jeho fungování.