Unul dintre elementele indispensabile atunci când lucrați la proiecte Linux încorporate este accesarea dispozitivului dvs. prin interfața consolei seriale. Pentru aceasta, computerul pe care dezvoltați un sistem încorporat trebuie să aibă un port serial. Cu toate acestea, foarte puține computere din ziua de azi au un port serial și, de aceea, folosim convertoare USB în serie.
Până la sfârșit, veți avea o înțelegere detaliată a ce sunt consolele seriale și cum funcționează acestea pe Linux.
Configurarea convertorului USB la serial
Aproape orice convertor serial USB pe care îl puteți găsi pe piață este recunoscut automat de Linux. Conectați orice convertor USB la computer și utilizați dmesg comandă pentru a afla numele fișierului dispozitivului.
dmesg
În exemplul de mai sus, vedeți VirtualBox în secțiunea producător, deoarece gazda este o distribuție Linux care rulează pe VirtualBox. Aici, numele producătorului se va schimba în funcție de convertorul pe care îl utilizați. De asemenea, puteți vedea că convertorul serial pe care îl utilizați este atașat sistemului cu un nume, cum ar fi
ttyUSB0.Puteți utiliza convertorul serial recunoscut de sistemul dvs. prin fișierul dispozitivului /dev/ttyUSB0. În funcție de distribuția pe care o utilizați, fișierul dispozitivului este creat automat sub /dev director, afișând tipurile majore, minore și dispozitive. Pentru convertoarele seriale USB, schema de denumire este de obicei ttyUSB0, ttyUSB1, și ttyUSBX pentru fiecare traducere simultană.
Dacă scoateți și reintroduceți convertorul serial USB în timp ce acesta este utilizat de o aplicație, sistemul emite un nou număr dispozitivului.
Autorizare de acces pe dispozitive seriale
Privilegiile de acces implicite ale fișierelor dispozitivului de conversie USB montate sunt de obicei după cum urmează:
ls -l /dev/ttyUSB0
# Ieșire
crw-rw 1 apelare rădăcină 188, 46 17 iulie 15:34 /dev/ttyUSB0
Examinând rezultatul de mai sus, puteți spune:
- Scrisoarea c la începutul liniei indică faptul că acesta este un dispozitiv bazat pe caractere
- Proprietarul fișierului este utilizatorul root și utilizatorul are privilegii de citire și scriere
- Proprietarul grupului al fișierului este apelare telefonică grupul și utilizatorii incluși în acest grup au și permisiuni de citire și scriere
- Restul utilizatorilor nu au drepturi de citire și scriere pe fișier
Dacă sunteți conectat în prezent ca utilizator obișnuit, care nu este membru al grupului de apelare telefonică, nu puteți citi și scrie pe convertorul serial USB. Pentru a rezolva această problemă, trebuie fie să faceți utilizatorul curent membru al grupului de apelare telefonică, fie să editați udev fișierele cu reguli de pe sistemul dvs.
Puteți utiliza prima tehnică pentru comoditate. Pentru a începe, utilizați id comandă pentru a determina ce grupuri aparține utilizatorul dvs.:
id
Adăugați utilizatorul în grup folosind Adăugați utilizator sau usermod comanda:
# Pentru Fedora
sudo usermod -aG dialout USERNAME# Pentru Debian
apelare sudo adduser USERNAME
# Pentru Arh
sudo usermod -a -G uucp NUME DE UTILIZATOR
Apartenența la grup procedura este acum finalizată. Cu toate acestea, sistemul verifică informațiile despre apartenența la grup în timpul primului pas de conectare în sesiunile grafice și apoi le furnizează tuturor proceselor care rulează.
Ca rezultat, trebuie să vă deconectați din sesiunea grafică curentă și apoi să vă conectați din nou sau reporniți mașina dvs pentru ca modificările să intre în vigoare. Veți avea acces de citire/scriere la dispozitivul de convertizor serial după terminarea acestei operațiuni.
Cum să vă conectați la consolele seriale pe Linux
Când aveți nevoie de acces la un computer sau o consolă de rețea, vă puteți referi la aplicațiile de consolă serială. De obicei, aveți nevoie de acces prin SSH pentru a face acest lucru. Totuși, din punct de vedere software și hardware, în unele cazuri, este posibil să accesați consola folosind doar porturi seriale.
Veți găsi aceste tipuri de exemple cel mai adesea pe computere mai vechi. Mai jos sunt câteva dintre cele mai bune aplicații de consolă serială care vă vor funcționa.
Folosind Minicom
Puteți instala Minicom, o aplicație veche, dar încă funcțională, pe sistemul dvs., după cum urmează:
# Pe Fedora, CentOS și RHEL
sudo yum instalare minicom# Pe Debian și Ubuntu
sudo apt-obține instalați minicom
# Pe Arch Linux
sudo snap instalare minicom
Când lansați aplicația pentru prima dată, aceasta va încerca să deschidă un fișier al dispozitivului, cum ar fi /dev/modem în mod implicit. Se termină când nu poate găsi fișierul. Pentru a depăși această problemă, puteți porni direct ecranul de setări al aplicației cu ajutorul -s parametru:
minicom -s
Puteți seta numele dispozitivului apăsând butonul A tasta și viteza portului serial apăsând tasta E cheie. Apoi când ieși cu Ieșire, puteți utiliza portul serial corespunzător.
În timp ce vă aflați în ecranul principal al aplicației, puteți reveni la ecranul de configurare cu Ctrl + A + O, ieșiți din aplicație cu Ctrl + A + X, activați modul line wrap cu Ctrl + A + W, și obțineți ajutor cu alte comenzi rapide cu Ctrl + A + Z.
Folosind GTKTerm
Minicom este folosit în general de utilizatorii Linux avansați și, prin urmare, nu este recomandat pentru începători. Nou-veniții Linux pot instala GTKTerm, un emulator grafic de terminal serial pentru Linux. Puteți instala aplicația pe sistemul dvs. folosind următoarele comenzi:
# Pe Fedora, CentOS și RHEL
sudo dnf -y instalare gtkterm# Pe Debian și Ubuntu
sudo apt-obține instalați gtkterm
# Pe Arch Linux
da -S gtkterm
Când lansați aplicația, va trebui să setați numele dispozitivului și parametrii de viteză prin intermediul Configurare > Port meniu după cum urmează:
Salvați setările ca implicite pentru a facilita utilizarea ulterioară.
Utilizarea ecranului
Dacă sunteți familiarizat cu ecranul pentru gestionarea multi-terminale, știți că îl puteți utiliza și pentru accesul la portul serial. Iată comenzile pentru a-l instala:
# Pe Fedora, CentOS și RHEL
sudo dnf -y instalare ecran# Pe Debian, Ubuntu și Linux Mint
sudo apt-obține -y instalează ecran
# Utilizați Snap pentru alte distribuții
sudo snap instalare ecran --clasic
După instalare, puteți rula o comandă ca aceasta pentru a vă conecta la o consolă serială:
ecran /dev/ttyUSB0 115500
Acum puteți stabili o conexiune de port serial pe Linux
A putea accesa sistemul dvs. Linux folosind portul serial este o caracteristică foarte utilă, mai ales atunci când nu doriți să atașați un monitor la SBC (Session Border Controller).
Deoarece autorizarea consolei seriale este încorporată în nucleul Linux în momentul compilării, ar trebui să aveți cel puțin o înțelegere de bază a nucleului Linux și funcționarea acestuia.