GOMiO

Herkese selamlar; bu platformda ilk blog yazımı yayınlıyorum. Kendimi kısaca tanıtacak olursam; 2009 yılı Marmara Üniversitesi Mekatronik Öğretmenliği bölümünden mezun oldum. Dört yıl çeşitli ajanslarda yazılım geliştiricisi olarak çalıştım. 2013 yılında öğretmen olarak atandım. Karabük Üniversitesi Mekatronik Mühendisliği’nde 2016 yılında mühendisliğimi tamamladım.

Size tanıtacağım gömülü sistem yazılımı olan Gomio’yu kodlamaya Mesleki Teknik Eğitim için yapılan program geliştirme çalıştayında karar verdim. Mehmet Güverdik hocamın geliştirdiği USCO 01 yerli gömülü sistem çalışmalarından etkilenerek bunu Arduinoya uyarladım.

Gomio nedir?

Gomio : Arduino platformlarında çalışan USCO 01 (Yerli gömülü sistem yazılımı) protokolünü temel alan gömülü sistem yazılımıdır.

USCO 01 gömülü sistem komutları ve seri iletişim paket yapısını içeren bir protokoldür.

Mehmet GÜVERDİK‘in geliştirdiği USCO 01 yerli gömülü sistem yazılımı ARM mimarili mikrodenetleyiciler ile oluşturulmuş TİVA kartlarını desteklemektedir.

Usco 01 protokolünün yaygınlaştırılması için diğer mikrodenetleyiciler ve platformlarda çalışabilecek gömülü sistem yazılımlarının kodlanması amaçlanmıştır.
Gomio bu çalışmanın sonucu olarak ortaya çıkmış ve ismini “Gömülü sistem” + “Arduino” +”io” kelimelerinden türetilerek almıştır.

Gömülü sistemin tanımı ve avantajları

Gömülü sistemler elektronik donanımlar ve yazılımlardan oluşan entegre bir yapıdır. Kullanıcı ile mikrodenetleyiciler arasında etkileşimi sağlayarak donanımı kontrol etmesi amaçlanır. Günlük hayatta kullandığımız “Akıllı” olarak anılan makinelerin elektronik altyapısı bu yazılımlar ile yönetilir.
Örneğin: evimizde kullandığımız çamaşır, bulaşık, fotoğraf, hesap makinesi gibi elektronik cihazlar gömülü sistem yazılımları sayesinde kullanıcının tercihine göre çalışır.

Gömülü sisteme örnek olarak bulaşık makinesini incelersek buton takımı veya potansiyometre ile yıkama şekli, zaman, ısı bilgilerini seçerek tercihimiz doğrultusunda çalışması sağlanır. Bu demektir ki kullandığımız araçların akıllı cihazlar olarak anılmasını sağlayan ve kullanıcıların işini kolaylaştıran gömülü sistemlerdir.

USCO 01 yerli gömülü sistemle hedeflenen şey mikrodenetleyiciye her yeni proje için tekrar program yazmadan bilgi toplama (giriş, çıkış kontrolü, analog/dijital okuma/yazma) işlemlerini gerçekleştirmektir.
Görsel programlama dilleriyle çeşitli platformlar için kodladığımız (Microsoft, Linux, Ios, Android gibi) yazılımlar gömülü sistemle iletişime geçerek istenen verileri arayüzde görüntüler.
Avantajları sıralayacak olursak:

  • Mikrodenetleyici için ayrı bir yazılım geliştirmeden gömülü sistem vasıtasıyla giriş ve çıkışlar yönetilebilir.
  • Görsel programlama arayüz yazılımları geliştirmeye odaklanmak kolaylaşır.
  • USCO 01 protokol standartlarına göre geliştirdiğimiz yazılımlar mikrodenetleyici tercihimiz değişse bile aynı şekilde çalışır.
    Arduino Uno, Arduino Nano, Arduino Mega, Tiva TM4C123G destekleniyor.

Gomio gömülü sistem komutları

Yukarıda USCO 01 standartlarına göre üretilmiş Gomio gömülü sistem komutları verilmiştir. Bu komutlar microdenetleyicinin istenen işlemleri gerçekleştirmesi için kullanılır. Her komutun işlevine dair örnek kullanımı gösterilmiştir. Kullanımları ile ilgili bu sitede bulacağınız tüm USCO 01 uygulama örnekleri Arduinoda da çalışır.

Gomio ile yapılabilecek çalışmaları video veya makaleler ile sonraki yayımlarda anlatmaya çalışacağız.

USCO 01 paket yapısı mikrodenetleyici ile görsel arayüz yazlımları arasında veri iletişiminin standartlaştırılması için oluşturulmuştur. Gömülü sistem komutlarından “aidi 1” işletildikten sonra mikrodenetleyici saniyede dört kez görsel arayüz yazılımına “analog giriş”, “dijital giriş”, “sıcaklık-nem”, “encoder”, “dijital çıkış” ve “saniye” bilgilerinin bulunduğu paket yapısını yollar. Görsel arayüz yazılımı ise gelen paketin içinden istenen bilgiyi çekerek arayüzde gösterir.
Kısaca paket yapısı:

  • Analog giriş x 8
  • Digital giriş x 2
  • Sıcaklık DHT11 üzerinden Sıcaklık ve Nem
  • Encoder x 2 (işlemci destekliyorsa)
  • Digital çıkış x 10
  • Saniye (İşlemcide dahili real time clock varsa)

USCO 01 için üretilmiş tüm arayüz yazılımları mikro denetleyici ile bu standart paket yapısı aracılığıyla iletişime geçer.

Gomio pin haritaları

Gomio gömülü sistem yazılımı için Arduino pin haritalarını aşağıdaki linklerden indirebilirsiniz.
Arduino kartlarından;

Arduino Uno : 8 Analog giriş, 2 Dijital Giriş, 5 Dijital çıkış, 3 Pwm çıkışı, 1 DHT11 bağlantı pini, 1 Buzzer pini
Arduino Nano : 8 Analog giriş, 2 Dijital Giriş, 5 Dijital çıkış, 3 Pwm çıkışı, 1 DHT11 bağlantı pini, 1 Buzzer pini
Arduino Mega : 16 Analog giriş, 2 Dijital Giriş, 45 Dijital çıkış, 3 Pwm çıkışı, 1 DHT11 bağlantı pini, 1 Buzzer pini

desteklemektedir.

Gomio gömülü sistem V1.0.0 yazılımını indir.

Gomio’yu nasıl Kullanırım?

Gomio’nun versiyonlamalarını github üzerinden takip edebilir. İlk kullanımı ile ilgili detaylı bilgiye ulaşabilirsiniz.
Githuba gitmek için görsele tıklayın.

Yaşar ETİ
Endüstriyel Otomasyon Öğretmeni