Güç Tasarrufu Yapmak

Bu başlıkta, Raspberry Pi’ın taşınabilir güç kaynakları ile çalışması söz konusu olduğunda elde edebileceğiniz güç tasarrufu yaklaşımları kapsamlı olarak ele alınmıştır. Bu yaklaşımlar hem yazılım hem de donanımsal bakış açısı ile ortaya koyulmaya çalışılmıştır. Raspberry Pi’ın güç tüketimini azaltmak için uygulanabilecek belli başlı yöntemler tartışılmış ve uygulanmıştır. Raspberry Pi’ı batarya gibi sınırlı veya taşınabilir bir güç kaynağı ile besliyorsanız, Raspberry Pi’ın güç tüketimi daha da önem kazanır. Bu durumda ihtiyacınız olan en uygun Raspberry Pi modelini seçmeli ve donanım ve yazılım bileşenlerini en sade hale getirerek ihtiyaç duyulan işlem gücünü en aza indirmelisiniz.

Güç tüketimi bağlamında, ilk olarak taşınabilir güç kaynakları hakkında genel bir bilgi verilmiş ardından HDMI, USB Hub, Wireless gibi donanım arayüzlerinin devre dışı bırakılması ve arka planda çalışan servislerin sadeleştirilmesi gibi birçok yazılımsal işlem ve yapılandırma seçeneği açıklanmıştır.

Bu bölüme başlamadan önce, güç tasarrufu için mümkün olan en sade (Lite) Linux dağıtımını kullanmaya çalışmalısınız. Ardından sadece çok gerekli olan paketleri yüklediğinizden emin olmalısınız. Genel olarak Raspberry Pi için üretilen Linux dağıtımları en uygun işlevselliği ve desteği sağlamak üzere yapılandırıldıklarında birçok ihtiyaç dışı servis ve paket ile birlikte yüklü gelirler. Bu kitabın konusu olmamakla birlikte, Raspberry Pi üzerinde çalışacak kendi Linux çekirdeği yapılandırmanızı ve dağıtımınızı da oluşturabilirsiniz. Bu konuda “Linux From Sctrach” dokümanı gibi dokümanlar işinize yarayabilir. Ayrıca, Türkçe olarak yazılmış olan “Gömülü Linux” kitabını da okumanızı tavsiye ederim.

Raspberry Pi’ı batarya, UPS veya bir güneş pili gibi enerji kapasitesi sınırlı bir kaynaktan beslediğiniz durumlarda, enerji tüketimi önemli bir hal alacaktır. Raspberry Pi modeline (A/B/Zero/2/3) ve üzerinde çalışan programlara bağlı olarak değişen koşullarda bir enerji tüketimine sahiptir. Enerji tüketimini azaltmanın ilk yolu ihtiyaç duyulan işlem gücüne uygun bir Raspberry Pi modeli tercih etmektir. Aşağıdaki grafikte bazı Raspberry Pi bilgisayarlarının işlem güçleri ve yük altındaki güç tüketimlerinin karşılaştırması yer almaktadır.


Raspberry Pi bilgisayarlarının işlemci başarım (MIPS) ve güç tüketim grafikleri

Enerji tüketimini azaltmanın bir diğer yolu da Raspberry Pi üzerinde çalışan program/servis ve donanım birimlerini sadeleştirmekten geçer. Bu amaçla Raspberry Pi’ın yürüteceği göreve göre iyileştirilmesi için yapılabilecek birçok işlem vardır. Raspberry Pi en düşük enerjiyi headless kipte hiçbir USB aygıtı ve monitör bağlı olmadığı durumlarda harcar. Bu başlıkta Raspberry Pi’ın güç tüketimini azaltmaya yönelik gerçekleştirilebilecek yazılımsal ve donanımsal yöntemler hakkında kısa bilgiler verilmeye çalışılacaktır. Aşağıda Raspberry Pi’ın çeşitli durumlarda harcadığı güçleri gösteren bir tablo yer almaktadır:

Rpi DurumÇalışma KipiHDMIUSB
Hub
Çekilen
Akım
(mA)
Güç
Tüketimi
(W)
HD video oynatmagraphical.targetAçıkAçık5282,72
WEB gezintisigraphical.targetAçıkAçık5923,02
Paket yüklemegraphical.targetAçıkAçık4592,37
%100 CPUgraphical.targetAçıkAçık6563,42
Hazırda beklemegraphical.targetAçıkAçık4212,22
Hazırda beklemegraphical.targetKapalı *Açık2921,51
Kapalıhalt.target840,44
Kapalıhalt.target00
Hazırda beklememulti-user.targetAçıkAçık4702,42
Hazırda beklememulti-user.targetKapalıAçık3441,78
Hazırda beklememulti-user.targetAçıkKapalı3241,68
Hazırda beklememulti-user.targetKapalıKapalı2271,18
Hazırda beklemerescue.targetKapalıAçık3822,00
Hazırda beklemerescue.targetKapalıKapalı2261,17
Hazırda beklemerescue.targetAçıkAçık3852,02

Ayrıca Android işletim sistemlerine yüklenebilecek PI POWER ESTIMATOR adlı uygulama çeşitli Raspberry Pi donanım konfigürasyonlarında harcanan güç tahminlerini listelemektedir. Uygulamayı Google Play Store’dan aratıp cihazınıza yükleyerek, güç değerlerini inceleyebilirsiniz.

FCC ve Raspberry Pi

FCC (Federal Communications Commissions) adlı kuruluş Amerikan pazarında satışa sunulacak ürünlerin yaydığı elektromanyetik gürültü, frekans ve şiddetinin Amerikan yasalarına uygun olup olmadığını test eden ve sertifikalandıran bir kuruluştur. Rapsberry Pi vakfı da kendi ürünleri için bu uygunluk belgesini almıştır. FCC’nin sitesinde bu belgeyi almış olan cihaz ve ürünlerin temel özellikleri ile radyo frekans test sonuçlarını bulmak mümkündür. Raspberry Pi Vakfına ait ürünlerin FCC kimlik numarası 2ABCB’dır ve sözünü ettiğim teknik belge ve raporlar bu kimlik numarası ile şu adresten sorgulanarak incelenebilir: https://www.fcc.gov/oet/ea/fccid

Taşınabilir harici güç kaynakları

Eğer şebeke elektriği bulunmayan yerlerde Raspberry Pi’ı çalıştırmanız gerekiyorsa taşınabilir güç kaynaklarını kullanabilirsiniz. Cep telefonlarımızı şarj ettiğimiz Power Bank’ler bu iş için uygundur. Yeterli güce sahip bir power bank’i Micro-USB kablosu ile Raspberry Pi’ınıza bağlayıp çalıştırabilirsiniz. Bu durumda Raspberry Pi’ın ne kadar süre çalışacağı önem kazanacaktır. Bunu hesaplamak için aşağıdaki gibi bir USB güç tüketimi ölçme cihazı kullanabilirsiniz. Bu ölçüm cihazı, güç kaynağı ile Raspberry Pi arasına bağlanarak, Raspberry Pi’ın sarf ettiği enerjiyi ve gücü canlı olarak görmenizi sağlar. Aşağıda böyle bir cihazın fotoğrafı ve bağlantısı yer almaktadır [1].

USB power meter

Raspberry Pi, işlem yoğunluğuna bağlı olarak değişen miktarlarda güç tükettiğinden sabit bir değer tespit etmek zor olabilir. Bunun için Raspberry Pi’ı kullanmakta olduğunuz uygulamanın olağan koşulları altında bir süre çalıştırarak ne kadar enerji tükettiğine bakın (Wh). Ölçüm sürenizi ne kadar uzun tutarsanız o kadar sağlıklı bir sonuca ulaşırsınız. Örneğin Raspberry Pi’ınızı 10 saat boyunca çalıştırdığınızda 20Wh (20 watt saat) gibi bir değer ölçtüyseniz, Raspberry Pi’ın üzerinde çalışmış olduğunuz uygulamada saatlik ortalama olarak 2Wh enerji tükettiğini hesaplayabilirsiniz (20Wh / 10 saat [h]). Saatlik olarak elde ettiğimiz bu değeri power bank’ların kapasitesi ile karşılaştırmak için power bank’lerin kapasitesini ifade eden mili amper saati (mah) değerini watt saate çevirmek gerekir.

Power bank’ler çoğunlukla 18650 (18mm çap, 65mm uzunluk) kodlu lityum ion bataryalardan oluşurlar. Bu batarlayar nominal olarak 3.6-3.7 volt aralığında bir gerilime sahiptirler ve tam olarak şarj olduklarında 4.2volt gerilim sağlarlar. Bu bataryaların geriliminin 3v’un altına düşmemesi gerekir, aksi takdirde kimyasal olarak zarar görürler. Power bank’in içindeki DC regülatörü (drop-up invertör) bu gerilimi 5 volta yükseltir. Örneğin kapasitesi 10000 mah olan ve 3.6 voltluk pil kullanan bir power bank’in güç (watt saat) kapasitesini  bulmak için W = I . V formülü kullanılırsa buradan 36 watt/saat’lik değer bulunabilir (10.000mah x 3.6V). Bu değer ideal koşullarda yukarıdaki gibi bir Raspberry Pi kurulumunu yaklaşık olarak 18 saat boyunca idare etmelidir; fakat sonuç pratikte daha azdır.


18650 numaralı kılıfa sahip bir batarya hücresinin ölçüleri

Power bank’ler için ideal koşullardan kasıt power bank’in içindeki invertor devresinin %0 kayıplı çalışması ve batarya hücrelerinin hiç ısınmadığının varsayılmasıdır. İnvertör devresi üzerinde yaklaşık olarak %10’luk bir enerji ısı şeklinde kaybolur. Batarya hücreleri de çekilen akıma bağlı olarak ısınırlar ve enerjilerinin bir kısmı ısıya dönüşür. Ayrıca bataryaların şarj kapasiteleri artan bir ivme ile azalır, yani yarım şarjda verdiği akım miktarı tam şarjda verdiği akımın yarısından daha düşüktür. Power bank’lerin içerisindeki batarya gerilimini 5 volta yükselten invertör, batarya gerilimi 3.2volt’un altına düştüğünde bataryayı bitmiş kabul eder ve enerji sağlamayı keser. Bunun amacı bataryayı tamamen deşarj olmaktan korumak dolayısıyla ömrünün (şarj/deşarj sayısının) azalmasını engellemektedir. Tüm bu nedenlerden dolayı; kaliteli bir power bank için hesaplanan watt-saat değeri pratikte en az %30 kadar daha az hesaplanmalıdır. Buna göre kaliteli bir 10000mAh power bank, yukarıdaki Raspberry Pi uygulamasını yaklaşık olarak 12.6 saat çalıştırabilir (18 x 0.7).

Power Bank’lerdeki Aldatmacalara Dikkat Edin

Piayasada büyük bir çeşitliliğe sahip olan power bank ‘lerin çoğu, üzerinde yazılı değeri veremezler. Bir power bank satın alırken bilindik bir batarya üreticisinin (Panasonic, LG) pillerinin kullanılması önemlidir. Kaliteli bir batarya hücresinin fiyatı yaklaşık olarak $10 ve kapasiteleri de 3000mAh civarındadır. Eğer 20$’a 10000 mAh’lik bir power bank satın almışsanız muhtemelen düşük kaliteli 3 batarya hücresinden oluşuyordur ve büyük ihtimalle üzerinde yazılı değerin çok altında bir kapasite sunacaktır. Kaliteli markalardan incelemesi (review) yapılmış yani test edilmiş ürünleri tercih etmelisiniz. Diğer taraftan, kaliteli piller (18650) ve bir USB batarya kutusu alarak da kendi power bank’inizi kolaylıkla yapabilirsiniz.

Ek olarak; çoğu kişinin düştüğü bir yanlışta power bank kapasitesini doğrudan 5v’luk güç tüketimi olan bir yükün tüketimine bölmektir. Önceki paragrafta da ifade ettiğim gibi bu değerler öncelikle watt-saat birimine çevrilmelidir. Çünkü power bank’lerin kapasite değerleri 3.6volt için verilir; hâlbuki power bank’lere bağlanan yükler genellikle 5volt gerilim ile çalışırlar.

Besleme kaynağının enerji kapasitesini arttırmak

Mevcut bir güç kaynağının (pil, batarya, adaptör vb.) gücü yeterli gelmediğinde güç kaynağını ya da bataryaları paralel bağlayarak gücü ve toplam enerji miktarını arttırabilirsiniz. Kaynakları paralel bağlayarak kullanmanın birçok amacı olabilir. Örneğin 2A akıma ihtiyaç duyan bir uygulamada iki adet 1A’lik güç kaynağını paralel bağlayarak ihtiyaç duyulan gücü sağlayabilirsiniz. Diğer taraftan 2A’lik bir pil ya da powerbank gibi bir sınırlı bir enerji kaynağı kullanıyorsanız, uygulamanız 2 kat uzun süre çalışacaktır. Bir diğer kullanım amacı ise yedekleme amaçlıdır. Kaynaklardan biri arızalandığında Raspberry Pi’ın çalışmaya devam edebilmesi için de kullanışlıdır.

Güç kaynaklarını (batarya, pil, adaptör vb.) paralel bağladığınızda bazı sorunlar da ortaya çıkar. Öncelikle kaynaklarının her birinin birbiri ile tamamen özdeş olması gerekir. Bu özdeşlik güç kaynaklarının voltaj değerlerinin birbirine eşit olması ile ilgilidir. Eğer paralel bağlı kaynakların voltaj değerleri birbirine eşit değilse aralarında bir potansiyel fark oluşacağından bir akım geçişi olur. Çünkü güç kaynakları da bir iç dirence sahiptir. Aşağıdaki iki adet güç kaynağını inceleyelim.


Güç kaynaklarının seri bağlanması

Yukarıdaki pil sembolü ile gösterilen paralel kaynakların her birini Raspberry Pi’ı beslemek için kullanabileceğiniz power bank, adaptör ya da batarya olarak düşünebilirsiniz. r1, birinci kaynağın iç direncini, r2 ise ikinci kaynağın iç direncini göstermektedir. Yukarıdaki güç kaynakları tam olarak özdeş değillerdir, gerçek hayatta çıkış gerilimleri birbirine eşit güç kaynağı bulmak oldukça zordur. Yukarıdaki kaynaklar kendi aralarında paralel bağlandıklarında, aralarındaki potansiyel farktan dolayı gerilimi yüksek olandan (V=5.10) düşük olana (V=4.95) doğru bir akım akmaya başlar. Eğer böyle bir uygulamada li-ion pil kullanıyorsanız, pillerden gerilimi yüksek olan diğerini şarj etmeye başlar. Bu şarj işlemi her iki pilin gerilimi de birbirine eşit oluncaya kadar devam eder. Eğer pillerin yerine şebeke gerilimini kullanan bir adaptör söz konusu ise bu akım geçişi hiçbir zaman bitmez. Böyle bir durumda sürekli olarak boş yere bir enerji sarfiyatı gerçekleşir ve adaptörler sürekli olarak enerji tüketir durumdadır (ta ki gerilimleri eşitlenene kadar).

Kaynaklar arasındaki akım geçişi

Yukarıdaki şekilde görüleceği gibi kaynak gerilimlerinin tam olarak eşit olmaması durumunda, gerilimi yüksek olan kaynaktan az olana doğru bir akım geçişi olur. Bu akım geçişini engellemek için pillere seri olarak bir diyot bağlanabilir. Diyotlar tek yönde akım geçiren elektronik devre elemanlarıdır. Bu amaçla kullanılacak diyotların güç kaynağından çekilecek akıma dayanabilecek değerde olması gerekir. Diğer taraftan, diyotların çalışabilmesi için de bir iletim gerilimine (Vf = Vforward) ihtiyaçları vardır. Bu iletim gerilimi silikon diyotlar için yaklaşık olarak 0.7 volt civarındadır. Schottky denilen diyotlar ise 0.2V gibi daha düşük iletim gerilimlerine sahiptir. Böyle bir uygulamada diyot kaynağa seri olarak bağlandığından çıkış gerilimi de bu oranda düşecektir. Aşağıdaki şemayı inceleyin:

Kaynaklar arasındaki akım geçişini engelleyen diyotlar

Yukarıdaki şemada yer alan diyotlar, artlarındaki kaynakların birbirlerine etki etmesini önlerler. Bu uygulama özellikle kendi aralarında özdeş olmayan kaynakların paralel olarak kullanılması için çok faydalıdır. Uygulama avantajı yanında bazı dezavantajlara da sahiptir. 0.2 voltluk schottky diyot kullanıldığını varsayarsak kaynaktan çekilen akım bu diyot içinden de geçecektir. Dolayısıyla bu diyot üzerinde de bir güç sarfiyatı gerçekleşir (Çekilen akım X 0.2). Diğer taraftan, enerji kaynağına seri bağlanan bu diyotlar bir gerilim bölücü gibi çalışarak besleme kaynağının (Raspberry Pi Beslemesi) çıkış gerilimini 0.2 volt düşürürler. Bu durum Raspberry Pi’ın çalışmasına bir engel oluşturmaz. Raspberry Pi’ın sahip olduğu voltaj monitörü, besleme gerilimi 4.63 voltun üzerinde olduğunda kırmızı güç LED’ini yakar ve Raspberry Pi’ı başlatır.

ŞARJ EDİLEBİLİR PİLLERİN PARALEL BAĞLANMASI

Paralel bağlı piller hem  şarj olurken hem de deşarj olurken eşgüdümlü çalışmak zorundadır. Paralel bağlı şarj edilebilir pillerin şarj-deşarj yoluyla gerilimlerini tam olarak eşitleyebilmeleri için üretim tarihlerinin, akım kapasitelerinin ve yıpranma oranlarının aynı olması gerekir. Aksi takdirde, yeni bir pil ile eski bir pil paralel bağlandığında gerilimlerin eşitlenmesi uzun sürer (yeni pil eski olanı şarj eder) ve kaynakların eş değer gerilimi düşük olana (4.95V) sabitlenir. Bu arada da bataryalar arasındaki kenerji transferinden ötürü hatırı sayılır bir enerji kaybı yaşanır. Bu tür olumsuzlukların önüne geçmek için piller akıllı BMS kartları aracılığıyla bağlanmalıdır. Piyasada satılan BMS kartlarının çoğunun akıllı özellikleri yoktur. Bunu kartın üzerindeki şarj kontrolörünün (mikrodenetleyici) dokümantasyonundan görebilirsiniz. Piyasada akıllı olarak satılan kartların çoğu, pilleri yüksek şarj/deşarj akımlarından ve aşırı şarjdan korur. Akıllı BMS kartları ise herbir hücrenin akım ve gerilimlerini ayrı ayrı takip ederek dengeleme sağlar. Akıllı BMS kartlarında pillerin gruplaması (seri/paralel) ne olursa olsun herbir pilin kutupları BMS kartına ayrı kablolar ile bağlanır.

Raspberry Pi’ın EEPROM’unu güncelleştirmek

Raspberry Pi’ın ikinci aşama açılış ön yükleyicisi (bootloader) Raspberry Pi 4’den önce boot bölümünde yer alan bootcode.bin dosyasında yer almaktaydı. SoC tarafından belleğe yüklenerek çalıştırılan bu program artık harici bir EEPROM çipi üzerinde yer almaktadır. Bir tür flaş bellek gibi veri depolamak için kullanılan bu harici EEPROM çipi Raspberry Pi’a SPI port’u aracılığı ile bağlıdır ve 512KB’lık bir depolama alanına sahiptir. Raspberry Pi’ın açılış sürecinin anlatıldığı “Raspberry Pi 3’ün Açılış (Boot) Süreci” başlığı bu konuya bir açıklık getirecektir. Ayrıca “ Rasberry Pi’ın Firmware’ini Elle Güncellemek” başlıklı konuda bu konuyla ilintilidir.

Bu konunun Raspberry Pi’ın güç tüketimi ile ilgili olan kısmından bahsetmek gerekirse; Broadcom firmasın tarafından kapalı olarak geliştirilen firmware yazılımı açılıştan sorumlu olduğu gibi SoC’un iç bileşenlerinin yönetilmesi için de Linux çekirdeğine bir arayüz sunar. Bu arayüz, donanım bileşenlerinin (VLI, SDRAM, Clock speed, power management) daha az enerji tüketecek şekilde çekirdek tarafından kontrol edilebilmesini sağlar. Raspberry 4 piyasaya ilk çıktığında yüklü olan firmware ile 4 güncelleme sonrası arasındaki güç tüketimi farkı %28’dir. Yani, aşağıdaki grafikten de görebileceğiniz gibi firmware güncellemesi ile güç tüketimi %28 azaltılmıştır. Bu değer Raspberry Pi’ın bekleme durumundaki güç tüketimidir.

Rasbperry Pi boşta iken güç tüketim grafiği

Yukarıdaki grafikte ilk firmware sürümünden (Launch Firmware) geliştirmesi devam eden Beta Firmware’e kadar Firmware üzerinde yapılan yazılım değişiklikleri ve güç tüketimleri gözüküyor. Bu değerler Raspberry Pi üzerinde işlemci kullanımı yaratan bir işlem (process) çalışmazken ki (IDLE) değerlerdir. Aynı firmware güncelleştirmelerinin Raspberry Pi yük altındayken oluşturduğu güç tüketimleri ise aşağıdaki gibidir ve %12’ye karşılık gelmektedir.


Raspberry Pi yük altındayken güç tüketim grafiği

Özetlersek, Raspberry Pi’ın güç tüketimini azaltmak için firmware’ini güncelleştirmek önem taşımaktadır. Bu güncelleştirmeyi ise kitabın “Raspberry Pi’ı Güncellemek” başlıklı konusunda anlatıldığı gibi apt dist-upgrade komutu ile kolayca yapmak mümkündür.

İşlemci saat frekansını düşürmek

Raspbery Pi’ın işlemcisinin sahip olduğu her bir çekirdek yaklaşık olarak 0.25 watt güç tüketir. Diğer taraftan çekirdeklerin çalıştıkları hızlar da güç tüketiminde belirleyici rol oynar. Eğer enerji tüketimi sizin için çok önemli ve yüksek bir işlemci başarımına ihtiyacınız yok ise işlemci saat frekansını düşürerek (underclocking) Raspberry Pi’ın daha az güç tüketmesini sağlayabilirsiniz. Güç tüketimi ve işlemci saat hızı arasındaki diğer ilişkiler için kitabın Güç Beslemesi başlıklı konusunu okuyabilirsiniz.

Kullanılan işlemci çekirdeği sayısını düşürmek

Raspberry Pi işlemcisinin her bir çekirdeği yaklaşık olarak 0.25 watt güce ihtiyaç duyar. CPU çekirdekleri devre dışı bırakılarak zorunlu enerji tasarrufu sağlanabilir. Bunun için /boot/cmdlines.txt dosyasında maxCPUs seçeneği ile kullanılacak azami çekirdek sayısı tanımlanır. cmdline.txt dosyasını aşağıdaki gibi açtıktan sonra satırın sonuna maxCPUs=1 seçeneğini ekleyin.

Ayarın geçerli olabilmesi için Raspberry Pi’ın yeniden başlatılması gerekir. Kullanılabilir çekirdek sayısını görmek için htop komutundan faydalanabilirsiniz.

Raspberry Pi işlem gücüne ihtiyaç duyduğunda yeteri kadar çekirdeği etkinleştirerek onların işlem gücünden yararlanır. Yani, çekirdekler Raspberry Pi çalıştığı sürece etkin olmazlar, sadece ihtiyaç olduklarında devreye girerler ve enerji tüketirler. Diğer taraftan belli bir işlemi yapmak daha çok çekirdek kullanılarak daha kısa sürede tamamlanabilir. Aşağıdaki tabloda CPU sayısına bağlı olarak besleme kaynağından çekilen akımların miktarları gösterilmiştir.

Yük altındanki çekirdek sayısı01234
Raspberry Pi’ın akım sarfiyatı230mA280mA320mA380mA420mA
CPU kullanımına karşılık akım sarfiyatı (Vbesleme = 5.18v – 5.19v)

Tablodan görülebileceği gibi yük altındaki çekirdek sayısına göre akım sarfiyatı da değişmektedir. Tablodan her bir çekirdeğin ortalama 47,5 mA ek akım sarfiyatına neden olduğu görülebilir. Sisteminizde birden fazla çekirdeği kullanan çok kanallı (multi-thread) tasarıma sahip programlar çalışmakta ise bekleme (idle) süreçlerinde harcanan akım sarfiyatı çekirdekler kapatılarak azaltılabilir. Diğer taraftan, kapatılan çekirdekler çok kanallı programların istenildiği gibi çalışamamasına da neden olabilir. maxCPU ayarlanmadığı zamanlarda Linux çekirdeği, çekirdek yönetimi ve çekirdekleri hazırda tutmak için de bir miktar işlem gücü kullanır. Genel olarak maxCPU ile çekirdekleri sınırlamak oldukça düşük bir enerji tasarrufu sağlar.

Grafik kipini kapatmak

Rasberry Pi’ı kitabın birinci cildinin “Monitörsüz (headless) Kurulum” başlığında anlatıldığı üzere grafik kullanıcı arabirimi olmadan kullanmak bir miktar enerji tasarrufu sağlar. Raspberry Pi’ın GPU’su (Grafik İşlemci Birimi) devrede olmayacağından grafik komutları işletilmeyecek ve toplam işlem gücüne bağlı olarak tüketilen enerji de azalacaktır. Durağan bir grafik masaüstü ortamına sahip bir Raspberry Pi’ın (Raspbian)grafik kipi kapatıldığında yaklaşık olarak %10 enerji tasarrufu sağlanır.

Grafik alt yapısını etkin olarak kullanan uygulamalar (video oynatıcıları, web sayfaları vb.) söz konusu olduğunda ise bu tasarruf doğal olarak daha da artacaktır. Fikir vermesi açısından; bir haber sitesinin tarayıcıda görüntülenmesi 1 watt’lık bir tüketim yaratır. HD bir video izlediğiniz sırada ise fazladan 0.8 watt tüketim oluşur.

Eğer Raspberry Pi’ı kitabın “HDMI kablo ve dönüştürücü” başlığında anlatıldığı üzere aktif bir HDMI-VGA dönüştürücü ile kullanıyorsanız, bu dönüştürücü Raspberry Pi’a bağlı olduğu sürece güç harcayacaktır (~0.35W).

Komut satırını kullanarak farklı çalışma kiplerini ve bu kiplere nasıl geçiş yapacağınızı öğrenmek için kitabın “SystemD Çalışma Seviyeleri (Run levels)” başlığına göz atabilirsiniz. Grafik ortamını kullanarak ilgili kipi değiştirmek için kitabın “Grafik Kurulumdan Sonraki İlk İşlemler” adlı başlığına göz atabilirsiniz.

Arka plan servislerini kapatmak

İşletim sistemi üzerinde çalışan programlar ne kadar az olursa enerjiden o kadar fazla tasarrufu sağlanır. Raspberry Pi’ı en sade hali ile kurmak (sadece Linux çekirdeği ve temel araçlar) pratik bir enerji tasarruf yöntemi sunar. Bunun için Raspberry Pi OS dağıtımının Lite sürümlerini tercih edebilirsiniz. Lite sürümlerinde grafik kullanıcı arabirimi ve bazı arka plan servisleri yer almaz.

Raspberry Pi’ı ağ fonksiyonlarına ihtiyaç olmayan bir görev için kullanacaksanız networking, dhcpcd ve ssh gibi servisleri devre dışı bırakabilirsiniz. Sistemin açılışında otomatik olarak başlayan servisleri etkisizleştirerek CPU’nun daha az enerji tüketmesini sağlayabilirsiniz.

Çok fazla CPU kullanan programlarınız varsa kitabın “cpulimit aracı ile işlemci kullanımını sınırlandırın” başlıklı konusunda tarif edildiği gibi işlemci kullanımını sınırlandırabilirsiniz.

USB HUB’ının enerjisini kesmek

Raspberry Pi 3, USB port’ları ve kablolu ağ arayüzü (Ethernet) için SMSC9514 model numaralı bir USB HUB çipi kullanmaktadır. Bu çipin içerisinde hem USB hem de ethernet kontrolcüsü beraber yer alarak USB 2.0 HUB üzerinden CPU’ya bağlanmıştır. Eğer USB port’larına ve ethernet port’una ihtiyacınız yoksa bu çipin enerjisini keserek güç tasarrufu sağlayabilirsiniz. Bu tasarruf yaklaşık olarak 0.5 watt civarındadır. Raspberry Pi üzerindeki USB HUB çipinin blok şemasını aşağıda görebilirsiniz:


Raspberry Pi 3’ün LAN9514 kontrolörünün blok şeması

Yukarıdaki şemadan da görülebileceği üzere, ethernet kontrolcüsü (SMSC9512) doğrudan USB HUB’ına bağlıdır. USB Port’ları da HUB üzerinden Upstream devresini kullanarak Raspberry Pi’ın mikro işlemcisi (CPU/GPU) ile iletişim kurar. USB port’ları ve Ethernet aynı veri yolunu ortak olarak kullandıklarından birbirlerinin hızlarını da etkilerler. Örneğin, USB port’ları üzerinden tüm USB bant genişliğini kullanan bir kopyalama yaparken kablolu ağ bağlantısı yavaşlar ya da tam tersi. Raspberry Pi’ın kullandığı USB HUB hakkında detaylı bilgiyi aşağıdaki gibi lsub komutu ile alabilirsiniz:

USB HUB’ının enerjisini kesmek için birçok yöntem bulunmakla birlikte en kullanışlısı uhubctl (USB hub per-port power control) adındaki açık kaynak kod araçtır. Aracın kurulumunu ve derlemesini aşağıdaki gibi gerçekleştirebilirsiniz:

Yukarıdaki kurulumu gerçekleştirmek için git aracının sisteminizde kurulu olması gerekir. Bunun için kitabın “Wiring Pi Kütüphanesi” ile ilgili bölümüne bakabilirsiniz. Kurulum tamamlandıktan sonra hub-ctrl.c dizininde aynı isimde çalıştırılabilir bir dosya oluşur. Bu aracı aşağıdaki gibi kullanarak USB HUB’larını listeletebilirsiniz:

USB Hub’ına bağlı Ethernet kontrolcüsünün enerjisini kesmek için hub-ctrl aracını aşağıdaki gibi kullanabilirsiniz. Komut çalıştırıldıktan sonra ağ bağlantısı kesilecek ve yaklaşık olarak 0.1 watt bir tüketim azalması olacaktır.

Ethernet denetleyicisinin enerjisini tekrar vermek için p seçeneğinin değerini 1 yapın:

USB denetleyicisine bağlı port’ları devre dışı bırakmak için ise yukarıdaki işlemi P seçeneğine 2 değerini vererek gerçekleştirebilirsiniz:

USB port’ları devre dışı bırakıldığında doğal olarak klavye ve fareniz çalışmaz. Bu durumda Raspberry Pi’a bağlanmak için ağ bağlantısını kullanabilirsiniz. Eğer ağ bağlantısını da devre dışı bıraktıysanız bağlanmanın tek yolu seri konsolu kullanmaktır. Bu konudaki detaylı bilgiyi kitabın “Raspberry Pi’a seri (UART) konsol aracılığıyla bağlanmak” adlı başlığında bulabilirsiniz. Benzer şekilde USB port’larının enerjisini tekrar geri vermek için ise p seçeneğine 1 değerini verin:

HATIRLATMA

USB HUB’ının gücü kesildiğinde çipin harcadığı enerjiden tasarruf edilmiş olur. USB port’larınıza bağlı kablosuz alıcı veya flash bellek gibi aygıtlar varsa enerji tüketmeye devam ederler. Bu durumda daha yüksek bir enerji tasarrufu yapabilmek için USB aygıtlarını fiziksel olarak da Raspberry Pi’dan ayırmak gerekir.

HDMI sürücüsünün enerjisini kesmek

Raspberry Pi’ın görüntü arayüzü olan HDMI kontrolcüsünün enerjisini kesmek de yaklaşık 0.4 watt’a karşılık gelen önemli bir enerji tasarrufu sağlar. Enerjiyi kesmek ve yeniden vermek için aşağıdaki komutları çalıştırabilirsiniz:

Ayrıca cron’u kullanarak monitörün istediğiniz saatlerde kapatılıp açılmasını da sağlayabilirsiniz. Bunun için crontab tablosuna aşağıdaki satırları ekleyin:

Yukarıdaki cron girdisi hafta içi her gün saat 7:00’da monitörü açar, 20:00’da da kapatır.

Wireless ve Bluetooth’un enerjisini kesmek

Raspberry Pi 3’ün üzerinde dâhili olarak (o/b) Wireless 802.11 ve Bluetooth aygıtları vardır. Raspberry Pi uygulamanız eğer bu aygıtlara ihtiyaç duymuyorsa sürücülerinin yüklenmesine engel olarak devreye alınmalarını engelleyebilirsiniz. Diğer taraftan Wireless ve Bluetooth üzerinden gelecek olası güvenlik açıklarına karşıda önlem almış olursunuz. Raspberry Pi bu amaçla çekirdek sürücülerinin yüklenmesini engelleyen bir özelliğe sahiptir. /etc/modprobe.d/raspi-blacklist.conf Raspberry Pi’ın açılışı sırasında yüklenmesini istemediğiniz çekirdek sürücülerinin tanımlanabileceği bir dosyadır. raspi-blacklist.conf dosyasını aşağıdaki gibi nano editörü ile açtıktan sonra, yasaklanacak sürücüleri tanımlayıp kaydedin ve Raspberry Pi’ı yeniden başlatın:

Raspberry Pi yeniden başladıktan sonra Wireless ve Bluetooth aygıtları devre dışı kalmış olacaktır. Bu durumu aşağıdaki gibi iwconfig aracı ile görüntüleyebilirsiniz:

USB aygıtlarını sadeleştirmek

USB port’larına bağlı olan flash bellek (~0.5W), kablosuz klavye fare alıcısı (~0.1W) ve kablolu klavye (~0.05W) gibi donanımlar Raspberry Pi’ın enerji kaynağını kullanır. Besleme girişi (5V), USB port’larına doğrudan bağlı olduğu için Raspberry Pi kapalı olsa dâhi port’lar üzerindeki aygıtlar düşük de olsa enerji harcamaya devam ederler. Bu nedenle USB port’larına bir aygıt bağlamamak enerji tüketimini azaltır.

Donanım arayüzlerini devre dışı bırakmak

Raspberry Pi, donanım yapılandırmasının ayarlanmasına izin veren BIOS (Temel Giriş/Çıkış Sistemi)[2] gibi geleneksel bir yazılıma sahip değildir. Bunun yerine /boot/config.txt dosyası açılışta Raspbery Pi’ın donanım yapılandırmasını ayarlamak için kullanılır. config.txt içerisinde Raspberry Pi’ın sahip olduğu kamera, ağ, görüntü, ses ve GPIO fonksiyonlarını ayarlamak için kullanılan seçenekler yer alır. Bu seçenekler ile Raspberry Pi’ın sahip olduğu özellikler devreye alınabilir veya tamamen devreden çıkartılabilir. Aşağıda güç tasarrufu gerçekleştirmek için kapatılabilecek bazı config.txt seçenekleri ve görevleri yer almaktadır. Bu yapılandırma satırlarının başına koyacağınız # karakteri, ilgili donanım biriminin devre dışı bırakılmasını sağlar:

Durum LED’lerini devre dışı bırakmak

Rapberry Pi’ın üzerinde ACT ve POWER adında yeşil ve kırmızı iki adet LED bulunur. Kitabın “Led Diyotlar” başlığından göz atabileceğiniz bu LED’ler Raspberry Pi’ın çalışma durumu hakkında birçok bilgi verir. LED’ler BCM chipset’inin bazı GPIO port’larına bağlıdır. Bu LED’lere başka görevler yükleyebileceğiniz gibi dilerseniz devre dışı da bırakabilirsiniz. Bunun için aşağıdaki komutları kullanabilirsiniz:

Yukarıdaki komutlar ile yapılan işlem her bir LED için brightness (parlaklık) aygıt dosyasında tanımlanan parlaklık değerini azaltma ile ilgilidir. ACT LED’i led0 ile POWER LED’i led1 ile tanımlanmıştır. Led’lerin tekrar aktif olmasını isterseniz bu sefer aşağıdaki gibi 255 değerini yazabilirsiniz:

Burada yazılan değerler Raspberry Pi’ın her açılışında yeniden ön tanımlı durumuna geri dönecektir. Bunun gerçekleşmesini engellemek için yukarıdaki komutları Raspberry Pi’ın açılışı sırasından otomatik olarak çalıştırabilirsiniz.


[1] USB power meter: https://goo.gl/GG53Eq

[2] BIOS: Basic Input Output System

Yazar: Özgür Koca

Yazar - Tankado.com

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.