beagle bone black etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Beaglebone black ile ilgili daha önce neler yapılabileceğinden bahsetmiştik. Şimdi sizlerle beaglebone black ile geliştirmiş olduğum bir kontrol panelinden bahsetmeye çalışacağım.
Ürünümüzün adı OP-LIN :
op-lin açılım olarak linux based operating room control panel, yani linux tabanlı ameliyathane kontrol panelinin kısaltması olarak düşünüldü.
İşletim Sistemi?
Kullanıcı Arayüzü?
QT ile kullanıcı arabirimi oluşturuldu.C++ kullanılarak kütüphaneler yazıldı ve sistem kontrolü gpio pinlerin üzeriden sağlandı.
Nedir op-lin?
Op-lin günümüz ameliyathanelerde bulunan tüm ortam değişkenlerini kontrol eden bir gömülü kullanıcı arabirimidir.Neleri kontrol eder?
- Ortam ışıklandırmasını dimmer eder / açma kapama yapar.
- Ortam sıcaklık,nem,hava basıncı kontrollerini sağlar.
- Ameliyathane ile ilgili her türlü alarmı kontrol eder,kullanıcıyı uyarır,gerekirse mail atar.
- Üzerinde dokunmatik telefon modülü vardır ve handsfree telefon görüşmesi yapabilmenizi sağlar.
- Müzik yayın sistemi sayesinde ister internet radyolarını, isterseniz flash belleğinizdeki müzikleri ameliyathane içerisinde çalar
- Alarm ve ortam değişkenlerini raporlayarak ilgili birime mail atma gibi özellikleri üzerinde barındırmaktadır.
- Standart olarak saat ve kronometre bulundurmaktadır.
Ürün hakkında detaylı bilgi için OP-LIN tıklayınız
Ürün ve geliştirme süreci hakkında sorularınız için facebook sayfasında iletişime geçmekten çekinmeyiniz.
Merhabalar,
Bu yazımızda beagle bone black ile analog input pinlerini nasıl aktifleştireceğimizi ve değerleri nasıl okuyacağımızı anlatamaya çalışacağım.
İlk olarak analog okuma işlemi yapabilmemiz için pinlerimizi aktif duruma getirmemiz gerekiyor.Bunun içinde terminale
-echo cape-bone-iio > /sys/devices/bone_capemgr.*/slots
burada * yerine sizin capemgr id nizin gelmesi gerekir her sürümde ve ilgili sürümün kernelinde id değişmektedir.Benim yüklü sürümümde capemgr id değerim 8 yani ben analog pinlerimi
-echo cape-bone-iio > /sys/devices/bone_capemgr.8/slots
komutu ile aktif hale getiriyorum.Yeni sürümlerde id 9 dur.
Analog pinlerimizi aktifleştirdik.Gelelim analog değerlerimizi nasıl okuyacağımıza.Her yeni gelen angstrom sürümü ile birlikte analog değerlerin tutulduğu dosya farklılık göstermeye başladı.Bu yüzden analog değerlerimizin nerede tutulduğunu öğrenmek için sistemimizde bir arama gerçekleştireceğiz.
-find / -name *AIN*
Bu komut bize analog değerlerimizin olduğu dosyaları listeleyecektir.Benim analog değerlerimin olduğu dosyalar
/sys/devices/ocp.2/helper.14/AIN*
burada yine * yerine okunması istenen analog pin degeri (0-7 arasında) rakam olarak girilmektedir.
Gelelim analog değerimizi okumaya.İlgili analog pin değerimizi okumak için o analog pinin mensubu olduğu dosyayı okumamız gerekiyor.Bunun içinde cat komutunu kullanacağız.
-cat /sys/devices/ocp.2/helper.14/AIN*
Tekrar ediyorum burada * gördüğünüz yere okumak istediğiniz analog pin in numarasını girmeniz gerekiyor.
Analog pin bize 0 ile 1,88V arasında bir değer verir.Bu değerler aslında analog pinimize gelen voltajım mV cinsinden değeridir.Analog pinimiz 1,8V üzerindeki değerleri okuyamaz.Hatta ciddi miktarlarda bu eşik değerin aşılması kartımıza zarar vermemiz anlamına gelebilir.
Bu yazımızda beagle bone black ile analog input pinlerini nasıl aktifleştireceğimizi ve değerleri nasıl okuyacağımızı anlatamaya çalışacağım.
İlk olarak analog okuma işlemi yapabilmemiz için pinlerimizi aktif duruma getirmemiz gerekiyor.Bunun içinde terminale
-echo cape-bone-iio > /sys/devices/bone_capemgr.*/slots
burada * yerine sizin capemgr id nizin gelmesi gerekir her sürümde ve ilgili sürümün kernelinde id değişmektedir.Benim yüklü sürümümde capemgr id değerim 8 yani ben analog pinlerimi
-echo cape-bone-iio > /sys/devices/bone_capemgr.8/slots
komutu ile aktif hale getiriyorum.Yeni sürümlerde id 9 dur.
Analog pinlerimizi aktifleştirdik.Gelelim analog değerlerimizi nasıl okuyacağımıza.Her yeni gelen angstrom sürümü ile birlikte analog değerlerin tutulduğu dosya farklılık göstermeye başladı.Bu yüzden analog değerlerimizin nerede tutulduğunu öğrenmek için sistemimizde bir arama gerçekleştireceğiz.
-find / -name *AIN*
Bu komut bize analog değerlerimizin olduğu dosyaları listeleyecektir.Benim analog değerlerimin olduğu dosyalar
/sys/devices/ocp.2/helper.14/AIN*
burada yine * yerine okunması istenen analog pin degeri (0-7 arasında) rakam olarak girilmektedir.
-cat /sys/devices/ocp.2/helper.14/AIN*
Tekrar ediyorum burada * gördüğünüz yere okumak istediğiniz analog pin in numarasını girmeniz gerekiyor.
Analog pin bize 0 ile 1,88V arasında bir değer verir.Bu değerler aslında analog pinimize gelen voltajım mV cinsinden değeridir.Analog pinimiz 1,8V üzerindeki değerleri okuyamaz.Hatta ciddi miktarlarda bu eşik değerin aşılması kartımıza zarar vermemiz anlamına gelebilir.
Beaglebone black qt embedded kendi arayüzümüzü sistem olarak çalıştırma
16 Eylül 2014 Salı
Posted by MC
Merhabalar,
Bu yazımızda beaglebone black angstrom yazılımı üzerinde kendi sistemimizi çalıştırmayı anlatacağız.
Beaglebone black angstrom sürümü üzerinde toolchainlerle çalıştığımızda qt creator ile oluşturmuş olduğumuz programımızı -qws ile qt embedded üzerinde çalıştırdığımızdan daha önce bahsetmiştik.
Bunu yaparken de sistemimizin default sistem başlangıcını terminale
-systemctl disable gdm.service
daha sonra beagle bone komut ekranı ile karsımıza geldiginde ise qt embedded da oluşturmuş olduğumuz proje çıktımızı terminal üzerinden
-./proje_adı -qws
komutunu girerek çalıştrıyorduk.Bu yazımızda artık bu komutu girerek değilde kendi sistem açılışımızı oluşturarak beaglebone boot olurken projemizin açılış ekranı olarak çalıştırılmasını anlatacağız.
beaglebone black üzerinde terminalimizi açıyoruz. ctrl+alt+t kısa yoludur.
-cd /lib/systemd/system
kodunu girerek ilgili sistem klasorüne gidiyoruz
Bu sistem klasorü içerisinde kendi servisimizi oluşturmak istiyoruz.Girdiğimiz dosya konumunda kalarak
-nano proje_adı.service
Komutu ile proje_adı altında bir service oluşturmuş oluyoruz ve karşımıza bir dosya edit alanı açılıyor.İşimiz henüz bitmedi editör ekranında servis dosyamıza aşağıdaki satırları ekliyoruz.
[Unit]
Description=proje_açıklaması
[Service]
WorkingDirectory=/home/root/
ExecStart=home/root/proje_adı -qws
SyslogIdentifier=proje_adı
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Satırlarını ekledikten sonra editörümüzü kaydederek kapatıyoruz.
Burada ne yapık isterseniz onlardan bahsedelim
Description: çalışan işlemler alanında projenizin hangi isimle görüneceğini belirtir.
WorkingDirectory: projenizin yer aldığı alt klasör grubudur.
ExecStart: projenizin komut satırında nasıl başlatılacağının belirtilmesi gerekir
SyslogIdentifir: sisteminiz ile ilgili tutulan logların hangi isimle tutulacağı bilgisi girilir
Restart=sistemin hangi durumda tekrar başlatılması gerektiği bilgisi
RestartSec:Sistemin kaç saniyede bir tekrar başlama denemesi yapması gerektiği durumu
WantedBy:Servisimizin hangi kullanıcılar tarafından kullanılacağı bilgisi bi tüm kullanıcılara açmış olduk
İşlemlerimizi tamamladıktan sonra ilk olarak default sistemi yani gdm.service i kapatalım
terminalde
-systemctl disable gdm.service
akabinde terminalde olusturumus oldugumuz sistemi kullanılabilir duruma getirelim
-systemctl enable proje_adı.service
son olarak sistemi reboot ederek tekrar başlamasını sağlayalım
-reboot
Sistem tekrar boot olduğunda artık sizin projenizin arayüzü ile açılacaktır.
Bu yazımızda beaglebone black angstrom yazılımı üzerinde kendi sistemimizi çalıştırmayı anlatacağız.
Bunu yaparken de sistemimizin default sistem başlangıcını terminale
-systemctl disable gdm.service
daha sonra beagle bone komut ekranı ile karsımıza geldiginde ise qt embedded da oluşturmuş olduğumuz proje çıktımızı terminal üzerinden
-./proje_adı -qws
komutunu girerek çalıştrıyorduk.Bu yazımızda artık bu komutu girerek değilde kendi sistem açılışımızı oluşturarak beaglebone boot olurken projemizin açılış ekranı olarak çalıştırılmasını anlatacağız.
beaglebone black üzerinde terminalimizi açıyoruz. ctrl+alt+t kısa yoludur.
-cd /lib/systemd/system
kodunu girerek ilgili sistem klasorüne gidiyoruz
Bu sistem klasorü içerisinde kendi servisimizi oluşturmak istiyoruz.Girdiğimiz dosya konumunda kalarak
-nano proje_adı.service
Komutu ile proje_adı altında bir service oluşturmuş oluyoruz ve karşımıza bir dosya edit alanı açılıyor.İşimiz henüz bitmedi editör ekranında servis dosyamıza aşağıdaki satırları ekliyoruz.
[Unit]
Description=proje_açıklaması
[Service]
WorkingDirectory=/home/root/
ExecStart=home/root/proje_adı -qws
SyslogIdentifier=proje_adı
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Satırlarını ekledikten sonra editörümüzü kaydederek kapatıyoruz.
Burada ne yapık isterseniz onlardan bahsedelim
Description: çalışan işlemler alanında projenizin hangi isimle görüneceğini belirtir.
WorkingDirectory: projenizin yer aldığı alt klasör grubudur.
ExecStart: projenizin komut satırında nasıl başlatılacağının belirtilmesi gerekir
SyslogIdentifir: sisteminiz ile ilgili tutulan logların hangi isimle tutulacağı bilgisi girilir
Restart=sistemin hangi durumda tekrar başlatılması gerektiği bilgisi
RestartSec:Sistemin kaç saniyede bir tekrar başlama denemesi yapması gerektiği durumu
WantedBy:Servisimizin hangi kullanıcılar tarafından kullanılacağı bilgisi bi tüm kullanıcılara açmış olduk
İşlemlerimizi tamamladıktan sonra ilk olarak default sistemi yani gdm.service i kapatalım
terminalde
-systemctl disable gdm.service
akabinde terminalde olusturumus oldugumuz sistemi kullanılabilir duruma getirelim
-systemctl enable proje_adı.service
son olarak sistemi reboot ederek tekrar başlamasını sağlayalım
-reboot
Sistem tekrar boot olduğunda artık sizin projenizin arayüzü ile açılacaktır.
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,
Bu yazımızda beaglebone black uzerinde bulunan flash a nasıl yeni bir surum yukleneceginden bahsedecegiz
İlk olarak beaglebone sitesinden son guncel imaj dosyamızı indiriyoruz :
http://beagleboard.org/latest-images
Şimdi sıra kullandıgınız işletim sistemine göre farklılık gösterebilecek aşamamıza geldi indirdiğimiz imaj dosyasını en az 4 gb kapasiteye sahip bir micro sd karta yazmamız gerekiyor. İsterseniz format atma işlemimize adım adım başlayalım.Ben Windows işletim sistemine sahip bir bilgisayar üzerinden yazıma devam edeceğim.
1.Yukarıda belirtmiş oldugum siteden beaglebone için son surum angstrom yazılımını indirdik
2.Bir sıkıstırma programına ihtiyacımız var.Bunun için 7zip gibi bir program işinizi görür.Lakin indirdigimiz sıkıstırılmıs dosyanın içerisindeki imaj dosyasını cekmede kullanacagız
3.Sıkıstırılmıs dosyamızı acarak icerisinde imaj dosyamızı alalım
4.Bu imaj dosyasını micro sd karta yazma işlemi için ben win32 disk imager kullanacagım http://sourceforge.net/projects/win32diskimager/files/latest/download adresinden indirebilirsiniz.
5.Sd kartımızı bilgisayarımıza yerlestirdik ve win32 disk imager yardımı ile imaj dosyamızı sd kart içerisine yazdık.
6.Hazırladıgımız micro sd kartımızı gucu acık olmayana beaglebone black sd kart yuvasına yerlestirdik.
7.beagle bone black urununu enerjilendirmeden once ethernet portunun yanında bulunan boot butonuna basılı tutuyoruz ve beagle bone u enerjilendiriyoruz.Ne zaman ki beagle bone black onunde bulunan usr ledlerinin 4 u de yandı o zaman boot butonundan parmagımızı cekiyoruz.
8. 4 ledin yandıgını gorene kadar luften 7. adımı tekrarlayın
9.Hersey yolunda giderse yaklasık 25-30 dk sonra flash boot tamamlanacaktır.Tamamladıgında ise usr ledlerinin 4u de aynı anda yanık kalacaktır. Sd kartımızı artık cıkarabiliriz.
10.boot işlemi tamamladıktan sonra beaglebone u tekrar baslatarak artık son surum angstrom yazılımı ile kullanmaya baslayabiliriz.
Bu yazımızda beaglebone black uzerinde bulunan flash a nasıl yeni bir surum yukleneceginden bahsedecegiz
İlk olarak beaglebone sitesinden son guncel imaj dosyamızı indiriyoruz :
http://beagleboard.org/latest-images
Şimdi sıra kullandıgınız işletim sistemine göre farklılık gösterebilecek aşamamıza geldi indirdiğimiz imaj dosyasını en az 4 gb kapasiteye sahip bir micro sd karta yazmamız gerekiyor. İsterseniz format atma işlemimize adım adım başlayalım.Ben Windows işletim sistemine sahip bir bilgisayar üzerinden yazıma devam edeceğim.
1.Yukarıda belirtmiş oldugum siteden beaglebone için son surum angstrom yazılımını indirdik
2.Bir sıkıstırma programına ihtiyacımız var.Bunun için 7zip gibi bir program işinizi görür.Lakin indirdigimiz sıkıstırılmıs dosyanın içerisindeki imaj dosyasını cekmede kullanacagız
3.Sıkıstırılmıs dosyamızı acarak icerisinde imaj dosyamızı alalım
5.Sd kartımızı bilgisayarımıza yerlestirdik ve win32 disk imager yardımı ile imaj dosyamızı sd kart içerisine yazdık.
6.Hazırladıgımız micro sd kartımızı gucu acık olmayana beaglebone black sd kart yuvasına yerlestirdik.
7.beagle bone black urununu enerjilendirmeden once ethernet portunun yanında bulunan boot butonuna basılı tutuyoruz ve beagle bone u enerjilendiriyoruz.Ne zaman ki beagle bone black onunde bulunan usr ledlerinin 4 u de yandı o zaman boot butonundan parmagımızı cekiyoruz.
8. 4 ledin yandıgını gorene kadar luften 7. adımı tekrarlayın
9.Hersey yolunda giderse yaklasık 25-30 dk sonra flash boot tamamlanacaktır.Tamamladıgında ise usr ledlerinin 4u de aynı anda yanık kalacaktır. Sd kartımızı artık cıkarabiliriz.
10.boot işlemi tamamladıktan sonra beaglebone u tekrar baslatarak artık son surum angstrom yazılımı ile kullanmaya baslayabiliriz.
İlk olarak armv7 için java embedded sürümünü indiriyoruz
ejre-7u60-fcs-b19-linux-arm-vfp-sflt-client_headless-07_may_2014.tar.gz
Sonrasında host pc mizde sftp kullanarak gz uzantılı dosyamızı beagle bone black içerisine yolluyoruz.
3. adımımızda ise kendimize bir yükleme dosyası olusturarak indirdigimiz dosyayı içne yolluyoruz
root@beaglebone:~# uname -a
Linux beaglebone 3.8.11 #1 SMP Wed May 8 07:34:27 CEST 2013 armv7l GNU/Linux
root@beaglebone:~# cd
root@beaglebone:~# ls
Desktop ejre-7u45-fcs-b15-linux-arm-vfp-sflt-client_headless-26_sep_2013.gz
root@beaglebone:~# mkdir /usr/java
root@beaglebone:~# mv ejre-7u45-fcs-b15-linux-arm-vfp-sflt-client_headless-26_sep_2013.gz /usr/java
root@beaglebone:~# cd /usr/java
root@beaglebone:/usr/java# ls
ejre-7u45-fcs-b15-linux-arm-vfp-sflt-client_headless-26_sep_2013.gz
root@beaglebone:/usr/java#
4. Adımımızda arsivimizi cıkarıyoruz
root@beaglebone:/usr/java# tar xzf ejre-7u45-fcs-b15-linux-arm-vfp-sflt-client_headless-26_sep_2013.gz
root@beaglebone:/usr/java# ls
ejre-7u45-fcs-b15-linux-arm-vfp-sflt-client_headless-26_sep_2013.gz
ejre1.7.0_45
5. Adımda ortam değişkenlerimizi oluşturuyoruz
root@beaglebone:/usr/java# export PATH=$PATH:/usr/java/ejre1.7.0_45/bin/
root@beaglebone:/usr/java# export JAVA_HOME=/usr/java/ejre1.7.0_45/
6. Adımda ise yüklememizi kontrol ediyoruz yüklememiz doğru ise yüklü olan java sürümünü bizlere verecektir
root@beaglebone:/usr/java# java -version
java version "1.7.0_45"
Java(TM) SE Embedded Runtime Environment (build 1.7.0_45-b15, headless)
Java HotSpot(TM) Embedded Client VM (build 24.45-b08, mixed mode)
root@beaglebone:/usr/java#
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.
beagle bone black ve raspberry pi
1 Şubat 2014 Cumartesi
Posted by MC
Tag :
beagle bone black,
raspberry pi
Eğerki sıkı bir programcı ya da iyi bir elektronik meraklısı iseniz su sıralarda isimlerini sıkca duyuyor olmalısınız. 2 adet kendisi minik ama işlevleri büyük pc Raspberry pi ve Beaglebone
İlk yazımızdan önce sizlerle sunu paylasmak isterim Mühendislikte en iyi ürü diye birsey yoktur arkadaslar senin ihtiyaclarını karsılayan en ekonomik ürün vardır.İlerleyen zamanlarda projelerimiz oldukca bu konuyu daha detaylı ve ince ayrıntılarına kadar sizlerle paylasacagım
gelelim asıl olan yazımıza nedir bu Raspberry pi ve Beaglebone aralarındaki farklılıklar nelerdir?
Firmalar gün gectikce daha ucuz maliyetli ve tum kullanıcıların rahatlıkla kullanabilecegi ve platformlar üzerinde gelistirmeler yapabilecegi mini pc leri piyasaya surmeye basladılar.Aslına bakarsanız bu mini pclere yabancı degiliz guncelik hayatta kullandıgımız her cihazda hemen hemen 1 veya daha fazlası var
internete baglanırken kullandıgımız rooter dan tutun,camasır makinesine kadar ancak bunlar belirli bir amac için özellesmis pclerdir ve sadece o amaca hizmet ederler mudahale etme sansımız yoktur sadece etkilesim içerisine girer ve kullanırız.
ister kendi smart tvnizi yaratın,ister ev otomasyon sistemi kurun sabit ip verin web serverınız olsun ve daha neler neler
bu cihazlar ve biraz donanım ve yazılım bilginizle neler yapabilecegiz birazda sizin hayal dunyanıza kalmıs zamanla ortak projelerimiz elektrolog üzerinden surdurecegiz merak etmeyin
gelelim aradaki farklılıklara
işlemci performansları:
bu asamada beagle bone raspberry pi den nerdeyse 2 kat daha hızlı
kurulum kolaylıgı:
sunu belirtelim raspberry pi kullanıcıyı kurulumda sıkabiliyor neden? hali hazırda on yuklu bir isletim sistemi ile gelmiyor (android,ubuntu vb.) ubuntu on yuklu bir sd kart ile gelen beagle bone sadece usb ile bilgisayarınıza baglanarak calısabiliyor
görüntü performanları:
raspberyy pi bu konuda beagle bone a fark atıyor 1080p cozunurluk desteklerken opengl uygulamalarını render etmesini yanında bazı oyunları da acabiliyor doom oynayını gormuslugum var crysis denemeyin hayal kırıklıgına ugramayım
ancak beagle bone bu konularda biraz geri kalmıs 1080p desteklemiyor add on ile hdmi cıkıs versede
baglantılar:
mühendislikte en önemli kısma geldik baglantılar.Bir cihaz ne kadar fazla baglantı içerirse bu bize o kadar farklı platformları bir arada kullanabilmemize imkan sagla bu konuda beagle bone raspberry pi ye fark atıyor
beagle bone baglantıları:
3 I2C buses
CAN bus
SPI bus
4 timers
5 serial ports
65 GPIO pins
8 PWM outputs
7 analog inputs (1.8V max 12 bit A/D converters)
raspberry pi baglantıları:
8 GPIO pins
1 UART interface
1 SPI bus
1 I2C bus
gelelim en önemli konulardan birine eklenti eklenebilirliği,bu konu neden onemlidir cunku bir muhendis için bir cihaz belirli bir sure sonra yetersiz kalacaktır bu durumda eklentirler devreye girer ve cihaz daha fazla nokta ya da farklı cihazların entegrasyonuna olanak saglayacaktır beagle bone ve raspberry pi bu konuda cok farklılıklasıyorlar lakin raspberry pi arduino ile 400 farklı sekilde shield ile entegre olabiliyor peki bu durumda ben arduino ile genisletebiliyorsam minik bögürtlenimi neden bögürtlen alayımki arduino dururken (arduino sipari verdim yakında elimde olur :D)
beagle bone eklentileri :
Breadboard, prototype, and breakout capes – kendi devre tasarımlarınızın entegrasyonu
DVI cape – DVI monitor baglantısı
VGA cape – VGA monitor baglantısı
HDMI cape –micro-HDMI baglantısı
LCD capes – lcd ekran baglyabiliyorsunuz minik pc nize
Camera cape – 3,1MP kamera eklentisi lcd ekran be birkac tusla kendi el kameranızı bile yapabilirsiniz deneriz mutlaka
Audio cape – ekstra ses giris cıkısı almanızı saglar
Motor cape – 8 adet 500mA dc motoru calıstırabilirsiniz
Battery cape – batarya genisleme paketi
gelelim hayati noktaya piyasa ve internet kaynak miktarları
bu konuda raspberry pi gercektende fark atıyor ucuz olması ve erisim kolaylıgından olsa gerek internet uzerinde muazzam kaynaklara sahip zamanla buradan paylasırız
fiyat olarak ise sanırım işlemci farkından kaynaklanan bir fark var
raspberry pi - 35$
beagle bone black- 89$
fiyatlar yurt dısı fiyatları olup basic modeller için gecerlidir hatırlatalım
gelelim sonucumuza
özetle her elektronikcinin ve programcının elinde olması gereken 2 üründen bahsettik bugun ürü farklılıkları ortada sizin ihtiyacınız dogrultusunda birini almanız size cok buyuk fayda saglayacaktır
ihtiyacını belirten arkadaslara ürün secimi konusunda yardımcı olabilecegimizi belirtir bir sonraki yazımızda yeniden gorusmek isteriz
Yazar: Caner ÇAKAR