Kitabın Bölümleri

BÖLÜM 1: RASPBERRY PI’A GİRİŞ

Bu bölümde genel olarak Raspberry Pi ‘a bir giriş yaparak onu kullanabileceğiniz alanlar ve içinde yaşadığımız yüzyılın teknolojisine damgasını vurmuş Linux ve GNU felsefesi hakkında bilgi sahibi olacağız. Eğer açık kaynak felsefesi ve Linux ile henüz tanışmadıysanız, Raspberry Pi ve bağlantılı teknolojilerinin bel kemiğini oluşturan bu muhteşem felsefe ve sağladığı faydalar hoşunuza gidebilecek, belki de, siz de bu konuda katkı vermek isteyeceksiniz.  Linux ve özgür yazılım teknolojileri hakkında çalışan ve sözünü ettiğim felsefenin Türkiye’de vücut bulmuş hali olan Linux Kullanıcıları Derneği (LKD)’nden bahsetmemek olmaz. LKD, Linux ve Raspberry Pi konusunda destek alabileceğiniz güzel bir yardımlaşma topluluğudur.

Raspberry Pi’a giriş yapacağımız bu bölümde Raspberry Pi’ın ne olduğu, onunla neler yapılabileceği ve Raspberry Pi kurulumu için gerekli çevre birimlerine nasıl karar verebileceğiniz hakkında bilgiler yer yer alıyor. Raspberry Vakfının ürettiği birçok Raspberry Pi modeli mevcut ve her biri farklı kullanım amaçlarına hitap ediyor, farklı donanım ve yazılım birimleri ile çalışıyor. Size en uygun Raspberry Pi modelini ve işletim sistemini seçmeyi ve nasıl satın alabileceğinizi bu bölümde öğreneceksiniz.

Ayrıca, Raspberry Pi’ın donanımsal özelliklerini geliştiren/artıran eklenti (HAT) kartları hakkında bazı tanıtıcı bilgilere de yer vermeyi uygun buldum.  Bölümün sonuna Raspberry Pi konusunda yardım alabileceğiniz ve kaynak olarak kullanabileceğiniz bir liste ekledim. Başınız sıkıştığında gerek bana gerekse de bu kaynaklara başvurmaktan çekinmeyin, açık kaynak topluluğu yardımlaşma ve paylaşma üzerine kuruludur.

BÖLÜM 2: İŞLETİM SİSTEMİNİ YÜKLEMEK ve AYARLAMAK

Bu bölümde ilk olarak, Raspberry Pi bilgisayarı için seçtiğiniz işletim sisteminin yüklenme aşamalarını adım adım anlattım. Raspberry Pi vakfının resmi olarak sunduğu Raspberry Pi Imager kurulum yardımcısı ile işletim sistemi dağıtımlarının grafik ve terminal ortamında nasıl kurulacağını, daha çok gömülü uygulamalarda orta seviye kullanıcıların tercihi olan headless (monitörsüz) kurulumun nasıl gerçekleştirilebileceğine ve temel ayarlarına yer verdim. Kurulumların hemen ardından en çok ihtiyaç duyacağımız iki konu olan; Raspberry Pi’a terminal bağlantısının yapılmasını ve diğer bilgisayarlar ile dosya alışverişinin nasıl yapılacağını anlattım.

Kurulumların ardından yapacaklarımızı detaylandırmamız gerekirse; bu bölümde, ağ yapılandırmasının hem grafik ortamda, hem de terminal ortamında monitörsüz (headless) olarak nasıl gerçekleştirilebileceği, Raspberry Pi’ın yazılımlarının nasıl güncel tutulabileceği, Raspberry Pi’ın İnternet’e nasıl bağlanabileceği ve kablosuz ağ ayarlarının nasıl yapılabileceği, açılış sırasında istenilen programların otomatik olarak nasıl çalıştırabileceği anlatılmıştır.

BÖLÜM 3: LINUX KOMUT KABUĞU ve TEMEL KOMUTLAR

Bu bölümde Linux’un temel parçalarından olan dosya sistemi ve kabuk kavramları hakkında temel bilgiler verildikten sonra, sıkça kullanılan Linux komutları ve en faydalı seçeneklerini örnekler vererek tanıttım. Özellikle Linux’un kalbini oluşturan temel araçların kullanımına önem verdim. Bunlar Linux’u dolayısıyla Raspberry Pi’ı güçlü ve tercih edilir yapan komut satırı araçlarıdır.

Linux komutları tek başına bir kitabın konusu olabilir, hatta bazı komutların yardım dökümanlarının bir kitabın kalınlığına eriştiğini fark edebilirsiniz. Komutların görevlerine yer verirken olabildiğince pratik işlevlerle ilişkilendirmeye ve özellikle Raspberry Pi özelinde temel bilgisayar kavramları ile bağlantılarını kurmaya çalıştım. Bu bölümde yer vermediğim fakat kitapta yeri geldiğince tanıttığım birçok komut da ilerleyen bölümlerde yer alıyor.

Yüzlerce Linux komutu vardır. Her birinin kullanım seçeneklerinin zenginliği ile oluşan yüzlerce kombinasyonu hayal ettiğiniz de, ortaya çok büyük bir işlevselliğe hükmedebilme kabiliyeti ortaya çıkar. Her biri çoğu zaman sade bir görevi icra eden komutlar, Linux’un yapısal mimarisine çok büyük bir destek sunar ve sağlamlığını artırır. Bu nedenle birçok zaman, birden fazla komut bir arada kullanılır.

Terminal ortamı, yeni başlayan kullanıcılara ilk başlarda soğuk gelse de kullanmaya ve alışmaya başladıkça göreceksiniz ki, terminal ortamı Linux görevlerini çok daha kısa ve etkin bir şekilde yerine getirmenin en kestirme yoludur. Grafik ortamla karşılaştırıldığında; terminal ortamı çok daha fazla işlemi, sistem kaynakları açısından çok daha düşük bir maliyetle, hızlıca yerine getirmenin tek yoludur. Bu yol birçok işlemi bilinçli olarak yapmanızı ve bilgisayar kavramları hakkındaki bilginizin derinleşmesini de sağlar.

Bu bölümü okurken size tavsiyem her daim man aracını kullanarak ilgili komutun yardım sayfalarına göz atmanızdır. Komutlar hakkında en yalın ve doğru bilgiyi orada bulacaksınız. İnanıyorum ki; Linux’un ve Raspberry Pi’ın bel kemiğini oluşturan komut satırı yani terminal ortamı hoşunuza gidecek ve en sonunda göreceksiniz ki bu siyah ekranın bir sonu yok. Evet, sonunda itiraf ediyorum ki, komut satırı çoğu uzmanın tercih ettiği bir yoldur. Sizin de uzmanlığa giden bu yolda bahtınız açık, sabrınız tam olsun.

BÖLÜM 4: İŞLETİM SİSTEMİNİ KULLANMAK

Raspberry Pi’ın işletim sistemini (Raspbian) etkin olarak kullanmaya başladığımız bu bölümde, Linux’un paket yükleyicisini tanıyarak paketlerin nasıl yükleneceğine ve temel paket işlemlerini nasıl yapabileceğimize, bir görevi zamanlamak için kullanacağımız Cron adlı zamanlanmış görevler servisi ve SystemD adlı sistem yapılandırma ve yönetim alt yapısını öğreneceğiz. SystemD son yıllarda popüler olmuştur ve Linux’un tüm yönetimsel görevlerini yerine getirmeye aday bir alt yapı sunmaktadır. Linux topluluklarındaki eğilim gösteriyor ki; henüz geleneksel yönetim araçları ile birlikte kullanılmasına rağmen ilerleyen yıllarda bu görevi tamamen üzerine alacaktır. Ayrıca SystemD, Linux dağıtımlarından bağımsız olarak bir sistemin tüm yönetimsel işlevlerini kontrol etmek için yeni ve standart bir yöntem sunuyor. Böylece SystemD’yi bilen kullanıcılar herhangi bir Linux dağıtımını kolaylıkla yapılandırıp yönetebilirler.

Özellikle minimal olarak yapılandırılmış gömülü sistem uygulamalarında işinize yarayabileceğini düşündüğüm ve hala hatırı sayılır kişi tarafından kullanılan ve açılışta program başlatmayı sağlayan birçok farklı başlatma yöntemine yer verdim. Ayrıca Cron kullanarak belirli görevleri yerine getirmek üzere programların/betiklerin çalışmasını nasıl zamanlayabileceğinizi anlattım.

Grafik masaüstü ortamını monitörsüz olarak uzaktan erişim gereken uygulamalarda kullandığımız ve işimize çok yarayacak olan TeamViewer, VNC ve XRDP araçlarını tanıttım. Raspberry Pi ile çalışırken ençok kullanacağımız bileşenlerden biri olan SD kartların ve USB belleklerin farklı işletim sistemlerinde bağlanmasını ve olası veri kayıplarına karşı nasıl yedeklenebileceğini Linux ortamında anlattım. Cep telefonunuzun sahip olduğu İnternet bağlantısını Raspberry Pi’a paylaştırmanın adı olan USB tethering’i terminal ortamında gerçekleştirmenin prensiplerini anlattım ve komutlarını verdim.

Son olarak Rasberry Pi’ın bir NAS (Network Attached Storage) olarak yapılandırılabileceğini, NAS çözümü olan Open Media Vault (OMV) ile tanıttım. OMV sayesinde, Raspberry Pi’ı kullanarak atıl sabit disklerini ağ destekli bir diske nasıl dönüştürebileceğinizi ve daha fazlasını öğreneceksiniz.

BÖLÜM 5: RASPBERRY PI DONANIMI

Bu bölümde genel olarak Raspberry Pi’ın donanımsal alt yapısını oluşturan donanım bölümleri ve bu bölümlerin teknik özellikleri hakkında bilgiler verilmiştir. Bu bölüm sayesinde hem Raspberry Pi’ı elektronik uygulamalarınızda kullanırken bilmeniz gereken bazı kritik özellikler hakkında bilgi sahibi olacak hem de temel bilgisayar kavramlarının Raspberry Pi özelinde nasıl yorumlamanız gerektiğini öğreneceksiniz. Kitabın 2. Cildini tamamlar nitelikte olan bu bölüm özellikle Raspberry Pi ile IOT ve kontrol otomasyon uygulamaları geliştirecek olanlarında mutlaka okuması gereken bir bölüm.

Bu bölümde BCM283x sistem çipi (SoC) içine yerleştirilmiş olan Raspberry Pi’ın USB hub’ını da içine alan LAN (LAN9514/LAN7515) kontrolörü ile kablosuz ağ kontrolörü olan BCM43438 tanıtılmış, Raspberry Pi’ın USB, işlemci, disk, disk bölüm yapısı ve bellek kullanımı hakkında nasıl bilgi edinilebileceği, bu bilgilerin nasıl yorumlanacağına değinilmiştir. Raspberry Pi’ın donanım ve yazılım alt yapısına dair bilgiler verilirken, elektronik bir kart olarak Raspberry Pi’ın belli başlı arıza durumlarında sorunun teşhisinin nasıl yapılabileceği amaçlanmıştır.

Raspberry Pi’ın üzerindeki LED’lerin yanış sıraları ve zamanlamaları sistemin normal çalışması sırasında ve bir arıza durumunda bize bir takım açıklamalarda bulunur. Bu LED’lerin manalarına da bu bölümde öğreneceksiniz. Özellikle deneyim sahibi bilgisayar kullanıcılarına hitap eden ve faydalı olabileceğini düşündüğüm açılış süreci (boot) konusu, Raspberry Pi donanım sisteminin nasıl çalıştığı ya da açılış yaptığı hakkında fikir verecektir.

Son olarak Raspberry Pi’ı portatif bir güç kaynağı ile besleyerek çalıştıracak olanlar ve bu konuda elektronik projeleri gerçekleştirmek isteyenlerin mutlaka bilgi sahibi olmak isteyecekleri güç tasarrufu seçenekleri hakkında detaylı bir liste hazırladım. Bu liste sayesinde Raspberry Pi’ın güç tüketimini azaltacak ayarlamaları nasıl gerçekleştirebileceğinizi öğreneceksiniz.

BÖLÜM 6: RASPBERRY PI ve KABLOSUZ AĞLAR

Raspbery Pi’ı ağa veya İnternet’e bağlamak için en sık tercih edilen yol kablosuz bağlantıdır. Bu bölümde Raspberry Pi’ın sahip olduğu kablosuz ağ özelliklerinin terminal ve grafik ortamda nasıl yapılandırılabileceği ile ilgili olarak temel bilgiler verilmiştir. Bu bilgiler arasında kablosuz ağ yapılandırma parametreleri, optimizasyonu, teknik özellikleri ve en verimli yayın noktasının ve açısının belirlenmesi gibi işlevsel konular yer almaktadır.

Ayrıca, Raspberry Pi ufak boyutları ile bir kablosuz erişim noktası olarak da çalışabilir. Raspberry Pi’ı çevredeki kablosuz cihazlara ağ/İnternet bağlantısı dağıtmak veya var olan bir ağı genişletmek amacıyla da kullanabilirsiniz. Bu bölümde Raspberry Pi’ın kablosuz erişim noktası olarak yapılandırılması terminal ortamında SystemD kullanılarak gerçekleştirilmiştir. SystemD kablosuz erişim noktası olarak yapılandırılırken temel bilgisayar kavramlarından olan ağ topolojileri ve TCP/IP iletişimi konularına atıfta bulunularak konu pekiştirilmeye çalışılmıştır.

BÖLÜM 7: RASPBERRY PI ve ELEKTRONİK

Bu bölümde giriş/çıkış uygulamalarına geçmeden önce temel elektronik kavramları olan, akım, voltaj, direnç, güç ve enerji kavramları karşılaştırmalı olarak açıklanmış, temel elektronik elemanlar olan direnç, diyot, transistör, mosfet, kondansatör, röle, buton ve anahtarlar hakkında Raspberry Pi odaklı bilgiler verilmiştir. Ayrıca elektronik projelerinizi gerçekleştirirken kullanacağınız ölçü aletlerini nasıl seçmemiz gerektiği hakkında tavsiyeler verilmiştir.

Günümüzde tüm elektronik cihazlar diren, diyot, transisör ve kondansatör adlı 4 temel eleman üzerine inşa edilmiştir. Raspberry Pi’ın üretiminde de kullanılan çok daha fazla elektronik bileşen vardır ve bu bileşenler bu 4 bileşen kullanılarak üretilmiş daha gelişmiş bileşenlerdir. Bu dört elemanın çalışma prensibi anlaşıldığında diğer komplike elemanların ve devrelerin de çözümlenmesi kolay olur. Benzer şekilde yaklaşık 150 yıldır geçerliliğini koruyan direnç, akım ve gerilim kavramlarının da içselleştirilmesi önem taşıyor. Bunu başarabilirseniz, çok daha karışık devrelerin çalışmalarını yorumlayabilir, kendi yeni tasarımlarınızı üretebilir ve olası sorunların nedenleri hakkında fikir yürütebilirsiniz. Özetle kitabın ilk bölümünün anlaşılması büyük önem taşımaktadır.

Malumunuz duyu organlarımızla elektrik enerjisini göremiyoruz ve ona dokunamıyoruz. Ancak çeşitli araçlar ile onu farklı enerji türlerine dönüştürüp etkilerini gözlemleyebiliyoruz. Raspberry Pi ile elektronik uygulamaları geliştiren birisi için kaliteli bir ölçü aleti yani AVOmetre olmazsa olmaz aletlerden biridir. Bu bölümde iyi bir ölçü aletinin sahip olması gereken özellikler ve onu nasıl edinebileceğiniz hakkında bilgiler de paylaşılmıştır. Size tavsiyem bütçenizin el verdiği ölçüde kaliteli ve hassas bir AVOmetreye sahip olmanız. Bunlar dikkatli kullandığınız takdirde ömürlük cihazlardır ve elektronik ile uğraşan bir uygulamacının gözü ve kulağı gibidir.

Son olarak bu bölümde ESD konusundan bahsettim. ESD, durağan elektriğin bir elektronik bileşen üzerinden akmasını ve ona zarar vermesini inceleyen bir iş güvenliği konusudur. Gerek ülkemizin üretim alanlarında gerekse de eğitim ortamlarında yeterince önem verilmediğine inandığım bir konu olan ESD, Raspberry Pi içinde ciddi bir öneme sahiptir. Hem milli servetimizi korumaya yönelik hem de projelerinizde zaman ve para kaybı yaşamamanız için Raspberry Pi ile çalışırken ehemmiyetle üzerinde durmanızı tavsiye ettiğim ESD konusunu dikkatlice anlamaya ve gerekliliklerini yerine getirmeye çalışmanızı tavsiye ederim.

BÖLÜM 8: GPIO PORTLARI İLE KONTROL VE İLETİŞİM

Raspberry Pi’ın tüm Dünya’da kısa sürede yaygınlaşması ve kabul görmesinin ana nedenlerinden biri de sahip olduğu portlardır. Raspberry Pi bilgisayarı modüler yapısı ve sahip olduğu port çeşitliliği sayesinde dış dünya ile kolayca iletişim kurabilir, Linux’un gücünü arkasına alarak her türlü elektronik cihaz ile iletişiminde bulunabilir, onları yönetebilir. Bu bölümde Raspberry Pi bilgisayarının sahip olduğu portların teknik özellikleri ve dış dünya ile nasıl iletişim kurulabileceği örnek uygulamalar eşliğinde anlatılmıştır.

GPIO konnektörü üzerinde yer alan giriş çıkış portları, elektronik endüstrisinde yaygın olarak kullanılan çok popüler arabirimlere sahiptirler. Raspberry Pi üzerinde yazılım yoluyla etkinleştirilebilen UART, I2C ve SPI arabirimleri ile PWM üreteci, GPIO portlarının ek işlevleri olarak çalışırlar. Bu bölümde ilgili arabirimlerin kısa tarihçeleri, teknik özellikleri, arabirimlere özgü jargon ve kavramların tanıtımları yapılarak GNU C ve Python programları ile kullanımları örneklendirilmiştir. Ayrıca çok popüler bir kütüphane ve framework olan WiringPi detaylı olarak anlatılmış ve örneklerle zenginleştirilmiştir. Günümüzde popüler olan Arduino’nun Raspberry Pi ile programlanması ve iletişimi, ayrıca web üzerinden nasıl kontrol edilebileceği uygulamalı olarak gösterilmiştir.

Raspberry Pi’ın sahip olduğu çok işlevli GPIO portunu kullanarak bir EEPPROM’un nasıl yedeklenebileceği ve yeniden programlanabileceği I2C ve SPI arabirimine sahip EEPROM’lar için gösterilmiştir.

Bu bölümde yer alan programların kaynak kodlarını github sayfam olan github.com/enseitankado  adresinden indirerek kullanabilirsiniz fakat, yine de yeni başlayanlar için kodların elle yazılmasını tavsiye ederim. Bu sayede kod yazım kurallarına ve dilin yapısına aşinalık kazanabilir kendi programlarınızı daha hızlı ve hatasız yazabilirsiniz.

BÖLÜM 9: NODE-RED ile IoT UYGULAMALARI

Node-RED akış temelli görsel bir IOT programlama aracıdır. Sadece nesnelerin interneti uygulamaları için değil hemen hemen tüm algoritmik süreçlerin programlanması için esnek bir ortam sağlar.

Bu bölümde node’ları ve mesajları kullanarak IOT projelerinin kolayca nasıl programlanabileceğini öğreneceksiniz. Node-RED’in geliştirme metodolojisi şuana kadar öğrendiğiniz programlama metodolojilerinden biraz farklıdır. Ancak öğrenmesi çok kolaydır.

Konuyu daha iyi anlayabilmek için şöyle bir örnek verelim. Örneğin bir sıcaklık sensöründen okuduğunuz değeri bir web panelde görüntülemek istiyorsunuz .Bunun için sensör ile iletişim kuracak ve sensörin elektronik yapısına uygun kodlanmış bir okuma kodu yazmanız gerekir. Daha sonra bu kodu belli zaman aralıkları ile çalıştırarak bir disk dosyasını veya veritabanını doldurursunuz. Daha sonra bir web dili kullanarak bu kaynağı okuyacak bir betik ve sayfanın görünüş için de hatırı sayılır miktarda JavaScript ve CSS/HTML kodlamanız gerekir. Gözüktüğü gibi oldukça meşakkatli bir iş. Ancak bu uygulamayı Node-RED’i kullanarak birkaç dakika içinde gerçekleştirme imkanınız var. Sadece bu kadar değil Uygualamalar kısmından fikir sahibi olabileceğiniz gibi Node-RED ile gerçekleştirilemeyecek IOT projesi yok gibidir. Ayrıca her türlü web servisini de Node-RED ile görsel olarak kodlamanız mümkündür.

BÖLÜM 10: KAMERA MODÜLÜ

Bu bölümde Raspberry Pi’ın ses ve görüntü arabirimleri kullanılarak gerçekleştirilebilecek uygulamalar üzerinde durulmuştur. CSI ve USB arabirimi üzerinden bağlanabilecek kameralar ile fotoğraf, görüntü ve time-lapse kayıtlarının nasıl yapılabileceği, arşivlenebileceği, ağ üzerinden canlı olarak nasıl aktarılabileceği konuları hem terminal araçları, hem de web arabirimli uygulamalar kullanılarak anlatılmıştır. Farklı yöntemler kullanarak harekete duyarlı bir kamera kayıt ve takip sisteminin nasıl gerçekleştirilebileceği adım adım anlatılmıştır. Bu bölümden edineceğiniz bilgiler ile Raspberry Pi ve kameraları kullanarak harekete duyarlı, kayıt yapan ve alarm üreten merkezi bir güvenlik sistemi geliştirebilirsiniz. Timelapse kullanarak uzun zamanda gerçekleşen olayları hızlandırarak etkileyici kayıtlar elde edebilirsiniz.

Raspberry Pi’ın CSI ve ses işlevlerinin hem donanımsal hem de yazılımsal özelliklerinin detaylıca ele alındığı bu bölümde hem Linux’un ses işlevlerinin mimarisini hem de kamera donanımlarının özelliklerini en ince ayrıntısına kadar kullanmayı öğreneceksiniz.

BÖLÜM 11: SES İŞLEVLERİ

Bu bölümde Linux’un ALSA (Gelişmiş Linux Ses Mimarisi) mimarisine atıfta bulunularak Raspberry Pi’ın ses cihazlarının (kayıt ve yürütme) nasıl yapılandırılacağı ve işletileceği, pratik ve kullanışlı uygulamalar üzerinden örneklendirilmiştir. Raspberry Pi’ı kullanarak Darkice ve Icecast ile bir İnternet radyosunun yayına verilmiş, ortam sesinin uzak bir ağ konumuna canlı olarak nasıl aktarılabileceği, herhangi bir bir ek donanım kullanmadan Raspberry Pi ile bir FM radyo vericisinin nasıl gerçekleştirilebileceği anlatılmıştır.

Ayrıca, Raspberry Pi’a bağlı mikrofon kullanarak ortam sesini Wav, MP3 ve Ogg gibi dosya biçimlerinde kaydetme,  uzak bir ağ konumundan sesi aktarma, SoX ile sese efekt verme, metni sese dönüştürme gibi alt konular terminal araçları kullanılarak gerçekleştirilmiştir.

BÖLÜM 12: SUNUCU SERVİSLERİ ve AĞ UYGULAMALARI

Bu bölümde Raspberry Pi’ın çeşitli sunucu görevleri için nasıl yapılandırılacağı anlatılmıştır. Bu sunucular arasında VPN, Pi-Hole, Torrent, Apache, Nginx, MariaDB (MySQL), ProFTPD, vsftpd, SAMBA ve PHP kurulumları ve yapılandırmaları, ayrıca web yönetim arabirimine sahip bir kablosuz erişim noktası uygulaması olan RaspAP (Raspberry Pi Access Point)’ın kurulum ve kullanımı hakkında bilgiler yer almaktadır.

Web sayfalarının yayınlanmasını sağlayan en popüler ağ servislerinden olan HTTP’yi, Apache ve Nginx kullanarak, dosyalarımızın hızlı ve verimli şekilde paylaşılmasını sağlayan FTP’yi de ProFTPD ve vsftpd sunucularını kullanarak gerçekleştireceğiz. HTTP sunucularını kullanarak Raspberry Pi’ınızı bir web hosting sistemine dönüştürebilirsiniz, bant genişliğiniz yeterli ise günde binlerce ziyaretçiye evinizin internet bağlantısını kullanarak hizmet verebilirsiniz. FTP servisi ile ağ komşularınızla veya İnternet ile dosya paylaşımı yapabilir, dosyalarınızı Raspberry Pi’a bağlayacağınız harici bir diske yedeklenmesini sağlayabilirsiniz.

Microsoft firmasına ait ve Windows işletim sistemlerinin dosya ve yazıcı paylaşımına olanak sağlayan SMB protokolünün Linux portasyonu olan SAMBA servisi ise Windows makineleri ile kolayca dosya paylaşımı yapabilmenizi sağlar. Ayrıca CUPS servisi ile USB yazıcılarınızı bir ağ yazıcısı haline getirerek ortak kullanıma sunabilir, yazdırma işlevlerini merkezi bir noktaya taşıyarak baskılarınızın yönetim ve yatırım maliyetlerini en aza indirebilirsiniz.

MariaDB, meşhur MySQL veritabanı sunucusunun yeni, açık kaynak ve özgür sürümünün adıdır. Birçok popüler web sitesinin kullandığı MariaDB (bilinen adıyla MySQL) oldukça gelişmiş ve başarımı yüksek bir veritabanı yönetim sistemidir. Raspberry Pi’ın donanımsal özellikleri MariaDB ile çoğu görevi yerine getirebilecek kapasitededir.

Çoğu internet kullanıcısın aşina olduğu Torrent dosya paylaşım ağına dâhil olmak, Raspberry Pi ile gerçekleştirilebilecek en verimli uygulamalardan birisidir. 5W’lık güç tüketimi ile bu ağa dâhil olarak 7/24 paylaşımda bulunabilirsiniz. Bunun için bir masaüstü bilgisayarı sürekli açık bırakmaya gerek yoktur.

Bu bölümde ayrıca, Raspberry Pi üzerine bir VPN sunucusu kurarak İnternet bağlantımızın mahremiyetini garanti altına alıp ev ve ofis ağlarımızı sanki tek bir ağ gibi nasıl birleştirebileceğimizi göreceğiz.  Günümüzün İnternet dünyasında kullanıcıların web alışkanlıkları detaylı bir şekilde takip edilmekte, gerektiğinde ticari amaçlarla reklam ve ürün satışı için kullanılmaktadır. Bu işlerin tümü tarayıcılar ve çerezler aracılığı ile otomatize şekilde gerçekleşir. Ağınızı, Raspbery Pi’ı da kullanarak tüm bunlardan ve reklamlardan temizlemenin yolu Raspberry Pi’a Pi-hole sunucu servislerini kurmaktır.  Ethernet teknolojisini kullanan ağlarda iletişim, OSI’nin 2. katmanında (data-link) tanımlı olan MAC adresleri aracılığıyla gerçekleşir. Ağ güvenliğinin temeli ise MAC adreslerini çözümleyen ARP protokolünün üzerine oturur. Raspbery Pi’ın üzerinde yer aldığı ağı daha güvenli hale getirmek için birçok seçenek vardır. Bu bölümde Raspberry Pi’ı kullanarak yerel ağınızı saldırganlara karşı nasıl koruyacağınıza da değineceğiz.

BÖLÜM 13: RASPBERRY PI’I ETKİN KULLANIN

Bu bölümde, Raspberry Pi’ı daha etkin kullanmanızı sağlayacak birçok ilginç konu başlığı yer alıyor. İlk başlıkta Raspberry Pi ile çalışırken ençok kullanacağımız bileşenlerden biri olan SD kart’ın taşınabilir bir yapıya sahip olmasından ötürü çalınmaya karşı şifrelenerek nasıl korunacağı anlatılmıştır. Terminal ortamında çalışırken ekranı farklı parçalara bölerek (terminal içinde terminal) daha verimli kullanmamaızı sağlayan multitail ve Tmux araçları detaylı olarak anlatılmıştır. Tmux terminal ekranını parçalara bölerek etkin kullanmamızı sağlayan ve bu yapılandırmayı sunucu mantığıyla kendi oturumu içinde muhafaza edebilen çok faydalı bir araç. Oldukça hafif ve kolay yönetilebilir bir dağıtım olan DietPi ve güvenlik araştırmacılarının kaptan gemisi işletim sistemi olan Kali Linux’un Raspberry Pi’a kurulumu ve daha birçok pratik uygulama bu bölümde yer almaktadır. Bu bölümde Linux, özellikle de Raspberry Pi’ı kullanırken hayatınızı kolaylaştıracak kullanışlı araçlara ve uygulamalara yer verilmiştir.

BÖLÜM 14: SİSTEM BAŞARIMINI İZLEMEK

Raspberry Pi, resmi işletim sistemi dağıtımı olan Raspbian ve onun yazılım depoları ile kullanıldığında, bilinen en yüksek başarımı ve kararlılığı sağlamak üzere yapılandırılmıştır.

Raspberry Pi donanımı, bilhassa grafik işlemcisinin sahip olduğu özellikler, onu bir masaüstü bilgisayar olarak kullanabilecek kadar güçlü kılar ancak Raspberry Pi, bir masaüstü bilgisayarın (bildiğimiz anlamda PC) yerini alacak kadar da güçlü değildir. Bir Raspberry Pi 3 bilgisayarının gücü, 97 ve 99 yılları arasında üretilen bir 300MHz Pentium II bilgisayarının gücüne eşdeğerdedir. Bu açıdan, bazen özel amaçlı elektronik ve yazılım projelerinde, Raspbian ekosistemi öngörülen başarım ve kararlılıkta çalışamayabilir veya varsayılan şartların dışında bir ekosistem oluşturma ihtiyacı oluşabilir. Başarım ve enerji tüketiminin kritik öneme sahip olduğu projelerde, Raspberry Pi’ın başarımının ve kararlılığının çeşitli yazılım araçları ile mercek altına alınması, izlenmesi ve projenin ihtiyacına göre tekrar tekrar yapılandırılması gerekebilir.

Bu bölümde Raspberry Pi özelinde, kendini kanıtlamış başarılı Linux sistem araçları kullanılarak işletim sisteminin başarımının nasıl izleneceği ve yorumlanacağı hakkında bilgiler yer almaktadır. Bu bölümdeki bilgilerin bir kısmı doğrudan Raspberry Pi’ı ile ilgiliyken büyük kısmı da genel bilgisayar ve Linux kavramlarını içermektedir.

Linux komut satırında, doğru kullanıldığında oldukça başarılı sonuçlara ulaştıran araçlara sahiptir. Bu bölümde sistemin başarımını iyileştirmek ve olası sorunları tespit etmek için top, free, htop, iostat, iotop ve cpulimit gibi temel araçların yanında, web tabanlı olan monitorix ve rpi-monitor gibi araçların kullanımları da anlatılmıştır. Bilinmelidir ki; bu araçların çıktılarını doğru yorumlamak ve alınacak aksiyona karar vermek bir miktar deneyim ve zamana sahip olmayı gerektirebilir.

BÖLÜM 15: SORUN GİDERMEK

Bu bölümde Raspberry Pi ve Linux ile çalışırken karşılaşabileceğiniz belli başlı sorunları çözmek için çeşitli başlıklar yer alıyor. Bu durumlar arasında diskteki boş alanın tükenmesi, bozulan disk bölümleri, arka planda çalışan servislerin düzgün çalışmaması ve açılışın yavaşlaması sayılabilir. Bu konuları nasıl teşhis ve tedavi edebileceğiniz konusunda faydalı olacağını düşündüğüm bazı araçlar ve kavramları elimden geldiğince kapsamlı olarak tanıtmaya çalıştım.

Bu bölümde geniş olarak yermeye çalıştığım smartctl aracı ile sabit disklerin işletim sistemi olarak kabul edilen ve hertürlü disk sağlığı konusundan sorumlu olan S.M.A.R.T isimli öz bellenim yazılımını detaylı olarak anlatmaya çalıştım. Raspberry Pi’ın parolasını unuttuğunuzda, Raspberry Pi ön yüklenemediği ya da açılış hataları ile karşılaştığı durumlarda ne yapmanız gerektiğini bu bölümde bulabilirsiniz.

Ayrıca, Raspberry Pi’ın donanımsal başarımını nasıl analiz edilebileceği ve karşılaştırılabileceği gösterilmiş, bu amaçla kullanılan Sysbench adılı program tanıtılarak ve verdiği çıktıların genel bilgisayar kavramları açısından nasıl yorumlanabileceği üzerinde durulmuştur. Böylece bu kitapta yer verilmeyen yeni çıkacak Raspberry Pi modellerini başarım karşılaştırmasını yapabilmeniz ve muhtemel donanım kaynaklı başarım sorunlarını teşhis edebilmeniz hedeflenmiştir.

Ayrıca Raspberry Pi toplulukları tarafından Dünya’da ve Ülkemizde kullanılan belli başlı yardım ve dökümantasyon kaynaklarını da bu bölümde bulabilirsiniz.