26 Kasım 2018 Pazartesi

ASENKRON SERİ HABERLEŞME ÖRNEK PYTHON UYGULAMASI

Asenkron Seri Haberleşme Örnek Python Uygulaması

Bugün yazımızda python ile yazılmış örnek kodu inceleyeceğiz. Burada asenkron haberleşme ile veri gönderme ve veri almak için kullandığımız fonksiyonları göreceğiz.



Kod satırına ilk önce kütüphaneleri  dahil etmekle başlıyoruz. Sonrasında haberleşme parametrelerini tanımlamamız lazım.

ser = serial.Serial( port=’dev/ttyS1’, baudrate =9600, parity =serial.PARITY_EVEN, stopbits=serial.STOPBITS_TWO, bytesize= serial.SEVENBITS)
veya

ser=serial.Serial()
ser.baudrate = '9600'
ser.port = 'dev/ttyS1'  
ser.bytesize = serial.EIGHTBITS  şeklinde haberleşme parametrelerini tanımlayabiliriz. Fakat biz basit ve sade bir örnek kod yazmak istediğimizden baud hızını ve port adresini belirttiğimizde bu bize yeterli olur. Geri kalan parametreler varsayılan(default) olarak seçilir. Varsayılan değerler parity biti "none", veri boyutu "8 bit", ve bitiş bit uzunluğu "1 bit"dir. 

Daha sonra "ser.write()" komutu ile seri ekrana yazdırmak istediklerimizi gönderiyoruz. "ser.write(' \ngönderilecek metin ')"

Seri ekrana "Merhaba Lutfen [y] veya [n] karakterlerinden birini tuslayiniz:" yazısını seri ekrana yazdırırız. Sonrasında programın sürekli çalışması için bir while döngüsü açtık. Bu döngünün içine sürekli dönmesini istediğimiz kodları yazacağız.

- ser.read() = Kullanıcıdan tek karakter veri alır.
- ser.read(4) =Kullanıcıdan dört karakter alır.
- ser.readline() = Kullanıcıdan sınırsız sayıda veri alır. Enter'a bastığımızda tüm veriler gönderilir.

Burada "ser.read()" kullanarak bir karakter okuyoruz. Seri ekrana karakteri girdiğimizde "enter" veya "space"e basmaya gerek yok. Tek bir karakter girdiğimiz an bu karakter okunur. Ayrıca  "enter" ve "space" gibi tuşlar da bir karakter sayılır. 

Sonrasında alınan karakteri "if" yapısını kullanarak 'y' ve 'n' karakterleriyle karşılaştırıyoruz.  Eğer seri ekranda girilen karakter bunlardan biriyse, o döngüye girilir ve "ser.write()" kodu ile yazmasını istediğimiz kelime,cümle veya karakterleri seri ekrana göndeririz.

Eğer girilen karakter belirttiğimiz karakterlerden biri değilse program "belirlenemeyen bir karakter girişi" diye uyarı mesajı verecek ve bizden tekrardan yeni bir karakter girmemizi isteyecek. 
Program kısaca bu şekilde. Bu yapıları kullanarak önümüzdeki yazılarda "parametre hata bulma", "yaş ve burç bulma" ve "seri ekran kontrollü otomasyon uygulaması"ndan bahsedeceğimi. 

Okuduğunuz için teşekkür ederim. Aklınıza takılan bir soru veya karşılaştığınız bir sorun olduğunda yorumlarda belirtebilirsiniz. Burada eksik olarak anlattığımı düşündüğünüz veya sizlerin gerekli olarak gördüğünüz bilgileri yine yorumlarda yazarsanız, bundan herkesin faydalanmasını sağlamış olursunuz. Herkese iyi çalışmalar.

Hiç yorum yok:

Yorum Gönder

Öne Çıkan Yayın

ORANGE PI PYTHON UART

ORANGE PI PYTHON UART Python kurulum  yazısında Orange pi'de Python konusuna giriş yapmıştık. Daha sonra  Python Gpio  yazısında gir...