qt programming etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Merhabalar,
Bu yazımızda beaglebone black içerisine qt içinde c++ yardımı ile kullanabilecegimiz gpio kutuphanesinin kurulumdan bahsedecegiz.
ilk olarak beagle bone a root olarak baglanarak
komutunu kullanarak derek molloy un olusturmus oldugu bone device tree indiriyoruz.
Bu yazımızda beaglebone black içerisine qt içinde c++ yardımı ile kullanabilecegimiz gpio kutuphanesinin kurulumdan bahsedecegiz.
ilk olarak beagle bone a root olarak baglanarak
root@beaglebone:/lib/firmware# export SLOTS=/sys/devices/bone_capemgr.9/slots
root@beaglebone:/lib/firmware# export PINS=/sys/kernel/debug/pinctrl/44e10800.pinmux/pins
komutlarını girerek sırası ile slot ve pinlerimizi acıyoruz
root@beaglebone:/lib/firmware# echo $SLOTS
/sys/devices/bone_capemgr.9/slots
root@beaglebone:/lib/firmware# echo $PINS
/sys/kernel/debug/pinctrl/44e10800.pinmux/pins
yukarıda girdigimiz slots ve pins komutları ile dogru yerde oldugumuzu dogruluyoruz
cihazımızın bize girdigimiz $SLOTS komutundan sonra slotları,$PINS komutundan sonra ise pinlerimizi döndürmesi gerekir.
Sonrasında sistemimizde var olan giriş çıkış arabirimlerini kontrol ediyoruz
root@beaglebone:~/temp# cat $SLOTS
0: 54:PF---
1: 55:PF---
2: 56:PF---
3: 57:PF---
4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
5: ff:P-O-L Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
yukarıda görüleceği üzere sistemimizde var olan 6 adet arabirim bulunmakta 4 ve 5. ara birimler dikkat edilecegi uzere hdmi ve flash a ayrılmıs bulunmakta sonraki adımlarımızda 6. arabirim olarak kendi gpio kutuphanemizi ekleyecegiz.
Sırada sistem değişkenlerini olusturmak var
xport SLOTS=/sys/devices/bone_capemgr.9/slots
Yukarıda da gördügünüz üzere arabirimlerimizden birine kendi gpio (DM-GPIO-Test) birimimiz eklendi.
export PINS=/sys/kernel/debug/pinctrl/44e10800.pinmux/pins
export CURL_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
not(capemgr ce pinmux degerleriniz farklılık gösterebilir kodlarınızı tab a basarak tamamlayınız örnek olarak benim kodlarım
bone_capemgr.8
44e10800.pinmux)
ssl sertifikalarını da ayarlayalım
root@beaglebone:~# . ~/.profile
root@beaglebone:~# echo $CURL_CA_BUNDLE
/etc/ssl/certs/ca-certificates.crt
Sıra geldi DeviceTree mizi yuklemeye
root@beaglebone:~/boneDeviceTree/overlay# ls -al
total 16
drwxr-xr-x 2 root root 4096 Jun 6 23:59 .
drwxr-xr-x 6 root root 4096 Jan 1 2000 ..
-rw-r--r-- 1 root root 1129 Jun 6 23:56 DM-GPIO-Test.dts
-rwxr-xr-x 1 root root 124 Jun 6 23:29 build
root@beaglebone:~/boneDeviceTree/overlay# more ./build
#!/bin/bash
echo "Compiling the overlay from .dts to .dtbo"
dtc -O dtb -o DM-GPIO-Test-00A0.dtbo -b 0 -@ DM-GPIO-Test.dts
root@beaglebone:~/boneDeviceTree/overlay# ./build
Compiling the overlay from .dts to .dtbo
root@beaglebone:~/boneDeviceTree/overlay# ls -al
total 20
drwxr-xr-x 2 root root 4096 Jun 6 23:59 .
drwxr-xr-x 6 root root 4096 Jan 1 2000 ..
-rw-r--r-- 1 root root 952 Jun 6 23:59 DM-GPIO-Test-00A0.dtbo
-rw-r--r-- 1 root root 1129 Jun 6 23:56 DM-GPIO-Test.dts
-rwxr-xr-x 1 root root 124 Jun 6 23:29 build
root@beaglebone:~/boneDeviceTree/overlay# cp DM-GPIO-Test-00A0.dtbo /lib/firmware
lütfen DM-GPIO-Test-00A0.dtbo testini kesinlikle atlamayınız....
root@beaglebone:~# cd /lib/firmware/
root@beaglebone:/lib/firmware# cat $SLOTS
0: 54:PF---
1: 55:PF---
2: 56:PF---
3: 57:PF---
4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
5: ff:P-O-L Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
root@beaglebone:/lib/firmware# echo DM-GPIO-Test > $SLOTS
root@beaglebone:/lib/firmware# cat $SLOTS
0: 54:PF---
1: 55:PF---
2: 56:PF---
3: 57:PF---
4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
5: ff:P-O-L Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
6: ff:P-O-L Override Board Name,00A0,Override Manuf,DM-GPIO-Test
root@beaglebone:/lib/firmware#
Merhabalar Arkadaşlar,
Bu yazı ile baslayacak olan ve sonraki bir kac hafta ilerleyen yazı dizileri ile birlikte sizlerle Qt creator ile beagle bone black üzerinde nasıl kullınıcı arayuzu olusturabileceğimizi işleyeceğiz
Bu yazımız qt creator ın hazırlanmansı ve gerek host pc mizin gerekse qt platformunun kurulumunun anlatımından oluşacaktır. Yazımız sırası ile
1.Qt creator nedir?
2.Qt creator ın host pc ye ve beagle bone black üzerine kurulumu
İlk olarak sizlerle Qt creator nedir? nasıl kullanılır bundan bahsetmek istiyorum.
1.Qt creator nedir?
Qt Creator arka planda c++, java script kodlarının koştuğu Qt geliştirme platformunun SDK sının bir parçasıdır. İçerisinde Görsel olarak kullanıcı arayuz tasarımları yapabilecegiz bir platformun yanı sıra, size bunu canlı olarak debug ederek uygulamınızın gercek zamanlı işleyisini gösterir. Can alıcı noktası ise c++ ve java script alt yapısı sayesinde tüm platformları desteklemesidir. (Android,linux,Ios,Windows) Zaten bizim için Qt creator ı cazip kılan özelliği de bu.
Neden Qt Creator?
Beagle bone black linux yazılımlarından olan Angstörm ile karsımıza gelmektedir.Qt creator da linux platformunu destekleyen ve güçlü c++ yapısı ile bize cok cazip olanak saglamaktadır.
2.Qt creator ın host pc ye ve beagle bone black üzerine kurulumu
Öncelikle şunu belirtelim beagle bone black platformunun içinde angström ile gelmesi bizimde host pc mizin linux tabanlı olmasını gerektirmez. Qt creator ı istersek windows üzerinde de kullanabiliriz. Ancak gercek zamanlı testlerimizde göreceğimiz hatalar Windows tabanlı hatarla olacagından beagle bone uzerinde yaptgımız yazılımın ne denli çalısacagını ön göremeyiz arkadaslar.
Sizlere tavsiyem her zaman hedef platformla (Android i burada ayrı tutuyorum) host platformunuzu aynı formda tutmanız.Windows olarak Qt creator uzerinde linux uygulamaları gelistirmek istiyorsanız da sizlere tavsiyem Virtual Machine (sana makine) üzerinde linux ile çalışmanız daha saglıklı sonuclar verecektir.
Yazıma host pc nin ya da kullandıgınız Virtual Machine in linux olması varsayımından devam ediyorum :
Qt creator ı indirmek için : https://qt-project.org/downloads adresinden son versiyonu elde edebilirsiniz
Qt creator ı indirdik. Linux uzerinde paketleri derlemek ve yuklemek biraz sıkıntılı olabiliyor.Şimdi adım adım Qt creator linux hostumuza yukleyelim :
ctrl+alt+t diyerek terminali actıktan sonra Qt creatorı indirdigimiz klasore gidiyoruz
chmod +x qtsdkinstaller.run (qtsdkinstaller kısmına indirdigimiz dosya adını yazıyoruz)
dosyaya gerekli izinleri atadık
./qtsdkinstaller.run (gtsdkinstaller yerine yine indirdigimiz dosya adını yazıyoruz)
yukleme dosyamızı actık
karsımıza windowstan da alısık oldugumuz bir yukleme ekranı cıkacak adımları takip ederek kurulumu tamamlıyoruz.
sıra geldi beagle bone üzerinded qt kurulumu
Genellikle beagle bone uzerinde terminal kullanımı sıkıntılıdır hele ki buyuk bir monitore baglı degilse.Ben uzak baglantı programı olan Putty kullanıyorum indirmek isteyen arkadaslara linki
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
putty i açtık beagle bone black i usb ile host pc mize bagladık sonrasında putty i actık burada yapmamız gereken beagle bone un ip sini girerek root olarak baglanmak
Neden root ile baglanıyoruz?
Gerekli sistem değişikliklerine iznimiz olması acısından root olmamız kacınılmaz arkadaslar
Root olarak baglandıktan sonra
terminale : opkg update yazıyoruz
angströmün güncelligini kontol ettikten sonra
sırası ile
opkg install qt4-embedded --force-depends
opkg install libqtcoree-dev libqtguie-dev
komutlarını terminale girerek qt nin beagle bone üzerinde kurulumunu tamamlamıs oluyoruz
akabinde terminale reboot komutunu girerek beaglebone u bastan baslatmak isteyebilirsiniz.
Sıra geldi en önemli adımlardan birine ToolChain kurulumu
Toolchain nedir?
toolchain beagle bone için gelistirdigimiz yazılımın host pc mizdeki derleyicinin beagle bone a gore derleme işlemini saglayan derleyici parcamızdır.
Kısa bir Linux bilgisi :
Linux ortamında gelistirdigimiz her yazılımın aslında bir make file ı olmak durumundadır.Bir yazılımın linux ortamında calısır hale gelebilmesi için Executable formda olması ve Executable olabilmesi için de makefile uzerinden make komutu ile pc de derlenmesi gereklidir
Linux uzerinde make komutunu arastırırsanız bununla ilgili detaylı bilgilere ulasacaksınız.
Peki bizim beagle bone tool chainimiz ne yapacak?
Her linux dagıtımı kendi içerisinde bir qmake komutu yani bir makefile uretici ile gelir biz ise beagle bone tool chain yukleyerek hostumuzda qmake2 komutu altında beagle bone black için bir make file olusturucu tanımlamıs olacagız daha sonra bu uretilen make file ı make komutu ile executable hale getirdikten sonra beagle bone içerisine atıp calısabilir hale getirmis olacagız.
beagle bone black tool chain : https://4fe835f16ae6b3c2724bb430809c585acf3bdc3c.googledrive.com/host/0B3Z340LOBulvMG5NRmNlZEppSEE/
indirdikten sonra asagıdaki komutu terminale girerek sıkıstırılmıs dosyadan cıkarın
tar -C / -xjf angstrom-2011.03-i686-linux-armv7a-linux-gnueabi-toolchain-qte-4.6.3.tar.bz2
sonrasında ise terminale
./qt-creator-linux-x86_64-opensource-2.8.0.run
komutunu girerek yukleyebilirsiniz
yuklemenin dogru olup olmadıgını terminale qmake2 komutunu girerek ogrenebilirsiniz
yuklemeniz dogru ise karsınıza aynı qmake komut bilgilerinde oldugu gibi bilgiler gelecektir
Yazı dizimizin bir sonraki bölümünde ilk uygulamamızı olusturup beagle bone black içerisinde calıstıracagız.