Category Archives: Gömülü Sistemler

Developing Realsense Application on UP Squared Board

Install Ubuntu 16.04:

Flash the image on a USB stick and install on Up2 Board.

Update the system:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

At this point I received some errors like:

W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_14.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver8_7.bin for module i915

I installed the missing firmware files which I downloaded from https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915.

sudo cp kbl_guc_ver9_14.bin /lib/firmware/i915 
sudo cp bxt_guc_ver8_7.bin /lib/firmware/i915

 

sudo update-grub && sudo reboot

# verify that you have a supported kernel version (4.4.0-.., 4.8.0-.., 4.10.0-.. , 4.13.0-..or 4.15.0-.. as of May 2018)
uname -r

 

Install CMake

Download the source code from https://cmake.org/download/.

./bootstrap
make
make install

 

Install OpenCV

# To build
sudo apt-get install build-essential 
sudo apt-get install git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

# To process images:
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

# To process videos:
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev

# For GUI:
sudo apt-get install libgtk-3-dev

# For optimization
sudo apt-get install libatlas-base-dev gfortran pylint

# To build for Python2 and Python3
sudo apt-get install python2.7-dev python3.5-dev
wget https://github.com/opencv/opencv/archive/3.4.0.zip -O opencv-3.4.0.zip

wget https://github.com/opencv/opencv_contrib/archive/3.4.0.zip -O opencv_contrib-3.4.0.zip

sudo apt-get install unzip
unzip opencv-3.4.0.zip
unzip opencv_contrib-3.4.0.zip

cd  opencv-3.4.0
mkdir build
cd build

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.4.0/modules -DOPENCV_ENABLE_NONFREE=True ..


# Build
# Up2 Board has 2 cores
make -j2

# Install in the location /usr/local using command
sudo make install

# Reinitialize static libs using the following command
sudo ldconfig

Build librealsense

sudo apt-get install git libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev

git clone https://github.com/IntelRealSense/librealsense

cd librealsense
sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/ 
sudo udevadm control --reload-rules && udevadm trigger 

# patch the kernel
./scripts/patch-realsense-ubuntu-lts.sh

# Build
mkdir build && cd build
cmake ../ -DBUILD_EXAMPLES=true -DBUILD_CV_EXAMPLES=true

sudo make uninstall
make clean
make -j2
sudo make install

Install QtCreator:

wget http://download.qt.io/official_releases/qt/5.7/5.7.0/qt-opensource-linux-x64-5.7.0.run

chmod +x qt-opensource-linux-x64-5.7.0.run
./qt-opensource-linux-x64-5.7.0.run

sudo apt-get install libfontconfig1

Launch Qt Creator

 

Resources:

 

TODO:

  • Check why OpenCV was not built for Python3.
  • Configure QtCreator

Bitbake ile Intel Edison için Yocto İmajı Hazırlamak

Intel Edison Yocto Linux yüklü gelmektedir. Edison için Yocto imajını Intel’in sitesinden indirmek mümkün olduğu gibi kendimiz de yeni imaj hazırlayabiliriz. Bunun için Bitbake kullanılır.

Continue reading

Tagged , , , ,

Gigabyte IoT Gateway BIOS Güncelleme

Gigabyte BXBT-3825 IoT Gateway cihazında Wind River 7 işletim sistemini çalıştıramıyordum. WR Linux yüklü USB diskten boot etmek istediğimde “reboot and select proper boot device or insert boot media in selected boot device and press a key” hatası alıyordum.

Denemelerden sonra bu cihaz üzerinde Windows 7 ve Debian çalıştırabildiğimi gördüm ve cihazda donanım sıkıntısı olmadığından emin oldum. Üstelik, Gigabyte’da boot etmeyen WR Linux imajı Advantech UTX-3115 cihazında çalışıyordu.

BIOS versiyonu F1 görünüyordu. Gigabyte’ın destek sitesinde F1’in 32bit; F3’ün 64bit işletim sistemlerini desteklediğini öğrendim. F3 BIOS yazılımını indirdim ve Windows içinden çalıştırmaya çalıştım. Bu sefer de “bu program DOS modunda çalıştırılabilir” hatası aldım.

Bunun üzerine Rufus‘u kullanarak boot edilebilir bir FreeDOS USB disk hazırladım. İçine Gigabyte’ın sitesinden indirdiğim BIOS yazılımını kopyaladım. Cihazı bu diskten çalıştırdım ve Flash.bat komutunu çalıştırdım.

 

Güncelleme:

Şurada da farklı bir BIOS güncelleme tekniği buldum:

https://software.intel.com/en-us/node/629035

https://software.intel.com/en-us/node/674961

The LightBlue Bean

Bugün bir Kickstarter projesi olarak başlayan “The LightBlue Bean” cihazını test etme fırsatı buldum. 2 bozuk para büyüklüğündeki cihazın üzerinde hem Atmega328 hem de bir sürü sensör var. Arduino uyumlu olduğu için programlaması da çok kolay. Fiyatı biraz yüksek (30$) olsa da bu özelliklerdeki bir cihaz için makul. Saat piliyle çalışıyor. Ve en ilginç özelliği hiçbir kabloya ihtiyaç duymuyor. Tamamen Bluetooth bağlantısı üzerinden programlanıyor! Hatta Android ve iPhone uygulamaları kullanılarak mobil cihazlardan da programlamak mümkün.

Özellikleri şöyle:

  • Atmega 328p (328 MHz)
  • Bluetooth Low Energy (BLE)
  • 3-eksenli ivme-ölçer
  • Sıcaklık sensörü
  • RGB LED
  • 6 dijital I/O, 2 analog output
  • Mac, Windows, iOS, Android uyumlu

LightBlue Bean

LightBlue Bean

 

 

Raspberry Pi’a Android yüklemek

Raspberry Pi için Android’in güncel sürümleri hala port edilmedi. Ben de mecburen 2.3 versiyonuyla deniyorum. En az 4GB’lık bir SD karta Win32 Disk Imager programını kullanarak CyanogenMod 7.2 (custom Android ROM for Raspberry Pi) imajını yazdım.

Performansı …

Arduino Shield’leri

arduino_megashield_5

Arduino’yu donanımınıza bağlamak için geliştirilmiş yüzlerce shield’den birisini kullanabilirsiniz. Pek çoğu açık kodlu olarak sunuluyor.

http://shieldlist.org/
http://playground.arduino.cc/Main/SimilarBoards

Zeka Küpü Çözücü

Lego Mindstorms ile yaptığım zeka küpü çözücü. Mekanik için David Gilay’in Lego’nun sitesinde yayınlanan Mindcuber‘ını baz aldım. Yazılımı sıfırdan kendim yapıyorum.

Beagleboard için Kernel Derlemek (Cross-Compile)

www.kernel.org’dan 3.7.2’yi indirdim ve aşağıdaki adımları takip ettim.

http://gumstix.org/basic-cross-compilation.html

http://mtyndalluf.wordpress.com/2011/07/24/cross-compiling-the-linux-kernel-for-the-beagleboard/

Tagged

Real-time Ne Demek?

http://veter-project.blogspot.in/2011/09/real-time-enough-about-pwms-and-shaky.html

Beagleboard’u Elektronik Devreye Bağlamak

Beagleboard’u üzerindeki GPIO (General Purpose Input Output) portları sayesinde elektronik cihazlarınıza bağlayabilirsiniz. Ancak dikkat etmek gereken çok önemli bir nokta var. Beagleboard’un giriş-çıkışları 1,8V’tur.

Standart 3,3V veya 5V’luk bir devre elemanına bağlamadan önce seviye çevirici bir devre kullanmalısınız. Bunu yapmak için hazır devreler olsa da Türkiye’de bulmak çok kolay değil. Örneğin Beagleboard Trainer çok güzel bir karta benziyor. Ama şimdilik işimi görecek bir devreyi kendim yapmaya karar verdim.

Şunlardan yararlanacağım:
http://playground.arduino.cc/Main/I2CBi-directionalLevelShifter
http://husstechlabs.com/support/tutorials/bi-directional-level-shifter

Tagged