Gömülü Linux projeleri üzerinde çalışırken olmazsa olmaz unsurlardan biri de cihazınıza seri konsol arayüzü üzerinden erişmektir. Bunun için gömülü sistem geliştirdiğiniz bilgisayarın seri porta sahip olması gerekir. Ancak günümüzde çok az bilgisayarın seri bağlantı noktası vardır ve bu nedenle bunun yerine USB'den seriye dönüştürücüler kullanıyoruz.
Sonunda, seri konsolların ne olduğu ve Linux'ta nasıl çalıştıkları hakkında ayrıntılı bir anlayışa sahip olacaksınız.
USB'den Seri Dönüştürücüye Ayarlama
Piyasada bulabileceğiniz hemen hemen her USB seri dönüştürücü, Linux tarafından otomatik olarak tanınır. Herhangi bir USB dönüştürücüyü bilgisayarınıza takın ve mesaj cihazın dosya adını bulma komutu.
mesaj
Yukarıdaki örnekte, ana bilgisayar VirtualBox üzerinde çalışan bir Linux dağıtımı olduğu için üretici bölümünde VirtualBox'ı görüyorsunuz. Burada, kullandığınız dönüştürücüye bağlı olarak üretici adı değişecektir. Kullanmakta olduğunuz seri dönüştürücünün sisteme şu şekilde bir adla bağlı olduğunu da görebilirsiniz. ttyUSB0.
Cihaz dosyası aracılığıyla sisteminiz tarafından tanınan seri dönüştürücüyü kullanabilirsiniz. /dev/ttyUSB0. Kullandığınız dağıtıma bağlı olarak, cihaz dosyası otomatik olarak /dev ana, küçük ve aygıt türlerini gösteren dizin. USB seri dönüştürücüler için adlandırma şeması genellikle ttyUSB0, ttyUSB1, ve ttyUSBX Her bir simultane çeviri için.
Bir uygulama tarafından kullanımdayken USB seri dönüştürücüyü çıkarır ve yeniden takarsanız, sistem cihaza yeni bir numara verir.
Seri Cihazlarda Erişim Yetkilendirmesi
Takılı USB dönüştürücü aygıt dosyalarının varsayılan erişim ayrıcalıkları genellikle aşağıdaki gibidir:
ls -l /dev/ttyUSB0
# Çıktı
crw-rw 1 kök arama 188, 46 17 Temmuz 15:34 /dev/ttyUSB0
Yukarıdaki çıktıyı incelerken şunları söyleyebilirsiniz:
- Mektup c satırın başında bunun karakter tabanlı bir cihaz olduğunu belirtir
- Dosya sahibi kök kullanıcıdır ve kullanıcı okuma ve yazma ayrıcalıkları
- Dosyanın grup sahibi, dışarı arama grup ve bu gruba dahil olan kullanıcılar ayrıca okuma ve yazma izinlerine sahiptir
- Kullanıcıların geri kalanı dosya üzerinde herhangi bir okuma ve yazma hakkına sahip değildir.
Şu anda normal bir kullanıcı olarak oturum açtıysanız ve dialout grubunun üyesi değilse, USB seri dönüştürücüyü okuyamaz ve ona yazamazsınız. Bu sorunu çözmek için, mevcut kullanıcıyı çevirme grubunun bir üyesi yapmalı veya udev sisteminizdeki kural dosyaları.
Kolaylık sağlamak için ilk tekniği kullanabilirsiniz. Başlamak için, İD kullanıcınızın hangi gruplara ait olduğunu belirleme komutu:
İD
kullanarak kullanıcınızı gruba ekleyin. Kullanıcı Ekle veya kullanıcı modu emretmek:
# Fedora için
sudo usermod -aG çevirmeli KULLANICI ADI# Debian için
sudo adduser USERNAME çevirme
# Kemer için
sudo usermod -a -G uucp KULLANICI ADI
grup üyeliği prosedür şimdi tamamlandı. Ancak sistem, grafiksel oturumlarda ilk oturum açma adımında grup üyelik bilgilerini kontrol eder ve ardından çalışan tüm işlemlere sunar.
Sonuç olarak, mevcut grafik oturumundan çıkış yapmanız ve ardından tekrar oturum açmanız veya makinenizi yeniden başlatın Değişikliklerin yürürlüğe girmesi için. Bu işlemi bitirdikten sonra seri dönüştürücü cihaza okuma/yazma erişiminiz olacak.
Linux'ta Seri Konsollara Nasıl Bağlanılır
Bir bilgisayara veya ağ konsoluna erişmeniz gerektiğinde seri konsol uygulamalarına başvurabilirsiniz. Genellikle, bunu yapmak için SSH üzerinden erişime ihtiyacınız vardır. Ancak yazılım ve donanım açısından, bazı durumlarda konsola sadece seri portlar kullanılarak erişmek de mümkündür.
Bu tür örnekleri en sık eski bilgisayarlarda bulacaksınız. Aşağıda işinize yarayacak en iyi seri konsol uygulamalarından bazıları verilmiştir.
Minicom'u kullanma
Eski ama hala çalışan bir uygulama olan Minicom'u sisteminize aşağıdaki şekilde kurabilirsiniz:
# Fedora, CentOS ve RHEL'de
sudo yum Yüklemek mini bilgisayar# Debian ve Ubuntu'da
sudo uygunalmak minicom'u yükle
# Arch Linux'ta
sudo snap Yüklemek mini bilgisayar
Uygulamayı ilk kez başlattığınızda, aşağıdaki gibi bir cihaz dosyasını açmaya çalışacaktır. /dev/modem varsayılan olarak. Dosyayı bulamayınca sona erer. Bu sorunun üstesinden gelmek için, uygulamanın ayarlar ekranını doğrudan şu komutla başlatabilirsiniz: -s parametre:
minicom -s
düğmesine basarak cihaz adını ayarlayabilirsiniz. A tuşuna ve seri bağlantı noktası hızına basarak E anahtar. Sonra ile çıktığınızda çıkış, ilgili seri bağlantı noktasını kullanabilirsiniz.
Uygulama ana ekranında iken ile konfigürasyon ekranına dönebilirsiniz. Ctrl + A + Oile uygulamadan çıkın Ctrl + A + X, ile satır kaydırma modunu etkinleştirin Ctrl + A + Wve diğer kısayollarla ilgili yardım alın Ctrl + A + Z.
GTKTerm'i kullanma
Minicom genellikle ileri düzey Linux kullanıcıları tarafından kullanılır ve bu nedenle yeni başlayanlar için önerilmez. Linux'a yeni başlayanlar, Linux için bir grafik seri terminal emülatörü olan GTKTerm'i kurabilirler. Aşağıdaki komutları kullanarak uygulamayı sisteminize yükleyebilirsiniz:
# Fedora, CentOS ve RHEL'de
sudo dnf -y Yüklemek gtkterm# Debian ve Ubuntu'da
sudo uygunalmak gtkterm'i yükle
# Arch Linux'ta
yay -S gtkterm
Uygulamayı başlattığınızda, cihaz adını ve hız parametrelerini şuradan ayarlamanız gerekir: Yapılandırma > Bağlantı Noktası menü şu şekilde:
Daha sonra kullanımı kolaylaştırmak için ayarları varsayılan olarak kaydedin.
Ekranı kullanma
Çoklu terminal yönetimi ekranına aşina iseniz, onu seri port erişimi için de kullanabileceğinizi bilirsiniz. İşte onu yüklemek için komutlar:
# Fedora, CentOS ve RHEL'de
sudo dnf -y Yüklemek ekran# Debian, Ubuntu ve Linux Mint'te
sudo uygunalmak -y yükleme ekranı
# Diğer dağıtımlar için Snap'i kullanın
sudo snap Yüklemek ekran --klasik
Kurulumdan sonra, bir seri konsola bağlanmak için şöyle bir komut çalıştırabilirsiniz:
ekran /dev/ttyUSB0 115500
Artık Linux'ta Seri Port Bağlantısı Kurabilirsiniz
Seri bağlantı noktasını kullanarak Linux sisteminize erişebilmek, özellikle SBC'ye (Oturum Sınır Denetleyicisi) bir monitör bağlamak istemediğinizde çok kullanışlı bir özelliktir.
Seri konsol yetkilendirmesi derleme sırasında Linux çekirdeğinde yerleşik olduğundan, Linux çekirdeği ve işleyişi hakkında en azından temel bir anlayışa sahip olmalısınız.