Linux’ta seri bir aygıta erişim genellikle screen gibi bir komut kullanılarak gerçekleştirilir. Ancak, Linux’ta her zaman başka seçenekler vardır. Ben kullandım Hadi Uzun yıllardır mikrodenetleyici koleksiyonumla. Neden? Çünkü sadece çalışıyor ve kullanımı kolay.
Windows kullanıcıları, işte burada başka bir nasıl Windows 11 ve Windows 10’dan seri bağlantılar yapmanıza yardımcı olacak.
Son zamanlarda yeni sürümle uğraşırken Tio’yu kullandım Ifixit Taşınabilir Lehimleme İstasyonuTio’nun seri bağlantıyı kısa sürede halledeceğini ve akıllı lehimleme makinesinin kaputunun altına bakmamı sağlayacağını biliyordum.
Bu nasıl yapılır’da, Tio’yu varsayılan ayarlarıyla hızlı bir şekilde nasıl kuracağınızı ve kullanacağınızı göstereceğiz. Ahududu Pi Pico 2 demo seri aygıttır. Daha sonra, belirli bir baud hızına sahip kartlar için bağlantı ayarlarını belirtmeye geçeceğiz, ardından tüm seri verilerin daha sonraki analizler için bir metin dosyasına nasıl kaydedileceğini öğreneceğiz.
Bunu takip etmek için aşağıdakilere ihtiyacınız olacak.
- Ubuntu çalıştıran bilgisayar
- Raspberry Pi Pico 2 (veya Pico / Pico W)
- DHT11 sıcaklık sensörü
- Yarım boy breadboard
- 3 x Erkek-erkek bağlantı kablosu
Tio’yu Paket Yöneticisi Aracılığıyla Yükleme
Ubuntu 24.04 çalıştıran dizüstü bilgisayarımıza Tio’yu kuruyoruz, aynı talimatlar Debian tabanlı Linux dağıtımlarının çoğu için geçerlidir. Diğer Linux dağıtımları için lütfen paket yöneticinizi kontrol edin, çünkü Tio orada mevcut olmalıdır.
1. Bir terminal açın ve depolar listesini güncelleyin, ardından sistem yükseltmesini çalıştırın. Güncelleme kısmı, paketlerin en son listesini alabilmemiz için önemlidir. Yükseltme, tüm yazılımlarınızın güncel olduğundan emin olmak için iyi bir ev idaresidir. Bir yükseltmeyi onaylamanız istenirse, Y’ye basın.
sudo apt update
sudo apt upgrade
2. Tio’yu kurun.
sudo apt install tio
Hızlı Demo Devresi
Bunun için, mevcut sıcaklığı okumak ve Python kabuğuna yazdırmak için bir DHT11 sıcaklık sensörü kullanan hızlı bir Raspberry Pi Pico 2 demosu hazırladım. Çıktı, seri bağlantı üzerinden okuyacağımız şeydir. Bunu yapmanıza gerek yok, nasıl yapılır, bilgisayarınıza bağladığınız herhangi bir seri cihazla çalışmaya devam edecektir. Ancak bu hızlı demo devresiyle, Tio’nun kullanıldığı tipik bir senaryoyu gösterebilirim.
Nasıl yapılacağının bu kısmı için ihtiyacınız olacak
- Raspberry Pi Pico 2 veya Raspberry Pi Pico
- DHT11 sıcaklık ve nem sensörü
- Yarım boy breadboard
- 3 x Erkekten erkeğe bağlantı kablosu
Bu demo için devre basittir. Pico 2 ile DHT11 sensörü arasında güç ve veriyi bağlıyoruz. Pico 2 sensöre güç veriyor ve veri pimi gerekli verileri Pico 2’ye gönderiyor.
Ahududu Pico 2 | DHT11 | İşlev | Tel Rengi |
---|---|---|---|
3V3 Çıkışı | Pin 1 (VDD) | 3V3 Güç | Kırmızı |
GPIO17 | Pin 2 (Veri | Veri çıkışı | Turuncu |
Herhangi bir GND | Pin 4 (GND) | Toprak (GND) referansı | Siyah |
Raspberry Pi Pico’nuzun MicroPython çalıştırdığından emin olun, 4. adıma geçin bu nasıl yapılır ve MicroPython ve Thonny’yi kurmuş olacaksınız.
1. Thonny’yi açın ve yeni, boş bir dosya oluşturun.
2. Üç adet kod kütüphanesini içe aktarın. Pin, GPIO’ya bağlanmak için kullanılır, kodumuzdaki duraklamayı kontrol etmek için zaman, DHT, DHT11 ile çalışmayı kolaylaştırmak için bir soyutlama.
from machine import Pin
import time
import dht
3. Bir nesne, sensör oluşturun ve bunu GPIO 17 üzerindeki DHT11 ile kod arasında bağlantı kurmak için kullanın. Bu soyutlama DHT11 ile çalışmayı kolaylaştırır.
sensor = dht.DHT11(Pin(17))
4. İçindeki kodu sürekli çalıştırmak için bir while True döngüsü oluşturun.
while True:
5. İki saniye bekleyin ve ardından DHT11’i kullanarak bir okuma yapın.
time.sleep(2)
sensor.measure()
6. Sıcaklığı alın ve “temp” adı verilen bir nesnede saklayın.
temp = sensor.temperature()
7. Python kabuğuna bir mesaj yazdırın, ardından mevcut sıcaklığı bir cümlenin parçası olarak ekleyin. Sıcaklık verilerini cümlenin doğru kısmına dize olarak eklemek için dize biçimlendirmesini kullanıyoruz.
print("Temperature Checker")
print('The temperature is:', "{:.1f}ºC\n".format(temp))
8. Kodu Raspberry Pi Pico’ya main.py olarak kaydedin Bu, Raspberry Pi Pico çalıştırıldığında kodun çalışmasını sağlayacaktır.
Tam Kod Listesi
from machine import Pin
import time
import dht
sensor = dht.DHT11(Pin(17))
while True:
time.sleep(2)
sensor.measure()
temp = sensor.temperature()
print("Temperature Checker")
print('The temperature is:', "{:.1f}ºC\n".format(temp))
Tio’nun varsayılan ayarlarını kullanma
Varsayılan Tio ayarları genellikle işi halleder ve bunu akılda tutarak, Tio bunları kullanmayı kolaylaştırır. Tek yapmamız gereken cihaza giden yol ile birlikte tio komutunu çağırmak. Peki cihazı nasıl bulabiliriz? Tio’nun tam da bu özelliği var. Öyleyse Tio’nun nasıl kullanılacağını adım adım inceleyelim, doğru seri cihazı belirleyerek ve ardından ona bağlanarak. Bu durumda, MicroPython çalıştıran bir Raspberry Pi Pico 2’dir.
1. Thonny’yi kapat. Thonny ve mikrodenetleyicilerle çalışmak üzere tasarlanmış diğer uygulamaların, parazite yol açabilecek kendi seri iletişim özellikleri vardır.
2. Bir terminal açın ve Raspberry Pi Pico’nuza hangi cihaz adının atandığını keşfedin. Bizim durumumuzda /dev/ttyACM0 idi, ancak farklı bir şey de olabilir.
tio -l
3. Raspberry Pi Pico’ya bağlanmak için tio’yu kullanın.
tio /dev/ttyACM0
4. Artık terminalde seri çıktıyı görmelisiniz. Ekranda her saniye yeni bir sıcaklık okuması görünecektir. CTRL + C’ye basmak çalışan kodu kıracak ve sizi komutların girilebileceği etkileşimli bir Python Kabuğuna bırakacaktır.
5. Tio’yu kapatmak için CTRL + t tuşlarına basın ve ardından Q tuşuna basın.
Tio’nun liste komutu tio -l, aynı anda bağlı birden fazla cihaz dahil olmak üzere seri bağlantıya uygun tüm cihazları listeler. Burada aynı anda bağlı Raspberry Pi Pico 2 ve bir Arduino Uno’muz var.
Bağlantı ayarlarının belirtilmesi
Yani Tio varsayılan olarak 115200 8N1’i kullanacaktır.
- 115200: Bu, verinin iletildiği hız olan baud hızıdır.
- 8: Bunlar, bir veri karakterinin seri bir aygıttan nasıl gönderildiğini tanımlayan veri bitleridir.
- N: Bu, bazen kontrol biti olarak da adlandırılan eşlik bitidir. Hata tespiti için kullanılır.
- 1: Bu, veri akışının ne zaman sona erdiğini etkili bir şekilde tanımlayan durdurma bitidir.
115200 baud hızı günümüzde oldukça yaygın ve Arduino’dan yenisine kadar birçok kart Ahududu Pi Pico 2
Tio ile, bağlantı ayarlarını cihazın ihtiyaçlarına uyacak şekilde belirleyebiliriz. Bu örnekte, Seri arayüze her saniye “Tom’s Hardware” yazdırmak için basit bir Arduino taslağı oluşturduk. Arduino taslağında, baud hızını 9600’e sabitledik (Serial.begin(9600)).
Bu birkaç adım daha çok, bağlantı ayarlarını belirtmeniz gerektiğinde referans olması amacıyla verilmiştir.
Tio’nun baud hızını ayarlamak için komutu bazı ekstra argümanlarla çalıştırmamız gerekiyor.
1. Bir terminal açın ve baud hızını 9600’e, veri bitlerini 8’e, akışı yok’a, durdurma bitlerini 1’e ve pariteyi yok’a ayarlamak için argümanlarla tio’yu başlatın.
//kod//
tio /dev/ttyACM0 –baudrate 9600 –databits 8 –flow none –stopbits 1 –parity none
//kod//
2. Canlı seri verisi tio kabuğuna yazdırılacak, mesajın ekranda yukarı doğru kaydığını kontrol edin.
3. CTRL + t tuşlarına basın ve ardından Q tuşuna basarak Tio’dan çıkın ve terminale geri dönün.
Verileri bir günlük dosyasına yazma
Oldukça kullanışlı bir özellik Tio komutunu kullandığımızda kurulur. Söz konusu özellik çıktının bir kopyasını bir günlük dosyasına yönlendirir.
Raspberry Pi Pico sıcaklık sensörü projesini kullanarak çıktıyı temperature-log.txt adlı bir metin dosyasına alacağız.
1. Linux terminalinden Tio’yu iki argümanla başlatın. Birincisi, dosyanın tam yolunu belirten –log-file’dır (eğer dosya yoksa tio dosyayı oluşturacak ve aynı adı taşıyan mevcut dosyaların üzerine yazacaktır), ikincisi ise günlük dosyasına yazmayı sağlayan -L’dir. Aygıt yolunu aygıtınızınkiyle eşleşecek şekilde değiştirmeyi unutmayın.
tio /dev/ttyACM0 –log-file temperature-log.txt -L
2. Tio’yu birkaç dakika çalıştırınİhtiyacınız olan veriyi toplamaya yetecek kadar.
3. CTRL + t tuşlarına basın ve ardından Q tuşuna basarak Tio’dan çıkın ve terminale geri dönün.
4. Dosyayı bir metin düzenleyicide açın Veri günlüğünü görüntülemek için.
5. İlgili argümanı eklemek için komutu değiştirin mevcut bir günlük dosyasına eklenecektir.
tio /dev/ttyACM0 –log-append –log-file temperature-log.txt -L
6. Eklenen verileri görmek için metin dosyasını açın.
Günlük dosyasına tam zamanı yazmamız gerektiğini varsayalım, bu belirli bir eylemin düzenli bir şekilde gerçekleşmesi gerektiğini göstermemiz gerektiğinde yararlı olabilir. Verileri günlük dosyasına ekleyen yukarıdaki komutu, her satırın başına bir zaman damgası eklenecek şekilde uyarlayacağız.
7. Linux terminalinden Tio’yu önceki argümanlarla başlatın ve zaman damgası eklemek için -t tuşuna basın.
tio /dev/ttyACM0 –log-append –log-file temperature-log.txt -L -t
8. CTRL + T’ye basın ve ardından Q’ya basarak Tio’dan çıkın ve terminale geri dönün.
9. Dosyayı bir metin düzenleyicide açın veri günlüğünü görüntülemek için. Zaman damgası her satırın başında, çıktıdan hemen önce görüntülenir.
Tio’nun Gelişmiş Fonksiyonları
Tio çalışırken kullanılabilen bir dizi ek özellik ve işleve sahiptir. Özelliklere CTRL + t’ye ve ardından aşağıdaki tuşlardan birine basıp bırakarak erişilebilir. Tio’dan çıkan CTRL + tq’yu zaten kullandık.
CTRL+t ? List available key commands
CTRL+t b Send break
CTRL+t c Show configuration
CTRL+t e Toggle local echo mode
CTRL+t f Toggle log to file
CTRL+t F Flush data I/O buffers
CTRL+t g Toggle serial port line
CTRL+t i Toggle input mode
CTRL+t l Clear screen
CTRL+t L Show line states
CTRL+t m Change mapping of characters on input or output
CTRL+t o Toggle output mode
CTRL+t p Pulse serial port line
CTRL+t q Quit
CTRL+t r Run script
CTRL+t R Execute shell command with I/O redirected to device
CTRL+t s Show statistics
CTRL+t t Toggle line timestamp mode
CTRL+t v Show version
CTRL+t x Send file via Xmodem
CTRL+t y Send file via Ymodem
CTRL+t CTRL+t Send CTRL+t character