Omega2

Onion Omega2 Motor Sürücü Kartı [PCBWAY]


Merhaba arkadaşlar bu yazımda omega2 için hazırladığım , motor sürücü kartından bahsedeceğim. Hatta gözümden kaçan eksiklerden de bahsedip bir şekilde kart hazırlamak ve bu başlığa gelecek arkadaş için de kılavuz olur. Onion Omega nedir diyenler için şuraya bakmalarını tavsiye ederim.

Sürücü olarak l298p çipini tercih etmiştim , paket olarak powerso20 olarak görebilirsiniz google üzerinde aratırsanız. Entegre de akım sınırlama gibi özellikler mevcut kullanmak isterseniz , 2 motor sürebiliyorsunuz ve kanal başına 2Amper verebilmekte sürekli olarak. Ancak içerisinde dahili diyot bulunmadığı için , çift yönde motor sürmek için diyot devresini sizin eklemeniz gerekiyor.

Şematik :

Capture

Şematik üzerinden kaçırdığım bir kaç noktada bahsedeyim , eğer akım sınırlamak istiyorsanız ISEN_A , ISEN_B pinlerini direnç üzerinden toprağa bağlamanız gerekmekte , şayet böyle bir şey yapmayacaksınız benim gibi boşta bırakmak yerine toprak hattına bağlamak zorundasınız , ben kartlar geldikten sonra bağlantıyı gerçekleştirdim.

İkinci olarak iki tane not kapısı mevcut , bunun amacı kullancının sadece 2 tane input kontrolü yapmasını istemem. In1’ın logic durumunu tersleyip in2’ye giriyorum şematikten görebileceğiniz üzere.Yine aynı şekilde In3’ün logic durumu terslenip In4’e giriliyor. Step motoruda sadece 2 input ile kontrol edebiliyorsunuz bu şekilde.   Entegre 2 adet beslemeye ihtiyaç duyuyor bir tanesi VSS , diğeri VS.

VSS -> logic durumu seçmek için kullanılabilecek

VS -> bağladığınız harici kaynak

Diyotlar hızlı anahtarlama yapabilmesi açısından shottky sma paketinde seçilmiştir.

Capture.PNG

Kartları pcbway üzerinden ürettirdim. 9gün içerisinde Fedex kargo ile geldi. Toplamda 11 adet pcb kargosu ile birlikte 33dolar tuttu. Şu anda satılabilir mi bir halde derseniz bence değil bir revizyon daha gerekiyor diyebilirim. Besleme voltajı regüle edilip omeganın çalışması için enerji sağlanması gerek. Revizyonları hazırlamadan dosyaları github üzerinden paylaşmam çok anlamlı olmaz galiba . Ancak incelemek isteyen arkadaşlara bana vvolkanunal@gmail.com adresinden ulaşabilirlerse  dosyaları gönderebilirim.

Bir kartın dizilmesi not kapıları hariç , 38tl’ye geldi , malzemeleri karaköyden toplayıp testini gerçekleştirdim. Malum dolar , ninemin don lastiğinden  daha gevşek hareket ediyor.

Omega power dock , expansion dock header düzeni  için hazırladığım diptrace kütüphanesini buradan indirebilirsiniz.

 

https://www.pcbway.com/  ‘ u protitipleriniz için kullanabilirsiniz.

Youtube Monitor via Omega2+


Bugün omega2+ , expansion shield ve oled shield kullanarak bir youtube monitor nasıl yapabilirize bakacağız.

Öncelikle neden omega2+ kullanıyoruz.Bildiğiniz gibi omega2 de sadece 16mb flash alanı bulunuyor.Ve bu alan bizim için çok yeterli bir alan değil , zaten kartın gömülü yazılımdan dolayı geriye 6-7mb bir alan kalıyor.Bu alana gerekli modülleri kurmaya çalıştığımızda sistem de yer kalmadığı için hata alıyoruz.Bu yüzden 32mb flashı bulunan omega2+ kullanacağız.Ayrıca sd kart ile sistemi genişletebiliyorsunuz.

Eğer Nedir bu Omega derseniz aşağıda ki videoyu izlemenizi tavsiye ederim.

Uygulama da expansion shield kullanacağız bu nedir derseniz şu videoyu izleyebilirsiniz.

Şimdi gelelim asıl işimize , sistem nasıl çalışıyor derseniz , google apisi kullanarak bir istek yapıyoruz ve bu isteğe cevap olarak json datası dönüyor ,bu datayı parçalıyor ve istediğimiz veriyi alıyoruz.

Uygulamayı yapmak için öncelikle https://console.developers.google.com adresinden youtube için bir key ediniyorsunuz (Data API olan) .

Ardından youtube hesabınızdan Youtube Kanal Kimliğinizi cebinize koyun.Haydin gerekli modülleri kuralım.

Sistemi güncel haline getirdikten sonra gerekli modüllerin kurulumu yapıyoruz.Ek olarak gps de mevcut kurulumda belki ilerde kullanırsınız

opkg update
opkg install python3 python-light python-urllib3 pyOledExp pyOmegaExpansion oled-exp ogps

Daha sonra yeni bir çalışma dosyası açalım.

vi /root/youtubetest.py

Burada bir tavsiye vermek gerekirse ,tarayıcınız üzerinden değil , ssh ya da port üzerinden omeganıza erişim sağlayın.Tarayıcı çok başarılı değil hele terminal kısmı gerçekten can sıkıcı.Örneğin “?” işaretini yazamıyorsunuz , nedense.

Şimdi gerekli kütüphanelerimizi ekleyelim.

from OmegaExpansion import oledExp
import urllib
import time
import json

Ekranımız için hazırlık

oledExp.setVerbosity(0)
oledExp.setTextColumns(10)
oledExp.driverInit()

name=raw_input("Enter username: ")  --Kanal Kimliğini girmeniz gereken yer.
key = "Google Dev. üzerinden aldığınız youtube key "

Ve sistemin döndüğü kısım , bir istek yapıyoruz ve istek sonucunda bir json data dönüyor , ben abone sayımı ve görüntülenme sayımı kullandım dönen datalardan.

Ben ekran başlangıcında youtube resmini yerleştirdim , bunun için tarayıcınızdan onion console girip , orada oled kontrol üzerinden resmi ekleyin ve resmi kaydetmeniz gerekmekte.İsterseniz o satırı silebilirsiniz.

while(1):

data = urllib.urlopen("https://www.googleapis.com/youtube/v3/channels?part=statistics&id="+name+"&key="+key).read()
subs = json.loads(data)["items"][0]["statistics"]["subscriberCount"]
view=json.loads(data)["items"][0]["statistics"]["viewCount"]
status = oledExp.drawFromFile("/root/image.lcd")
time.sleep(1)
oledExp.clear()
oledExp.write(" Youtube Monitor")
oledExp.setCursor(1,0)
oledExp.write("===================")
oledExp.setCursor(3,0)
oledExp.write("Abone Sayisi:"+subs)
oledExp.setCursor(4,0)
oledExp.write("Goruntulenme:"+view)
time.sleep(1)
oledExp.clear()

Alabileceğiniz hatalardan bazıları şunlar ;

Bad Request hatası – > isteği yanlış yapıyorsunuz demek , yaptığınız isteği  tarayıcı da deneyin bakalım , data dönüyor mu dönmüyor mu diye.

List index out of range -> isteği yine yanlış yapıyorsunuz dönen datada istediğimiz kısımlar yok demek

Socket Hatası -> Omega2 internete bağlı  değilse bu hatayı alıyorsunuz demek.

Eğer normal bir text  editörüne sahip değilseniz kodları kaydedip çıkmak için

Önce ” ESC ” ardından ” :wq ” girip “Enter” yapabilirsiniz.

Kodlar python2 ‘ye göre yazıldığı için.(Çünkü oledExp modülü ne yazık ki python3 de çalışmıyor desteği yok )

Çalıştırırken python  /root/youtubetest.py demeniz yeterli.Daha sonra size kullanıcı adınızı soracaktır.

Capture

python3 /root/youtubetest.py yaparsanız şayet oledExp modülünü tanımadığı için hata verecektir.

Eğer boot attıktan sonra çalışmasını istiyorsunuz bunun için , bash dosyası hazırlayıp

/etc/rc.local içerisinde çağırmanız gerekiyor.Şöyle bir durum var ki boot yaklaşık 50-60 saniye sürüyor.Bu süre zarfından internet bağlantısı olmadığı için scriptinizi çalıştıramıyorsunuz.Bunun için 20saniye bekleme koymanız gerekiyor scripti çağırmadan önce.Buna da bir sonra ki yazımız içerisinde değineceğiz 🙂

Herkese iyi çalışmalar.

Omega2 Fabrika Ayarlarından Sonra IMAGE yükleme işlemi


Omega2 kartınızı bir şekilde fabrika ayarlarınza döndürdünüz diyelim  sonrasında browser üzerinden 192.168.3.1 yazdınız o da ne ? Şöyle bir görsel çıktı karşınıza.

indir

Şimdi gelelim image yükleme işlemini nasıl yapacağımıza ;

1-)Öncelikle putty gibi bir program ile ssh ya da serial üzerinden omega2’nin bağlantısı sağlayın.
2-)Ardından internet bağlantısını gerçekleştirin.
3-)http://repo.onion.io/omega2/images/ siteye giderek gerekli imaj dosyasının bağlantısı kopyalayın.(Örnek: http://repo.onion.io/omega2/images/omega2-v0.1.9-b159.bin)
4-)Konsola gelin ve tmp klasörü içerisine girin ( cd tmp)
5-)wget komutu ile repoya gidelim ( wget http://repo.onion.io/omega2/images/omega2-v0.1.9-b159.bin)
imza yetkisi için bekleyin
6-)Ardından “sysupgrade omega2p-v0.1.5-b135.bin” ile kurulumu başlatın( 2-3dk arası sürüyor , omega2p-v0.1.5-b135.bin , dosya ismi sizin wget ile girdiğiniz repoya göre farklılık gösterecektir.)
7-)Artık 192.168.3.1 ile browser üzerinden omega2’ye ulaşabilirsiniz.

Umarım birilerine faydalı olmuştur 🙂 Keyifli çalışmalar.