Raspberry Pi Pico W İnceleme: Dahili Wi-Fi Pico’ya Geliyor

Raspberry Pi Pico W İnceleme: Dahili Wi-Fi Pico'ya Geliyor

Ocak 2021’in sonlarında piyasaya sürülen orijinal Raspberry Pi Pico, gömülü sistemler dünyasına bomba gibi düşmüştü. Ancak profesyonel projelerde iki temel eksiklik hemen göze çarpıyordu: Birincisi, geliştirme sürecini kolaylaştıracak donanımsal bir reset butonunun bulunmamasıydı (gerçi bunu SWD pinleri üzerinden kendimiz de kolayca ekleyebiliyorduk).

En büyük eksiklik ise şüphesiz kablosuz bağlantı yeteneğinin olmamasıydı. Kredi kartı boyutundaki IoT kartlarının ve ESP tabanlı ucuz modüllerin hüküm sürdüğü bir çağda, Pico bu yönüyle biraz zamanın gerisinde kalmış gibi hissediliyordu. İlk incelememizde bu eksikliği bir dezavantaj olarak belirtmiştik; ancak RP2040 yongasının gücünü 4 dolar gibi inanılmaz bir fiyatla sunduğu için kartı kullanmayı yine de son derece mantıklı buluyorduk.

Haziran 2022’de yapılan sürpriz bir lansmanla Raspberry Pi Vakfı bu büyük eksikliği gideren yeni kartını duyurdu: Raspberry Pi Pico W. Selefiyle neredeyse birebir aynı fiziksel boyutlara ve form faktörüne sahip olan bu 6 dolarlık mikrodenetleyici kartı, üzerindeki metal elektromanyetik kalkanın (shielding) altında saklanan kablosuz iletişim yongasıyla Pico’yu resmen IoT (Nesnelerin İnterneti) ligine taşıdı. Her ne kadar piyasada Wi-Fi sunan ilk RP2040 kartı olmasa da, resmi destek ve yüksek üretim kalitesiyle Pico W, tüm dünyada en popüler geliştirme kartlarından biri haline geldi.

Raspberry Pi Pico W Kablosuz Geliştirme Kartı

Pandemi dönemindeki küresel yarı iletken ve çip tedarik krizinde, birçok mikrodenetleyici üreticisi stok bulamazken, Raspberry Pi Vakfı kendi tasarımı olan RP2040 silikonunu kesintisiz olarak üretmeyi başardı. Hatta STM32 serisi çiplerin bulunamaması nedeniyle Vakıf, Lego uyumlu Build HAT kartında bile kurtarıcı olarak RP2040 yongasını tercih etti. Pi kurucusu Eben Upton’ın da belirttiği gibi, talebi karşılayacak milyonlarca RP2040 çipi hazırdı. Bu durum, stokları sürekli tükenen klasik Raspberry Pi tek kart bilgisayarlarının tam tersi bir bolluk yarattı. Bu sayede Raspberry Pi Pico W, kararlı yapısı ve düşük güç tüketimiyle, mini robotik projelerden telemetri sistemlerine kadar normalde Raspberry Pi Zero W kullanan birçok taşınabilir projenin yerini almaya başladı.

Raspberry Pi Pico W ve Pico Yan Yana Karşılaştırma

Peki, Raspberry Pi Pico W orijinal modelden gerçekten ne kadar üstün? Eski Pico kartlarımızı rafa kaldırmalı mıyız? Pico W ile internete bağlanıp bulut tabanlı otomasyonlar geliştirmek ne kadar kolay? Bu soruların yanıtlarını bulmak için donanımsal ve yazılımsal mimariye daha yakından bakmamız gerekiyor.

Raspberry Pi Pico W Teknik Karşılaştırma Tablosu

Donanım BileşeniRaspberry Pi Pico WRaspberry Pi Pico (Standart)
Mikrodenetleyici (SoC)RP2040 ARM Cortex-M0+ Çift Çekirdek, 133 MHz (Esnek Hız Aşırtma)RP2040 ARM Cortex-M0+ Çift Çekirdek, 133 MHz (Esnek Hız Aşırtma)
Dahili RAM (SRAM)264 KB Dahili SRAM (Çok Bankalı)264 KB Dahili SRAM (Çok Bankalı)
Harici Flash Depolama2 MB QSPI Flash Bellek2 MB QSPI Flash Bellek
Kablosuz Bağlantı ÇipiInfineon CYW43439 (2.4 GHz Wi-Fi 4 ve Bluetooth 5.2 / BLE)Bulunmuyor
Arayüz BağlantısıDonanımsal SPI üzerinden RP2040 iletişimiBulunmuyor
Anten TeknolojisiABRACON Lisanslı Yerleşik Boşluklu Rezonans Anten (Cavity Antenna)Bulunmuyor
GPIO Pin Sayısı40-pin DIP Form Faktörü (2.54mm pin aralığı)40-pin DIP Form Faktörü (2.54mm pin aralığı)
Kullanıcı GPIO Limitleri26 adet Çok Fonksiyonlu 3.3V GPIO Pini26 adet Çok Fonksiyonlu 3.3V GPIO Pini
Analog Giriş kanalları3 × 12-bit ADC (Efektif ADC3 Girişi)3 × 12-bit ADC (Efektif ADC3 Girişi)
Donanımsal Protokoller2 × SPI, 2 × I2C, 2 × UART, 16 × PWM, 8 × PIO2 × SPI, 2 × I2C, 2 × UART, 16 × PWM, 8 × PIO
Hata Ayıklama (Debug)ARM 3-pin Serial Wire Debug (SWD) PortuARM 3-pin Serial Wire Debug (SWD) Portu
Güç / Veri ArayüzüMicro USB (Aygıt ve Host Desteği)Micro USB (Aygıt ve Host Desteği)
Fiziksel Ölçüler51 × 21 × 1.9 mm51 × 21 × 1.0 mm

Tabloda da açıkça görüldüğü üzere, kartın ana işlemci mimarisi, RAM kapasitesi, flash bellek boyutu ve fiziksel GPIO pin yerleşimi birebir aynıdır. İki kart arasındaki en temel donanımsal fark, kartın üzerine eklenen Infineon CYW43439 kablosuz alıcı-verici yongasıdır. Bu çipin veri sayfasını (datasheet) incelediğimizde, donanımsal olarak hem 2.4 GHz Wi-Fi 4 (802.11n) hem de Bluetooth 5.2 / BLE standartlarını desteklediğini görüyoruz. Lansman sürecinde bellenim (firmware) tarafında Bluetooth sürücüleri henüz entegre edilmemiş olsa da, sonradan yayınlanan resmi SDK güncellemeleriyle Bluetooth ve Bluetooth Low Energy (BLE) özellikleri de tamamen aktif hale getirilmiştir.

Raspberry Pi Pico W ile IoT Dünyasına Giriş

Daha önce gömülü projelerinizde ESP8266 NodeMCU veya ESP32 gibi kablosuz bağlantı kartları kullandıysanız, Pico W üzerinde MicroPython ile ağ işlemlerini yürütmenin ne kadar tanıdık ve kolay olduğunu fark edeceksiniz. Kartı yerel kablosuz ağımıza bağlamak için resmi kütüphanede yer alan standart `network` modülünü kullanmamız yeterlidir. Sadece 5 satırlık sade bir MicroPython kodu ile Pico W’yi saniyeler içinde internete bağlayabiliyoruz:

import network
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect("wifi-ag-ismi", "wifi-ag-sifresi")
print("Bağlantı Durumu:", wlan.isconnected())
Thonny REPL Ekranında Pico W İnternet Bağlantısı

Bağlantımızın kararlılığını ve ağ gecikmelerini ölçmek amacıyla, gömülü sistemler için optimize edilmiş olan `uPing` kütüphanesini kullanarak testler gerçekleştirdik. Sonuçlar son derece tatmin ediciydi.

uPing Ağ Gecikme Test Sonuçları

Daha gerçekçi bir senaryo denemek amacıyla, urequests kütüphanesini kullanarak Ukrayna’daki hava saldırısı siren durumunu bildiren harici bir API servisine HTTP GET istekleri yolladık. Sunucudan dönen JSON verilerini parse edip bir sözlük (dictionary) yapısına kaydettik. Kharkiv şehrinin siren durumunu bu sözlükten anlık olarak çekerek, olası bir alarm durumunda sistemin çıkışına bağlı olan adreslenebilir WS2812B NeoPixel LED şeridini kırmızı renkte yakan interaktif bir telemetri istasyonu kurmayı başardık.

Pico W API İstek Testi

Sonuç olarak karşımızda; onlarca farklı sensörü okuyabilen, verileri anlık işleyip bulut tabanlı MQTT veya HTTP sunucularına aktarabilen son derece kararlı, 6 dolarlık bir IoT geliştirme kartı var. En büyük avantajı ise arkasında hantal ve yavaş açılan, SD kart bozulmalarına açık, ağır bir Linux işletim sistemi barındırmamasıdır. Kodlarımız doğrudan mikrodenetleyici çekirdeği üzerinde bare-metal (yalın donanım) olarak çalışır. Sıradan telemetri projelerinde 15-20 dolarlık hantal tek kartlı bilgisayarlar kullanmak yerine bu hafif ve kararlı mikrodenetleyiciyi tercih etmek çok daha profesyonel bir yaklaşımdır.

Pico W’nin sunduğu bu bağlantı konforu tek kelimeyle mükemmel. Ağ kütüphanesi entegrasyonu sayesinde, gömülü sistemlere yeni adım atan bir geliştirici dahi sadece birkaç dakikalık bir çalışma ile kartı internete bağlayabilir. Aslında bu özellik, Pico’nun ilk çıktığı günden beri sahip olması gereken bir nitelikti. Ancak orijinal kartı 4 dolarlık agresif bir fiyat sınırında tutabilmek adına bazı donanımsal ödünler verilmesi gerekiyordu ve Wi-Fi bu ödünlerin ilk kurbanı olmuştu.

IoT projelerinde Pico W ile karşılaştırabileceğimiz en popüler alternatif kartlar, Raspberry Pi Zero W ve halefi olan Raspberry Pi Zero 2 W modelleridir.

Saat frekansı ve saf işlem gücü açısından Pico W, tam donanımlı bir Zero W modeline kıyasla yavaş kalabilir. Ancak projenizde ağır bir Linux işletim sisteminin gücüne (ve beraberinde getirdiği yüksek güç tüketimi, geç açılma süreleri ve kararsız kapanma sorunlarına) ihtiyacınız yoksa ya da bir kamera modülü kullanmayacaksanız, Pico W çok daha mantıklı, ucuz ve pil dostu bir alternatiftir. Kendimize şu can alıcı soruyu sormalıyız: Sadece birkaç sıcaklık, nem ve basınç sensöründen veri okuyup internete göndermek için gerçekten arkada çalışan koca bir Linux işletim sisteminin şişkinliğine ihtiyacımız var mı?

Donanımsal Tasarımda “Kritik” LED Değişikliği

Raspberry Pi Pico W de tıpkı standart sürüm gibi çıplak kenarlarla (başlık pinleri lehimlenmemiş olarak) satılıyor. Dolayısıyla breadboard üzerinde kullanabilmek için öncelikle 40 pinlik erkek header setini karta lehimlemeniz gerekiyor. Bağlantı arayüzü olarak Micro USB portunu kullanıyor (her ne kadar endüstrinin kaydığı sağlam USB-C portunu bu kartta da görmeyi çok istesek de). Testlerimizde kartın çıkışlarına WS2812B NeoPixel şeritleri bağladık ve topluluk tarafından geliştirilen optimize bellenimler sayesinde akıcı RGB animasyonları elde ettik.

Breadboard Üzerinde Pico W Devre Kurulumu

Burada donanım geliştiriciler için çok kritik bir teknik detayı paylaşmak gerekiyor: Standart Raspberry Pi Pico modelinde kartın üzerindeki yeşil kullanıcı LED’i doğrudan RP2040’ın GPIO 25 pinine bağlıydı. Ancak Pico W tasarımında, kablosuz çip CYW43439 ile RP2040 arasındaki SPI haberleşmesini sağlayabilmek için GPIO 25 pini kablosuz çip ile paylaşıldı. Bu nedenle kartın üzerindeki LED fiziksel olarak CYW43439 kablosuz çipinin kendi GPIO hattına aktarıldı!

Dolayısıyla, eski Pico projelerinizde yer alan `Pin(25, Pin.OUT)` şeklindeki LED yakıp söndürme kodları Pico W üzerinde çalışmayacak ve hata verecektir. Pico W modelinde yerleşik LED’i sürmek için yazılımda donanımsal takma ad (alias) kullanarak Pin('LED', Pin.OUT) şeklinde tanımlama yapmanız gerekmektedir. Bu önemli değişiklik dışında, dış kenardaki 26 GPIO pininin yerleşimi ve elektriksel özellikleri orijinal Pico ile tamamen aynıdır.

Yazılım ve Ekosistem Desteği

Raspberry Pi Pico piyasaya ilk çıktığında sadece resmi MicroPython ve C/C++ SDK’ları ile destekleniyordu. Ancak kısa sürede açık kaynak topluluğu sayesinde devasa bir dil desteğine kavuştu. Bu desteklerin başında şüphesiz Adafruit liderliğinde geliştirilen CircuitPython geliyor. CircuitPython, kartı doğrudan bir USB bellek gibi bilgisayara gösteren dosya sistemi yapısıyla, hızlı kodlama ve anlık prototipleme için bizim de bir numaralı tercihimizdir.

Derinlemesine performans ve gerçek zamanlı işlem gerektiren endüstriyel uygulamalarda C/C++ SDK vazgeçilmez bir güç sunsa da, hobi projeleri ve hızlı uygulama geliştirme aşamalarında MicroPython’un sunduğu konfor tartışılmazdır. İnceleme sürecimizde kullandığımız resmi MicroPython bellenimi, donanım kaynaklarını son derece kararlı bir şekilde yönetti ve popüler Thonny Python IDE’si ile kusursuz bir uyum içerisinde çalıştı.

Donanımsal uyumluluk tarafında ise, dış pin yerleşiminin korunması sayesinde eski Pico için tasarlanmış olan neredeyse tüm shield eklenti kartlarını ve genişleme modüllerini Pico W ile de doğrudan kullanabilirsiniz. Sadece yazılım tarafında yukarıda bahsettiğimiz GPIO 25 / LED farkına ve kablosuz kütüphanelerin eklenmesine dikkat etmeniz yeterlidir.

Alternatif Kablosuz Kartlar ve Genel Değerlendirme

Arduino Nano RP2040 Connect ve Pico W

RP2040 tabanlı kablosuz geliştirme kartları pazarında akla gelen ilk rakip, zengin yerleşik sensörleri (IMU, mikrofon) ve güçlü u-blox Wi-Fi modülüyle öne çıkan Arduino Nano RP2040 Connect modelidir. Ancak Arduino’nun bu kartı Pico W’nin neredeyse 4-5 katı fiyat etiketiyle satılmaktadır. Profesyonel kriptografik güvenlik çiplerine ve endüstriyel sertifikasyonlara kritik düzeyde ihtiyaç duymuyorsanız, Pico W çok daha ekonomik ve mantıklı bir tercihtir.

Daha ucuz bir alternatif olarak pazar lideri olan ESP32 ve eski nesil ESP8266 yongalarını da değerlendirmek isteyebilirsiniz. Saf Wi-Fi performansı ve yerleşik donanımsal çevre birimleri açısından ESP32 hala oldukça güçlü bir rakip olsa da; RP2040’ın sunduğu çift çekirdekli mimari esnekliği, benzersiz Programlanabilir I/O (PIO) teknolojisi ve mükemmel MicroPython SDK desteği, Pico W’yi kendi sınıfında benzersiz kılmaktadır.

6 dolar gibi sembolik bir bütçeyle; internete bağlanabilen, sensör verilerini uzaktan kontrol edebilen, retro oyun emülasyonları çalıştırabilen (efsanevi Pico ile Doom oynama projesinde olduğu gibi!) ve IoT ekosistemine tam uyumlu bir akıllı cihaz tasarlamak artık hayal değil. Bluetooth 5.2 desteğinin de resmi bellenim güncellemeleriyle tamamen aktif edilmesiyle birlikte Pico W; kablosuz gamepad’ler, giyilebilir sağlık cihazları ve akıllı ev otomasyonları için en güçlü ve en erişilebilir gömülü sistem platformu haline gelmiştir.

Yorum yapma özelliği, forum tarafından gelen istek sebebiyle kapatılmıştır. Lütfen tartışmalar ve sorularınız için topluluk forumumuza katılın.