- ESP32-S3 mikrodenetleyicisini anında açılabilen küçük bir PC’ye dönüştürerek kabuk, düzenleyici, derleyici ve uygulama yükleyici sunan bir demo proje
- BreezyBox, ESP-IDF için mini bir kabuk bileşeni olup UNIX benzeri komutlar ile vterm ve VFS özelliklerini içerir
- Waveshare ESP32-S3-Touch-LCD-7B kartında çalışır ve diğer kartlara da kolayca uyarlanabilir
- Fork’ladıktan sonra kendi kartınızda çalıştırabilir veya USB konsolu üzerinden standart ANSI kod çıktısını kullanabilirsiniz
- MIT lisansı ile yayımlanmıştır ve ekosistemi genişletmeyi hedefler
BreezyBox’a genel bakış
- ESP32-S3’ü Linux olmadan da PC gibi kullanmayı sağlayan bir demo proje olup kabuk, düzenleyici, derleyici ve uygulama yükleme işlevleri sunar
- Raspberry Pi’ye benzer bir kullanım deneyimini hedefler, ancak sunucu/masaüstü sınıfı bir işletim sisteminin ek yükü yoktur
- BreezyBox, ESP-IDF tabanlı mini bir kabuk bileşeni olarak basit bir komut çalıştırma ortamı kurar
- ESP32-S3, DOS dönemindeki PC’lere benzer bir kaynak yapısına sahiptir ve kablosuz iletişim özelliklerini içerir
- Proje, bu çipin potansiyelini “küçük ve zarif teknoloji” olarak tanımlarken kod boyutunu minimumda tutar
BreezyBox’un bileşenleri
- BreezyBox; vterm, VFS, CWD takibi, UNIX benzeri komutlar ve uygulama yükleyici içerir
- ELF yükleyici ve dinamik bağlama özelliği zaten ESP-IDF bileşenlerine dahildir
- İsmi BusyBox’tan esinlenmiştir ve FreeRTOS üzerinde çalışan bir kullanıcı alanı katmanı biçimindedir
- ESP-IDF projesine tek satırla eklenebilir ve yalnızca temel giriş/çıkış olsa bile çalışır
Demo deposunun özellikleri
- Bu depo, BreezyBox’un örnek bir uygulamasıdır ve belirli bir karta (Waveshare ESP32-S3-Touch-LCD-7B) göre yapılandırılmıştır
- BreezyBox, ekran ve kart ayarlarını kullanıcı bellenimine bırakır
- Kullanıcılar kodu inceleyerek kendi kartlarına veya ekranlarına uygun şekilde değiştirebilir
- LVGL metin etiketi kontrolü kullanılırsa LCD çıkışını uygulamak kolaylaşır; USB konsolunda da çalıştırılabilir
Kullanım yöntemi
- Depoyu fork edip klonlayarak kendi kartınızda çalıştırabilirsiniz
- Yaklaşık 40 avroluk bir kartta test edilmiştir ve düşük maliyetli LCD S3 kartlarında da kullanılabilir
- USB konsolu kullanıldığında VSCode’un IDF Monitor aracı veya Tabby üzerinden ANSI kod çıktısı görülebilir
- Yazı tipi oluşturucu doğrudan yazılmıştır, ancak bu 30FPS üzeri performans sağlamak için yapılan isteğe bağlı bir uygulamadır
Katkı ve genişleme
- Proje MIT lisansı ile yayımlanmıştır; serbestçe değiştirilebilir ve dağıtılabilir
- Katkı istenen başlıklar
- ELF uygulaması ekleme: breezyapps deposundaki örnekler referans alınarak yeni uygulamalar geliştirilebilir
- Çeşitli kartlar için bellenim örnekleri: C/C++ tabanlı, GUI içeren, retro oyun portları gibi farklı biçimler önerilmektedir
- Amaç, daha fazla kullanıcının BreezyBox’tan yararlanması ve anında çoğaltılabilir örnek ekosistemini büyütmektir
1 yorum
Hacker News yorumları
Gerçekten harika bir proje. Bizzat denemeyi planlıyorum
Bununla ilgili başka iki proje daha gördüm
Boot-Linux-ESP32S3-Playground
Anında açılması gerçekten harika. Böyle projeler ya da Adafruit'in Fruit Jam'i, “gereksiz karmaşıklığı kaldırınca çok şey kazanıldığını” gösteriyor
Bunu bir çocuğun ilk bilgisayarı olarak vermek isterdim
Gelecek hafta sonu ne yapacağım belli oldu. Aslında başka bir proje için esp32-s3 almayı düşünüyordum ama şimdi iki tane almam gerekecek
ESP32 SoC seçenekleri karşılaştırma blogu
Bu kartların fiyat/performans oranının inanılmaz olduğunu düşünüyorum. Ben bunu KVM yerine kullanmayı planlıyorum
ESP32-Bus-Pirate'ı flashlayıp uzaktan kontrol edeceğim cihaza bağlı bırakınca çok kullanışlı oluyor. Güç tüketimi de neredeyse yok, bu yüzden sürekli Wi-Fi'ye bağlı tutuyorum
Bunun rp2350 üzerinde de çalışacak şekilde port edilip edilemeyeceğini merak ediyorum
Vay, xcc700'ü yapan kişi sen misin! MCU'ları genel amaçlı hesaplamada kullanmaya çok ilgim var. Bunun ne kadar ileri götürülebileceğini merak ediyorum
Eskiden FabGL'nin oyunlar ve DOS emülasyonu demoları çalıştırdığını hatırlıyor olabilirsin. Ama güncel ESP-IDF ile güncel tutmak zor
Bu yüzden daha modüler bir yapı ile yeniden yapıyorum. Uzun süre sürdürülebilir olsun diye. Hatta birisi eski bir MacOS sürümünü emülasyonla çalıştırmıştı
Gerçekten harika! Bunu hemen M5Stack Cardputer'a yüklemek lazım
Düz bellek modeli olmadan genel amaçlı bir OS uygulamak zor değil mi? Amiga1000'de de MMU yoktu ama düz bellek modeli vardı. Bunu aşmak için epey karmaşık işler gerekmiş olmalı
Bu platformda genel amaçlı bir OS'in zor olmasının nedeni bellek koruması olmaması. Ama ben sadece shell ve uygulama yükleyici yapmak istedim, o kadarını çözebildim
BreezyBox ile ilk kez şimdi karşılaştım ve gerçekten ilginç görünüyor. Wi-Fi ayarı ya da güncellemelerle uğraşmak istemiyorum, sadece kendi uygulamamı yazmak istiyordum
Neden bunları benim yerime halleden basit bir mikrodenetleyici OS'i olmadığını anlayamıyordum. Bu, onun temeli olabilir gibi görünüyor
Headless dağıtımlar için bir yapılandırma akışı olup olmadığını merak ediyorum (flashlama sırasında Wi-Fi ayarı, uzaktan shell/web UI dağıtımı vb.)
Uzaktan yapılandırma için web erişimi muhtemelen yapılabilir. Zaten bir web sunucusu var; sunucu tarafı kod çalıştıracak şekilde genişletmek yeterli olur
Acemice bir soru olacak ama bu yalnızca S3 için mi, yoksa C3'te de çalışabilir mi?
eget ile kurulan ELF ikililerinin de RISC-V için yeniden derlenmesi gerekir. Platforma göre ELF ayırmak için manifest desteği eklemek iyi olabilir
Ayrıca ne kadar PSRAM kapasitesi bulunduğunu da hesaba katmak gerekir