Kayıtlar

2017 tarihine ait yayınlar gösteriliyor

Raspberry Pi ile Konuşacak Sensörden Gelen Verileri Loga Yazdıran Character Device Driver Uygulaması

Resim
Raspberry Pi Nedir? Raspberry Pi İngiltere' de Raspberry Pi Vakfı tarafından okullarda bilgisayar bilimi öğretmek amacılığıyla geliştirilmiş kredi kartı büyüklüğünde bir bilgisayardır. Fiyatı modeline göre değişiklik gösterir ve 5$ ile 35$ arasındadır. Biz bu uygulamamızda Raspberry Pi 3 modelini kullandık. Raspberry Pi, ilk modellerinde ARM1176JZF-S 700MHz CPU içeren Broadcom BCM2835 kullanmıştır. VideoCore IV GPU grafik işlem birimine sahiptir. Booting ve veri depolaması için SD kart kullanır. Üzerinde USB 2.0 portları, HDMI video çıkışı, ses çıkışı, MIPI kamera girişi, GPIO arayüzü ve 5V MicroUSB güç girişi bulunmaktadır. Biz de bu yazımızda yapacağımız uygulama için GPIO arayüzü ile Pir Sensor (Hareket Sensörü) kullanacağız. Raspbian (Debian Wheezy tabanlı), Pidora (Fedora tabanlı), Snappy Ubuntu Core gibi işletim sistemlerini destekler ve vakfın web sitesinden indirilebilir. Günümüzde IoT cihazlarının sayısı ve popülaritesi arttıkça Windows 10 gibi sık kullanılan iş...
Resim
Klavye Ledlerini Yakıp Söndüren Character Device Driver Uygulaması Nedir Bu Character Device Driver ? UNIX' de devicelar iki kategoriye ayrılır. Character device'lar ve Block Device'lar. Block device' lar bazı programlar karakterler halinde okuma/yazma yapabilseler de bu işlemi bloklar halinde yapabilirken; Character Device'lar klavyeler ve seri portlar gibi yalnızca karakterler halinde okuma/yazma yapabilirler. UNIX' in güzelliği bu aygıtların dosya olarak tutulmasıdır. Hem Character Device'lar hem de Block Device'lar, /dev dizininde ilgili dosyalar tarafından temsil edilir. Bu da open, close, read ve write gibi standart sistem çağrılarıyla bu dosyaları işleyerek cihazları okuyabileceğimiz ya da içerisine yazma işlemi gerçekleştirebileceğimiz anlamına gelir.  Bu yazımızdaki örnekte de klavye sürücüsü içerisine yükleyeceğimiz bir modül sayesinde klavye ledlerini yakıp döndüreceğiz. Peki Linux Hangi Dosyala Hangi Cihazla İlişkili Bunu Nas...

Linux Dört İşlem Yapan Proc Uygulaması

Resim
Proc Dosya Sistemi Nedir ? /proc bir sanal dosya sistemi olduğu için çok özeldir. İşlem bilgisi psüdo-dosya sistemi olarak da anılır. 'Gerçek' dosyalar bulundurmaz fakat sistem bilgisi (örn. sistem hafızası, bağlı cihazlar, donanım konfigürasyonu, vs.) bulundurur. Bu sebepten dolayı çekirdek için bir kontrol ve bilgi merkezi olarak düşünülebilir. Aslında, bir çok sistem bu dizindeki dosyalara çağrı yapar. Örneğin; 'lspci' komutu 'cat/proc/pci' komutunun eş anlamlısıyken, 'lsmod' komutu 'cat/proc/modules' ile aynıdır. Bu dizindeki dosyaları düzenleyerek sistem çalıştığı anda çekirdeğin parametereleri okunup düzenlenebilir. İlk önce ödev_grup adında bir klasör oluşturduk.Daha sonra içerisinde bir C dosyası oluşturarak aşağıdaki kod bloklarını yazdık. /*calculator.c - /proc dizini içerisine yalnızca dört işlem gerçekleştirebilen bir proc dosyası yaratan program */ #include <linux/kernel.h>                       ...
Resim
L inux K ernel M odülü P rogramlama          Linux tabanlı işletim sistemlerinde yüzlerce hazır modüller vardır. Örneğin defaultta yüklü olarak gelen donanımlara ait sürücüler(driver) gibi…Bunlar dışında bir modül de geliştirilip eklenebilir veya ihtiyaç olmadığı anda modül kaldırılabilir.         Modüllere özgü “insmod , rmmod , modprobe, lsmod ,modinfo “ gibi komutlar vardır. Bu yazımızda kullanıcıdan alınan 2 sayıyı toplayıp Kernel ekranına yazdıran bir modül oluşturacağız. Öncelikle modüllerimizi bulunduracağımız bir klasör oluşturmalıyız. Bunun içinde mkdir yazıp klasör adını girelim. Daha sonra cd yazıp klasörün adını yazarak klasörün içine giriş yapıyoruz. Aynı işlemi bir kez daha yapıp bu sefer toplama işlemi yapacağımız bir klasör açalım ve içine giriş yapalım.    gedit  Toplam.c yazarak toplama işlemini yaptıracağımız metin dosyasına giriş yapalım. Daha sonrasında resimdeki gibi kodumuzu yazalım....