5 Temmuz 2018 Perşembe

ORANGE PI PYTHON İLE GPIO KONTROLÜ

Orange Pi Python ve Python ile GPIO Kontrolü

Blogda  şuana kadar Orange pi kullanımı üzerine yazılar paylaştım. Bazı yazılar orange pi' den ayrı bir linux öğretisi gibi dursa da amacımı Orange pi' yi elimize aldığımızda az çok yapısını bilelim ve bir şeyler geliştirmeye başlayalım.

Orange pi hem bir  bilgisayar hem de elektronik bir karttır. Biz bu blogda her iki taraf ile alakalı da uygulamalar yapacağız.Hem  Nas, Openhab2 ile ev otomasyonu, Media center gibi uygulamalarla  bir sunucu, depolama aygıtı, bir bilgisayar gibi kullanacağız  hem de gpio pinlerini kullanarak bir trafik lambası , klima ile ev sıcaklığını kontrol etme gibi uygulamalar yapacağız. Şuan daha çok elektronik tarafa ağırlık veriyorum. Fakat ilerleyen zamanlarda bu blogdan birçok uygulamaya ulaşacaksınız.

Daha önceki yazılarımızda C kütüphanesi ile gpio pinlerini kullanmıştık. Şimdi Python kütüphanesi ile gpio pinlerini kullanacağız.Öncesinden bilmemiz gerekenler şu şekildedir:
  • Python
  • Pip
  • Git

PyPI nedir?

PyPI, Python topluluğu tarafından geliştirilen ve paylaşılan bir yazılım deposudur. Python paketleri yazan kişiler yazılımlarını dağıtmak için PyPI sitesini  kullanıyorlar.

Pip nedir?

Pip, Python' daki paketleri indirmemizi ve kaldırmamızı sağlayan bir paket yöneticisidir. PyPI' daki paketleri rahatça pip komutu ile indirebilir ve kurabiliriz.

Git nedir?

Git bir versiyon kontrol sistemidir. Git, yazdığımız kodları, projeleri internet üzerinde tutmamızı ve yönetmemizi sağlayan bir kontrol sistemidir. İstersek internet üzerinden projelerimizi başkalarıyla paylaşabilir veya başkasının projelerine katkıda bulunabiliriz.

Python-dev nedir?

Python-dev, Oython uzantılı dosya oluşturmak için gerekli olan tüm başlık dosyalarını içeren bir pakettir.

Güncellemeleri kontrol edelim:

sudo apt-get update&&upgrade

Şimdi sırasıyla Python' ı ve gpio pinlerini kullanmak için gerekli olan kütüphaneyi indirip kuralım.

sudo apt-get install python

sudo apt-get install python-dev

sudo apt-get install python-pip

sudo apt-get install git




Daha sonra gpio pinlerini Python ile kontrol etmek için gerekli olan kütüphaneyi indirelim.


Zero modelleri için :

git clone https://github.com/nvl1109/orangepi_zero_gpio.git

Diğer modeller için :

git clone https://github.com/duxingkei33/orangepi_PC_gpio_pyH3.git

Elinizdeki modele göre bu kütüphaneleri indirdikten sonra yükleme işlemine geçiyoruz.

cd orangepi_PC_gpio_pyH3

sudo python setup.py install





Şimdi ilk uygulamamızı yapalım. Burada pin atamalarını yaparken bilmemiz gereken gpio pinlerinin adlandırmasının farklı olaması.Pin isimleri şu şekildedir.



İlk uygulama için orangepi_PC_gpio_pyH3/examples dizinindeki örnekleri kullanalım. Örneğin orangepi_PC_gpio_pyH3/examples dizinindeki " blink.led.py" dosyasına bakalım.



Koda baktığımızda kütüphane tanıtımlarından kısaca bahsedelim. "time" ve " pyA20.gpio" kütüphaneleri kullanılmış. Daha sonra PA12 portuna led ismini atamış. Biz burada bir değişiklik yapalım. PA12 portu Orange pi' de SDA pinine denk geldiği için biz 7.gpio pini olan PA6 portuna led ataması yapalım. Daha sonra led portu çıkış olarak belirlenmiş. Sonra olarak da ledin bir süre yanık bir süre sönük kalmasını sağlamak için  porta değer atama ve bekleme işlemleri kullanılmış.

Bu örnekte basit olarak kod yapısını görmüş olsak da ilerleyen yazılarımızda detaylı olarak bir proje dosyasına yazılan her bir satırı açıklamasını öğreneceğiz. Farklı farklı sensörlerle uygulamalar yapacağız. Şimdi 7.gpio portuna bağlı olacak şekilde bir blink led devresi kuralım. Bu devrede niye direnç kullandığımızı bu yazımızdan öğrenebilirsiniz.



Kodumuzu her zaman root(kök) kullanıcı olarak çalıştırmak zorundayız.

sudo python blink_led.py

Kod çalışmasını durdurmak için ise CTRL-C tuş kombinasyonunu kullanabiliriz.





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.

Kaynakça:


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...