Banana Pi Kullanımı,Yapılabilecekler ve Kimler almalı


Günümüzde meraklı, araştırmacı ve geliştirmeyi seven bilgisayar kullanıcılarının dikkatini çeken ve kolaylık sağlayan kartlardan biri olan ve ucuzluğu ile kullanıcıların ilgisini çeken Banana Pi den bahsedeceğiz.

Bu kartı kimler almalı ?

Bu kartı daha önceden linux üzerinde uğraşmış , el becerisi ve problem çözme yetisi normal kullanıcılardan bir tık daha iyi ve İngilizce araştırma yapmayı bilen oradaki kodları yorumlayabilen arkadaşlar alırlarsa kartla ilgili pek sorun kalmaz. 🙂 Raspberry pi den farkı kitlesi oldukça az ve yazılan programlar tam uyumlu değiller. Raspberry pi de bir sorunla karşılaştınız da sorununuzun çözümünü bulabilirsiniz fakat banana pi için bu pekte geçerli değil. İlk defa böyle bir geliştirici kartı işine girecekseniz ve gerçektende uğraşacaksanız ilk hedefiniz raspberry pi olsun. Yok ben daha önce hiç bu kartlara bulaşmadım bilgisayarda sadece windows kullandım linux bilgim yok derseniz bulaşmayın. Bu kartla sadece nas için yada web sunucusu gibi sunucu programları ile uğraşacaksanız o zaman raspberry pi yada banana pi sizin için bir farkı kalmayacaktır.

Cihazın genel özellikleri , artıları ve eksileri …

Cihaz Allwinner A20 SOC kullanıyor. Arm Cortex A7 çift çekirdek , Mali 200 GPU ve 1 GB DDR3 ram bulunuyor. İşlemci bakımından günümüzün Raspberrypi 3 den neredeyse %50 yavaş diyebiliriz. Raspberry pi 3 üzerinde dahili Wifi ve Bluetooth alıcısı , 4 adet USB girişi 100 Megabit Ethernet bulunuyor. Banana pi de dahili bluetooth ve wifi yok 2x usb ve 1x otg var fakat 1000 Megabit Ethernet ve Sata 2 portu bulunuyor. Buda Nas sistemi veya medya sunucu yapmak için kesinlikle raspberry pi den daha iyi bir seçenek olduğunu gösteriyor. Banana pi üzerinde hassasiyeti oldukça iyi olan bir mikrofon ve kızılötesi alıcıda bulunuyor. Raspberry Pi dekine benzer ve wiringpi destekli pinler bulunuyor. Bu pinler her ne kadar basit işler için (led kontrolü) raspberry pi kütüphanesi kullanılabilse de FM radyo gibi daha karmaşık durumlarda kullanılamıyor.

Cihaz ile bazı yapabilecekler.

  • Dosya paylaşımı için NAS sunucusu .
  • Güvenlik kamerası.
  • Müzikleriniz çalabileceğiniz uzaktan kontrol edilebilen Jukebox sistemi.
  • Kendi kişisel blog sitenizi barındıracak bir web sunucusu.
  • Rygel ile medya ve DLNA paylaşımı.
  • Kendinize ait vpn destekli router (Linki güncelledim. 3 senedir banana pi birisini bunun için kullanıyorum)

Cihaz kullanımı için gerkli olan temel araçlar

  • 1 adet 5v 2A çıkışı olan bir adaptör
  • Hız sıkıntısı yaşamamak için uhs1 destekli minimum 8GB SD kart (Uzun kullanımlar sonucunda Toshiba önermiyorum bad sector oluşuyor sandisk te herhangi bir problem yaşamadım)
  • İnternet bağlantısı ve Cat6 UTP (Ethernet) Kablosu
  • SD kartınıza veri yazabilmek için SD kart okuyucu (laptoplarda genelde dahili olarak bulunuyor)

Cihaz üzerinde hem kendi sitesinde bulunan hem de başka geliştiriciler tarafından geliştirilmiş olan işletim sistemlerini test ettik .Bu yazıyı yazmadan önce sd kart çöplük olana kadar  2. banana pi de teker teker deneme yaptık  .  Kendi sitesinde bulunan imajlar genelde 2014 ve 2015 yılından kalma güncel olmayan imajlar. Bu tip kartlar için işletim sistemi üreten armbian ise oldukça güncel ve yeterli. Cihazınızı sunucu olarak kullanacaksanız ve hiçbir monitöre bağlamayacaksanız Server versiyonundan Mainline xenial seçeneğini öneririz. Televizyona bağlayacaksanız , normal bir bilgisayar gibi kullanacaksanız Desktop versiyonundan Legacy seçeneğini öneririz.
Mainline versiyonunda gpu desteği yok ve gpu ya bellek ayrılmıyor bu yüzden 1 gb belleğin tamamını sunucu işlemlerinde kullanabilirsiniz. Legacy versiyonu GPU desteği bulunuyor ve hdmi üzerinden ses çıkışı sağlayabiliyorsunuz. İşletim sistemi linki
İsteğinize göre olan img (imaj dosyası) indirdikten sonra win32 disk imager ile sd kartımıza yazıyoruz.

Win32 Disk İmager kullanımı

Cihaza SSH ile bağlanacaksak bilgisayarımıza bir SSH clienti indiriyoruz. Windows kullanıyorsanız benim tavsiyem Putty üzerinden geliştirilmiş olan ve daha fazla özellik barındıran Kitty olacaktır. Modem ara yüzünde bağlı cihazlar kısmından ip adresini bakıyoruz ve ssh ile bağlanıyoruz . Kullanıcı adımız root parola 1234 ilk girişte sizden tekrar bu parolayı isteyecek, sonrasında yeni bir parola isteyecek ve yeni bir kullanıcı oluşturacak .Eğer cihazımızı bir ekran (monitör yada TV) bağladıysak parolamızı yazmadan önce bir kere numlock basarak numlock aktif edin. Yeni parola oluştururken de Türkçe harfle ve  . , * – i içermeyen bir parola belirlediğinize emin olun.
SSH ile bağlıyken nano ile bir metin düzenlerken numpad de  sıkıntı yaşarsanız keypad mode kapatın . Rehberi
Cihazınızı TV ye bağladınız ve ip adresini öğrenmek isterseniz terminalden sudo ifconfig eth0 yazın.
Cihazı masaüstü oramında kullanırken Türkçe klavye sıkıntısı yaşıyorsanız teminali açın ve ardından setxkbmap tr komutu yazın yada ayarlardan klavyeyi Türkçe seçin .

Cihazınızı hdmi ile bağladınız ve Desktop Legacy versiyonu kullanıyorsunuz fakat hdmi üzerinden ses alamıyorsanız ses simgesine sağ tıklayarak hdmi çıkışını gerçekleştirebilirsiniz yada terminalden sudo pacmd set-default-sink alsa_output.platform-sunxi-sndhdmi.0.analog-stereo komutunu yazabilirsiniz.

Cihazınızın ekranına uzaktan (telefon, tablet yada PC) üzerinden erişmek istiyorsanız VNC Server kurarak bunu gerçekleştirebilirsiniz.
VNC server nasıl kurulacağını anlatan rehber

Cihazınızı bir monitöre bağladınız ve masaüstünde fazladan klavye fare istemiyor yada laptop olduğu için usb klavye fareniz yoksa synergy ile bunu çok rahat gerçekleştirebilirsiniz.
Synergy Klavye Fare paylaşımı kurulum rehberi

Cihaz üzerinde gpio pinlerini kullanabilmeniz için gpio pinlerinin sürücüsünü banana pi yükleminiz gerekiyor. Bu yükleme işlemini sizler için biraz basitleştirmeye çalıştık. Aşağıda bulunan kodları Banana Pi yazarak kurulumu başlatabilirsiniz.


wget https://raw.githubusercontent.com/AhmetOZER/some-tools/master/linux/bananapi/dijitaller-gpio-installer.sh --no-check-certificate
chmod 755 dijitaller-gpio-installer.sh
./dijitaller-gpio-installer.sh

Genel olarak cihaz çok derin olamayan elektronik işler için kullanılması , üzerinde bulunan sata ve 1000Mb Ethernet ile diğer cihazlara oranla mükemmel bir nas performansı alabiliyorsunuz. Bu cihazla internette gezinmek için alıyorsanız akıllı tv nin web tarayıcısını kullanmak daha sorunsuz ve hızlı olacaktır. LibreOffice çok büyük olmayan belgeleri ve dosyaları düzenleyebilirsiniz. Bu cihazı Medya player olarak kullanmak saçma ve yetersiz olacaktır. Bizim denemelerimizde Video çok da akıcı bir şekilde oynatamadığını gördük (benim gibi 1 fps düşünce sinir olanlardansanız 😀 ) . Sıkıştırılmış videolar ise izlenemeyecek durumda. Videoyu cihazdan izlemek yerine DLNA ile smart tv de oynatmanız daha mantıklı olacaktır. Ayrıca Çok fazla dosya indiren yada upload eden ve odada ses istemiyorsanız Transmission ile torrent dosyalarınızı indirebilirsiniz.
Banana Pi GPU video testi Big Buck Bunny. İlk dosya mp4 1920×1080 https://peach.blender.org/download/  –  ikinci dosya http://www.divx.com/en/devices/profiles/video DivX HD1280x720

Merak ettiğiniz bir nokta , karşılaştığınız bir sorun yada istediğiniz bir rehber varsa bize yorumlar kısmından iletebilirsiniz.


Dijitaller'in Sunucu ve Ağ altyapısını kuran, düzenleyen. Genel olarak teknoloji ve bilim ile uğraşmayı severim . Detaylı bilgi için https://ahmetozer.org. Lütfen sorularınızı Dijitaller.com Yorumlar veya Twitter üzerinden iletin.

43 Yorum

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

  1. ahmet bey merhaba,
    makalenizin yardımı ile banana pi yi nas sunucu olarak kurdum.
    buna sata portundan 2.5 hdd bağlayıp kullanmayı düşünüyorum ancak smb.conf dosyasında path kısmını hdd ye göre nasıl düzenleyeceğimi bilemedim?
    bu cihaz hdd yi kendi gücü ile besleyebilir mi?
    son sorumda uzaktan erişimi mümkün olabilen torrent istemcisi varsa onu kurmak isterim.
    vakit ayırıp cevaplarsanız sevinirim.
    iyi çalışmalar dilerim.

    1. Sata portundan sadece veri akışı olacağından HDD nize dışarıdan güç vermeniz gerekecektir. Ben kendim 3,5 inç hdd bağlarken eski power supply kullanıyordum.
      Torrent için bir rehber hazırlamam iyi olacaktır. Sadece torentti kurmanız yetmeyecek evden uzakta kullanmakta önemli 🙂
      dosya konumu (path) konusunda da öncelikle diski cihazınıza bağlamanız gerkiyor ardından mount komutu ile diskin bölümlerini dosya konumlarına bağlamak gerekir. Bunu her seferinde terminalden yapmak uğraştırıcı olacaktır. Vaktim olursa onun içinde uğraşırım . Mount önemli çünkü torrent kullanan kullanıcılar dosyaları usb yada hdd kaydedicekler

    2. o zaman torrent konusunu merakla bekliyorum. cihaza hdd bağlayarak torrent’ten indirdiklerimi nas özelliği ile başka yerlerde kullanabilme olayı süper olacak.

  2. Ahmet bey merhaba,
    Elinizde vpn destekli router image mevcutmu
    Komutlarla kurmak istiyorum ama kurulum bir turlu gerceklesmiyor. Mumkunse image linki gonderirmisiniz.
    Birde hangi cihaz onerirsiniz su anda raspberry pi3 b+ mevcut ama ben bir tane sirf bu vpn router kullanmak icin cihaz ariyorum. Sizin oneriniz ne olur?
    Iyi calismalar dilerim.

    1. Merhaba. Kendi oluşturduğum bir distro var şuanda birçok özelliği destekliyor. Elimde banana pi olduğu için şuanda sadece banana pi için image oluşturabildim elimde mağlesef raspi yok. Raspi için normal debian dağıtımıda kullanabilirsiniz. içine vpn kurmanız ve gerekli gateway ayarlarını yaparsınız tüm trafik raspi den geçer. Trafik ayarları için örnek olarak https://www.dijitaller.com/linux-ile-ag-takibi/ rehberine bakabilirsiniz.

  3. Merhaba Ahmet bey,
    Elinizdeki image icin link paylasabilirmisiniz? Birde hangi banana almami onerirsiniz? BIrcok banana pi mevcut piyasada siz hnagisini almami tavsiye edersiniz?

    Kolay gelsin

    1. Merhaba şuan için imajı çeşitli nedenlerle yükleyemiyorum. Müsait olduğum bir zaman yorumunuza geri dönüş yapacağım. Beklettiğim için kusura bakmayın.

    2. Oluşturduğum imaj https://drive.google.com/file/d/1vCSKt3xx32j0NCjuapMW5JexNxM1GiwC/view?usp=sharing
      Performans odaklı oluşturulmuştur. ip adresi 10.0.0.5 dir. modemin ip adresini 10.0.0.3 olarak ayarlayın ve dhcp kapatın bananapi dhcp yi üstlenecektir.
      /white-door/config/ içinde sistem için yazılmış ayarlama yazılımın dosyalarına erişebilirsiniz. Diğer linux ayarlarına yine /etc/ üzerinden erişebilirsiniz.
      sistemin varsayılan kullanıcı adı root parola toor dur.

  4. Slm usta,
    Benim bananpi geldi senin image attim. Simdi ustam dhcp olarak bundan ip aldi bunu eth1 nasil taniticam benim usb eth adaptor var onu gostermek istiyorum. Sonrada cihazdan eth1 uzerinden routere vermek istiyorum. Bunu nasil yapabilirim? eth0 uzerinden 10.0.0.5 aldi ama bunu nasil paylastirabilirim bunu tam anlamadim. Yardimci olurmusunuz.

    iiyi calismalar

    1. USB ethernete ihtiyacınız yok. Cihaz üzerindeki gigabit arayüz üzerinden aynı anda in out yapabilirsiniz.
      Büyük ihtimal elinizdeki usb adatör bu imaj üzerinde çalışmayacaktır. ifconfig -a yaptığınızda herhangi eth1 yada usb0 gibi bir ibare görmeyeceğinizi düşünüyorum.
      Evdeki sistemi paint üzerinde mümkün olabildiğince detaylandırarak çizerseniz ona göre yorumlayabilrim.
      Modem ip si eve gelen hat türü modem dhcp modunda mı yoksa pppoe mi …

  5. Oncelikler tesekkur ederim. Fritzbox fiber modemden dhcp modunda cihaza geliyor. Peki nasil in en out yapabiliyorum bunu sonucta tek kablo giriyor. Bana resim atma sansiniz varmi? Modemden giren kaplo geri nasil gonderiyor tekrar hangi ayarlari yapmam gerekiyor?
    Selamlar

    1. Merhaba. Resimden anladığım kadarıyla bir tane olt cihazı var ve buradan F/O iletişim Ethernet dönüştürülüyor. UTP kablosu modeme bağlı ve DHCP modunda . Türkiyedeki gibi PPPOE değil.
      Bu durumda yapmanız gereken bananapi de ip route add default via dev eth0 metric 250 komutunu girmek olacaktır. modem ip adresini <> işaretleri olmadan girin. cihaz internet erişimini sağlayacaktır.
      daha sonrasında ise cihazın içine ovpn dosyanızı atın . Bunu filezilla ile yapabilirsiniz sftp://10.0.0.5 şeklinde cihaza bağlanın dosyayı /etc/openvpn/ içine atın fakat atmadan önce masaüstünde ismini server.conf olarak değiştirin.

      openvpn /etc/openvpn/server.conf komutunu çalıştırın ve outputu buraya atın ayrı bir pencerede de yeni bir ssh bağlantısı açın ve ip route komutu yazıp sonucu resim olarak yükleyin.

  6. Ustat tesekkurler oldu galiba.
    https://resmim.net/f/OCprYI.png
    https://resmim.net/preview/OCprYI.png
    Simdi hocam bazi komutlari girmem gerekiyor acilis mesela
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    bunu her yeniden baslatmada girmek istemiyorum. Nereye girmem gerekiyor devamli aktif olmasi icin. Hangi komut gerekli?
    Birsey kurmak icin hangi komut gerekiyor galiba bu debian tabanli degil tam olarak.
    BIrde wlan ile baglandigim vpnden ip almiyor. wlan baglantilari icin ayri bir ayarmi girmem gerekiyor?

    Kolay gelsin selamlar

    1. Merhaba cihazın içinde kendi yazdığım firawall kontrol sistemi var . nano /white-door/config/interfaces.txt dosyasına girin ve alttaki kodları ekleyin.
      eth0 1 1 0 0
      tun0 1 1 0 3
      tap0 1 1 0 3

  7. Merhaba usta,
    Wlanda su anda vpnden aldi. Cok tesekkurler yardiminiz icin. Normalde 150mb olan hiz 30 lara dustu bu normalmi acaba? Hizi yukselmenin bir yolu varmidir normal internet 150mb down en 150 up ama 30 dan fazla yukari cikmiyor vpn acikken.
    Birde kurma komutlarini yazarsaniz sevinirim. Gercekten cok yardim ettiniz tesekkur ederim.

    Kolay gelsin

    1. gördüğüm kadarıyla tun kullanıyorsunuz vpn sisteminiz tap destekliyor ise tap kullanın ve bağlantı tcp değil udp olsun.
      İsterseniz bazı sistemlerin trafiğini vpn den değil direk bağlantıdan çıkarabilirsiniz veya x bilgisayarı vpnden çıkmasın, veya csgo vpn den çıkmasın gibi ayarlar ekleyebilirsiniz.

  8. Ustam cok tesekkurler. Peki bu belirli bilgisayarlar vpnden digerleri direk olarak cikmak icin hangi ayarlari nerden yapabilirim
    Birde burda iki tane vpn kullanma sansim varmi?

    selamlar

    1. Merhaba. birden fazla vpn kullanabilirsiniz istediğiniz pc istediğiniz vpn den de çıkarabilirsiniz. Kendi işlerimden vakit bulamıyorum ben en iyisi konu ile ilgili bir dökümantasyon hazırlayım. Şuan için yoğunum belki hafta sonu nasıl yapılacağını yazarım.

  9. Ustat sabirsizlikla bekliyorum. Bana nasil iki vpn calistirabilir bunu pc gore nasil ayirabilirim bir ornekle gosterirseniz cok memnun olurum.

    Saygilar

    1. Kusura bakmayın çok yoğunum rehberinizi yazamadım daha. Uzun bir yapılacaklar listem var bunları yapmaya çalışıyorum süre sınırı olanları öne çekmem gerkiyor.

      Kısaca anlatayım ikinci ovpn dosyanızı /etc/openvpn içine atmanız gerekiyor ve bunun da çalışması lazım ama normal koşullarda ikiside default route replace etmeye çalışacağından 3 ihtimal oluşacak. 1 i default route exist diyip 2 route çalışmaz. 2 durum iki gateway sayar ip yada paket bazında (nexthoop ise ip bazında) iki vpn de kullanabilir 3 durum 1 vpn bağlantısı 2 vpn den geçmeye çalışır ve kopmalar olup vpnler sürekli olarak birbirini resetler.

      Sıra geldiğinde https://github.com/AhmetOZER/White-Door-Router-System/wiki adresinde açıklamalar ekleyeceğim.

  10. Merhaba ustat,

    Cevaplar icin tesekkurler. Artik beklicez ben vpn dagitmayi beceremedim. Bir pcnin vpnden digerinin direk internetten cikis ayarini bulamadim neyse artik sizin aciklamalarinizi dort gozle bekliyorum. Vpn acinca hepsi vpn uzerinden geciyor buda baya bir hiz dususune neden oluyor ben istiyorumki bazi pcler vpn kullansin.
    Birde php kullanmak istiyorum ama bir turlu baglanamadim gerekli dosyalari usr/www icine attim ama ulasim saglanmadi beni engelliyor bunu nasil duzeltebilirim?
    Access denied bu hatayi aliyorum her seferinde

    eth0 1 1 0 3
    tun0 1 1 0 3
    tap0 1 1 0 3
    interfaces.txt icine bunlari ekleyince bananapi hic acmiyor. Hicbir sekilde baglanti kurulmuyor, yeniden image kurmam gerekiyor. Eklemeyince sorun yok vpn falan aliyor. Neyse ustat cok rahatsizlik verdim kusura bakmayin. Yukardakiler icin bir cozum varmi?

    selamlar

  11. Ustat tesekkurler, artik uyrasmaktan yanlis yazmisim! Sayende hallettim. Vpn isinide en azindan tekli vpn hallettim.
    Sadece sizden ricam benim php dosylarini nasil calistirabilirim. Php dosyalari atiyorum ama acilmiyor access denied hatasi aliyorum. Bir turlu asamadim bu hatayi.

    Yardim ederseniz sevinirim

    Iyi calismalar

  12. Slm hocam,

    Acaba port nasil acarim? Bir turlu basaramadim. Disardan baglanmak icin ssh portunu acmak istiyorum ama nafile.

    Selamlar

  13. Hocam selam,
    Bu reklamlari engellemenin bir yolu varmi. Ozellikle youtube icin pihole var ama pek etkili degil. Baska bir yol varmi bu reklamlari onlemek icin.

    1. Privoxy yada dnsmasq ile engelleme yapabilirsiniz fakat tam engelleme sağlamayacaktır. En iyisi Firefox kullanın.

  14. Hocam,
    Mumkunse su iki tane vpn bu cihazda nasil cakismadan calistirip paylasilacagi hakkinda aciklama yaparasaniz cok makbule gececek.
    Halen sizden gelecek bu aciklamayi beklemekteyim.

    Kolay gelsin

    1. http://prntscr.com/obcupi
      /etc/iproute2/rt_tables dosyasını resimdeki gibi eklemeler yapın.

      Aşağıdaki komut ile bu tablolara varsayılan internet çıkış rotalarını belirtin.
      ip route add default via $vpn1gatewayip dev $vpn1device table 200 #vpn1 in tablo numarası 200
      ip route add default via $vpn2gatewayip dev $vpn2device table 201 #vpn2 nin tablo numarası 201

      200 ve 201 tablolarına lokal ağımızı tanıtıyoruz.
      ip route add 10.0.0.0/24 dev eth0 table 200
      ip route add 10.0.0.0/24 dev eth0 table 201

      şimdi istediğimiz bilgisayarın istediğimiz vpn den çıkmasına sıra geldi bunun için yeni bir kural oluşturuyoruz.

      ip rule add from $yerelsistemimizdebulunancihazınipadresi table $istediğimizvpneaittablonumarası

      üsteki kodu istediğimiz bir bilgisayarın istediğimiz vpn den erişmesi için kullanabilirsiniz.

  15. Hocam tesekkurler. Izinde idim musait bir zamanda hemen deneyecegim. Bakalim iki vpn bu sekilde calisip istedigim gibi cikis yapabilecekmiyim.

  16. Ustat sonunda basardim. iki tane vpn ayni anda calistirip cikisi istedigim ip adresinden cikmayi. Tabi degerli bilgilerinizle. Usta bu komutlari her cihazi yeniden baslattigimda girmek zorunda kaliyorum. Bunlari sabitlemek icin nereye girmek gerekiyor.

    Tesekkur ederim

    1. /etc/openvpn/ içerisinde bulunan conf dosyanıza aşağıdaki kodu ekleyin
      script-security 3
      up /etc/openvpn/startup1 // ikinci openvpn uygulaması için startup2 olarak adlandırın.
      Daha sonrasında chmod 755 /etc/openvpn/startup* komutunu çalıştırın.
      /etc/openvpn/startup dosyalarınızın başına #!/bin/bash komutunu ekleyin daha sonra hangi vpn için hangi komutları çalıştırmak istiyorsanız o komutları ekleyin ve dosyanın en son satırına exit 0 komutunu ekleyin.

  17. Hocam merhaba,
    Acaba sizin image wireguard vpn kurulabilirmi? Kurma komutlari nasildir? Yada siz kurup acaba becap atabilirmisiniz? Cunku wireguard vpn openvpn gore cok hizli. Openvpn ile bunu kullanabilirsek cok guzel olur

    selamlar

    1. Wireguard 5.x kernel üzerinde denedim ama stabilete sorunları yaşadım.
      İyi bir internet erişimim olduğu zaman LTS kernel üzerinde tekrar bir deneme planlıyorum.

  18. Hocam winguard ile ilgili bir gelisme varmi. Gercekten cok hizli calisiyor sizin su cihaza bir uygulayabilirseniz cok guzel olacak