Dün akşam eşimle çocuğumla birlikte evde otururken, aklıma birden eski projelerim geldi. Hani bilirsiniz, Bursa’nın serin havasında balkonda kahve içerken bazen böyle şeyler olur. Ben de dedim ki, neden yeni bir gömülü sistem kartı denemeyeyim? Banana Pi diye bir şey duymuştum, teknoloji sitelerinde dolaşırken. Aslında ilk başta şaka sandım, banana ne alaka teknolojiyle? 🙂 Ama meğer ciddi bir alternatifmiş Raspberry Pi’ye. Tabi ben de merak ettim, hemen bir tane sipariş verdim. Neyse efendim, bugün elime geçti ve kurcalamaya başladım.
Bu arada geçen hafta sonu ailecek Uludağ’a doğru bir kamp kaçamağı yaptık. Dağcılık sevgim malum, eşim de çocuğum da alıştı artık. Orada ateş başında otururken, telefonumdan bazı elektronik devre tasarımlarına bakıyordum. Çocuk ‘baba bu ne?’ diye sordu, ben de anlattım basitçe. İşte o an Banana Pi gibi kartların ne kadar eğlenceli olabileceğini düşündüm. Gerçi kamp sırasında kodlama yapmadım tabii, sadece fikir ürettim. Ailemle vakit geçirirken ekranlara gömülmemeye çalışıyorum, biliyorsunuz.
Banana Pi’yi açtım kutusundan, ilk izlenim gayet iyi. Küçük, hafif, bağlantı portları bol. Benim gibi C# ve .NET ile REST API geliştiren biri için, bu kartları IoT projelerine entegre etmek harika olur. Neticede gömülü sistemler alanında tecrübem var, elektronik devre tasarımı yaparken sık sık kullanıyorum böyle şeyler. PostgreSQL veya MySQL ile veritabanı bağlayıp, jQuery veya Vue ile frontend yapıyorum genelde. Ama bu kartla bir adım öteye gitmek istedim.
Fakat ilk başta biraz tökezledim. Kartı boot etmek için SD karta image yükledim, ama USB bağlantısı sorun çıkardı. Sanırım kablo kalitesizdi, yoksa driver mı eksik? Hatırlamıyorum tam, ama yarım saat uğraştım. Neyse efendim, sonunda çalıştı. Bu arada, Google’da ‘Banana Pi setup guide’ diye aratın, bol tutorial çıkıyor. Ben de oradan faydalandım biraz.
Banana Pi Nedir, Neden Tercih Ediyorum?
Bana göre Banana Pi, Raspberry Pi’nin ucuz alternatifi gibi bir şey. Daha güçlü işlemci seçenekleri var, mesela Allwinner serisi. Ben BPI-M5 modelini aldım, Amlogic S905X3 çipiyle geliyor. 4GB RAM, eMMC depolama falan, gayet yeterli IoT için. Aslında fiyatı da uygun, 15-20 Euro arası bir şeydi sanırım. Tabi ithalat masraflarıyla biraz arttı ama değdi.
Şimdi düşünün, ben günlük kodlama yaparken C# ile Dapper kullanarak REST API’ler geliştiriyorum. Bu API’leri Banana Pi’ye bağlayıp, bir sensör ağı kurmak mümkün. Mesela ev otomasyonu için. Eşim bazen ‘bu evdeki lambalar neden otomatik yanmıyor?’ diye soruyor, belki bir proje yaparım ona sürpriz. 🙂
Gerçi ilk projem basit oldu. Bir LED devresi taktım karta, GPIO pinlerinden kontrol ettim. Python scripti yazdım başlangıçta, ama asıl eğlence C# tarafında. .NET Core ile bir konsol app yaptım, kartı SSH üzerinden komut göndermek için. Neticede pratik bir çözüm. Ama detaylarını bilmiyorum tam, çünkü acele ettim.
Bu arada aklıma geldi, geçen ay markette meyve reyonunda dururken banana gördüm, gülümsedim. ‘Bu kartın adı neden banana ki?’ diye düşündüm. Meğer Çinli geliştiriciler meyve isimleri koymuş seriye, eğlenceli değil mi? Neyse, konuya dönelim. Benim deneyimime göre, bu kart devre tasarımı için ideal. Elektronik parçalarımla birleştirdim, PostgreSQL’e veri gönderdim test için.
Pratik Bir Proje Örneği
Şimdi size bir örnek vereyim, nasıl entegre ettiğimi. Öncelikle kartı kurun, Armbian OS yükleyin. Sonra C# projesinde HttpClient ile API çağırın. Benim REST API’m MySQL’e bağlı, Dapper ile sorgu çekiyor. Karttan veri göndermek için basit bir endpoint yazdım.
İşte kod örneği, gayet basit:
using System.Net.Http;
using System.Threading.Tasks;
public class BananaController
{
private readonly HttpClient _client;
public async Task SendDataAsync(string data)
{
var content = new StringContent(data);
await _client.PostAsync("https://myapi.com/sensor", content);
}
}
Bu kodu .NET ile çalıştırıyorsunuz, kart tarafında ise bir script GPIO’yu okuyor. İlk olarak sensörü bağlayın, sonra veriyi JSON olarak gönderin, en son veritabanına kaydedin. Hepsi bu kadar, 10-15 dakika sürer. Ama benim ilk denememde hata verdi, IP adresini yanlış girmiştim galiba.
Fakat o gece, tam yatmadan önce test ettim. LED yandı söndü, veri geldi API’ye. Win hissi harikaydı! 🙂
Sonuç olarak, Banana Pi benim gibi aktif kodlayanlar için süper. Vue ile bir dashboard yaptım üstüne, jQuery animasyonları ekledim. Ailem görse şaşırır, ama şimdilik sır. Bu arada, Banana Pi resmi sitesinde modeller var, bakın derim.
Geçen Salı akşamı, saat 8 civarı evdeydim, çocuk uyumuştu. Eşim mutfakta bir şeyler hazırlıyordu, ben de masada Banana Pi’yi kurcalıyordum. Birden bağlantı koptu, sanırım overheat oldu. Fan takmadığım için mi? Bilmiyorum ama sinir oldum, yarım saat debug yaptım. Neyse efendim, sonunda düzelttim. Böyle fail’ler oluyor tabii, tecrübe işte.
Açıkçası ben bu kartı sevdim, çünkü PHP background’umdan Vue’ye geçişte mobil entegrasyon için faydalı. Gömülü sistemlerde devre tasarımı yaparken, bu kadar esnek bir şey nadir. Tabi bazen yavaşlıyor, ama optimizasyonla halloluyor.
Bu arada, bir teknoloji forumunda okudum, Banana Pi topluluğu aktifmiş. Tam hatırlamıyorum ama Google’da ‘Banana Pi community projects’ ara, ilham alırsın. Ben de oradan bir sensör projesi fikri kaptım.
Neyse efendim, ailemle Bursa’da şehir turuna çıktığımızda, bazen böyle tech konuşmaları yapıyoruz. Çocuk ‘baba bu banana ne?’ diye sordu geçen turda, güldük. Dağcılık sonrası kamp ateşinde fikir üretmek güzel oluyor. Gerçi kod yazamıyorum o zamanlar, ama beyin fırtınası şart.
Sanırım bu kartla daha çok proje yapacağım. İnanın ki, gömülü sistemler dünyası eğlenceli. Siz de deneyin, ne güzel değil mi? Neticede ucuz ve güçlü. Ama dikkat, kablolarda kaliteli olanı kullanın, yoksa benim gibi uğraşırsınız. 🙂
Şimdi aklıma geldi, geçen sene benzer bir kartla (Raspberry) bir hata yapmıştım. Tam dağcılıktan dönmüştüm, yorgundum. Kartı prize taktım, kısa devre oldu. Neyse ki sigorta attı, ama devreler yandı. O zamandan beri dikkatliyim. İşte böyle anılar birikiyor.
Bana göre, Banana Pi ile başlayın eğer yeniyseniz. C# entegrasyonu kolay, REST API’lerle uyumlu. PostgreSQL’e veri akışı sorunsuz. Tabi Vue frontend’i ekleyince tam oluyor. Gerçi detaylarını unuttum bazı ayarları, ama pratikle hallolur.
Sonuçta, bu trendi takip etmek iyi oldu. Ailemle vakit geçirirken bile aklımda projeler dönüyor. Siz ne dersiniz, denediniz mi böyle kartları? Belki bir dahaki kampımda yanımda taşırım. 🙂