Gömülü yazılım
Ekranı olan, internete bağlanan, prizde duran cihazlar. Yazılımın kısıtlı bellekte ve kesme zamanlamasına saygı göstererek çalışması gerektiği yer.
Ne yapıyoruz
- Cihaz yazılımı. ESP32-S3 üstünde ESP-IDF ile, PlatformIO araç zinciriyle derlenen firmware.
- Ekran sürücüsü. HUB75 RGB matris panellerde titremesiz, kaymasız görüntü.
- Kurulum akışı. Cihazın kendi geçici erişim noktasını açıp Wi-Fi bilgisini alması; kullanıcının kabloya ihtiyaç duymaması.
- Eşlik uygulaması. Cihazı bulan, bağlayan ve ayarlayan Flutter uygulaması.
- Uzaktan güncelleme. Sahadaki cihaza yeni sürüm gönderebilmek — sonradan eklenmesi en zor özellik, o yüzden başta koyuyoruz.
Bu tarafın kendine has zorluğu
Gömülüde hatalar web'deki gibi görünmez. TickerEye'da ekranda düzensiz bir kayma vardı: görüntü ara ara yatay olarak atlıyordu. Sebep koddaki bir mantık hatası değildi — RGB sürücüsünün kesme rutini, komutları harici belleğe (PSRAM) düşünce zamanlamayı tutturamıyordu.
Çözüm de kodda değil derleyici yapılandırmasındaydı: projeyi Arduino IDE'den
PlatformIO + ESP-IDF'e taşıdık; komutların ve salt okunur verinin dahili
bellekten çalışmasını, kesme rutininin IRAM'de kalmasını sdkconfig.defaults
ile açıkça belirttik. Arduino IDE bu ayarları açtırmıyordu. Kayma bir daha görünmedi.
Bu işte semptomu kovalamak pahalıya patlıyor. Ekranı yavaşlatarak kaymayı "azaltmak" mümkündü ve iki hafta sonra geri gelecekti.
- İŞLEMCİ
- ESP32-S3 (Wi-Fi + BLE, PSRAM'li)
- ÇATI
- ESP-IDF · PlatformIO · Arduino uyumluluk katmanı
- EKRAN
- HUB75 RGB matris · IRAM güvenli kesme rutini
- BAĞLANTI
- Wi-Fi kurulum portalı · HTTPS istemcisi · NTP saat
- UYGULAMA
- Flutter eşlik uygulaması (iOS + Android)
Cihazın tamamı TickerEye sayfasında anlatılıyor.
Cihaz fikriniz mi var?
Prototipi elinizde olan da olur, henüz kâğıtta olan da. Önce neyin mümkün olduğunu konuşuruz.