PYTHON İLE CHECKSUM HESAPLAMAK

Projelerimde sıklıkla mikro denetleyici ile PC arasında UART iletişimi kurmam gerekiyor. Bu iletişimin güvenli olması için CHECK SUM kontroluna başvuruyorum.

Checksum uygulaması için çeşitli standartlar var. Ben 8 bit Mod256 olarak adlandırılan yöntemi kullanıyorum.

Bu yayında PC den mikro denetleyiciye bir Python programı ile gönderdiğim text satırları için uyguladığım checksum yöntemini anlatacağım.

Continue reading “PYTHON İLE CHECKSUM HESAPLAMAK”

PYTHON İLE UART STREAMER KULLANICI ARAYÜZÜ

Zaman zaman PC üzerinde de yazılım geliştirmem gerekiyor.PC diskinde kayıtlı olan bir Gerber dosyasını satır satır okuyarak seri port üzerinden CNC ye aktarmam gerektiğinde Python gündeme geldi.

Python öğrenmeye girişmemin nedeni de bu oldu. Öğrencilik yıllarımdan itibaren Fortran, Basic, Pascal, Delphi, Visual Basic programlama dillerinin birinin devri kapanırken diğerine geçmek zorunda kaldım. 4-5 yıl öncesinde de Python’a el atmak zorunda kaldım. Python ile birlikte Object Oriented Programlama tekniklerini de öğrenmek zorunda kaldım. Ancak, bu sonuncusunu işimi görecek en alt düzeyde tuttuğumu itiraf etmem gerekir. Bu konuda bir uzman olmamakla birlikte, bu yayında bildiğim, yaptığım kadarını paylaşacağım.

Burada anlatacağım arayüz programının kapsamında Python ile PC ekranında diyalog pencereleri, seçme kutucukları, komut butonları oluşturmak, Python ile PC nin seri portlarına erişmek, PC diskinde kayıtlı text dosyalarına erişip okumak gibi işlemleri ele alacağız. Vermiş olduğum kodların, bir Python uzmanı tarafından daha şık ve verimli şekilde yazılabileceğini de peşinen belirterek başlayayım.

Continue reading “PYTHON İLE UART STREAMER KULLANICI ARAYÜZÜ”

UART İLETİŞİMDE VERİ DOĞRULAMA – CHECK SUM

Mikro denetleyiciler ile diğer cihazlar arasında veri alışverişi için sıklıkla asenkron haberleşme protokoluna -UART- başvuruyoruz. Genelde parazitsiz ve kısa mesafelerde sorun yaşanmasa da, yakın çevrede çalışan motorlar gibi parazit kaynakları var ise arada bir hatalı alınan karakterler olabiliyor. Benim CNC uygulamam da bunlardan birisi. Mikro denetleyicinin burnunun dibinde çalışan 500W lık bir fırçalı DC spindle motorundan, 3 tane güçlü adım motorunun kablolarından yayılan parazitler ortamı dolduruyor.

Bu durumlarda fiziksel seviyedeki önlemler, UART haberleşmeyi RS232, ya da daha iyisi RS485 üzerinden yürütmek. Buna ilaveten protokol seviyesinde de veri doğrulama yöntemlerine başvurmak gerekiyor.

Sadece kullanıcı ile text mesaj alışverişi gibi, arada bir gelen hatalı bir karakterin felakete yol açmadığı bir durumda bütün bunlara gerek görülmeyebilir. Ama, CNC ye giden bir hatalı koordinat bilgisi ortalığı bir anda savaş meydanına çevirebilir. Bu benim başıma geldiğinden dersimi aldım ve CNC-PC haberleşmesi sırasında veri doğrulama işlemlerine erken aşamalardan itibaren yer verdim.

CNC için kullandığım iki farklı yöntemi anlatacağım.

Continue reading “UART İLETİŞİMDE VERİ DOĞRULAMA – CHECK SUM”