ESP32 · ESP8266 · MicroPython Açık kaynak · MIT

Tarayıcıdan Python yaz. Kartta anında çalıştır.

CYD Studio ucuz bir ESP32 ya da ESP8266 kartını tarayıcıdan yönetilen bir proje çalıştırıcıya çevirir. Kart bir kez hazırlanır; ondan sonra hiç derleme yapılmaz. Projeler düz .py dosyasıdır, tek tıkla başlar ve durur, birkaçı yan yana koşar.

  • C++ araç zinciri yok, derleme adımı yok
  • Durdur her koşulda çalışır, takılan projede bile
  • Her sayı gerçek kartlarda ölçüldü

Tek panel, bütün akış.

Kart tek dosyalık bir web paneli sunar. Editörde projeyi yazarsın, çalıştırırsın, print() çıktısını canlı izlersin, durdurursun, yanında bir başkasını açarsın. Aynı panel ve aynı import cyd üç farklı kartta çalışır.

Web paneli

Dosya listesi, editör, canlı konsol, kalıcı log, WiFi / ekran / depolama ayarları, TR/EN arayüz, klavye kısayolları.

Üç çalışma modu

Normal tek iş parçacığını paylaşır, Thread kendininkini alır, Solo kartı tek projeye tüm RAM'le yeniden başlatır (BLE, HTTPS).

Her koşulda durdurma

Nazik bayrak, sonra görev iptali, sonra bekçi reseti. Takılan bir proje paneli kalıcı olarak kilitleyemez.

Projenin kendi web sayfası

cyd.rota('/yol', fn) ana sunucuya rota ekler. Aynı port, ikinci soket yok; proje durunca rota da gider.

USB köprüsü

Panel seri kablodan, WiFi gerekmez. Küçük bir PC aracı onu 127.0.0.1:8080'de sunar.

Kesme tabanlı buton

cyd.buton(pin, fn). Yük altında yoklama 50 basıştan 5'ini yakaladı, kesme 50/50 yakaladı.

Üç kart, tek sistem.

Kartlar arasındaki farklar koda değil veriye yazılı: her kart bir özellik haritası bildirir, panel donanımda olmayanı gizler.

KartDonanımFirmwareAynı anda proje
CYD
ESP32-2432S028R
320x240 ILI9341 ekran, XPT2046 dokunmatik, SD yuvası, RGB LED, ışık sensörü, hoparlörÖzel imaj: dondurulmuş çekirdek, sabit 96 KB heap, RAM diyeti7 normal + 2–3 thread
NodeMCU
ESP8266
Dahili LED, tek analog giriş, 38 KB RAMÖzel imaj: dondurulmuş çekirdek, asyncio3 normal (thread yok)
ESP32 OLED
SSD1306
128x64 SSD1306 OLEDStok MicroPython v1.28, çekirdek dosya sisteminde4+

Normal, Thread, Solo.

Her proje satırında bir N / T / S cipi var. Tıkla, sırayla değişir; seçim dosyaya kaydedilir.

N

Normal

Ortak tek iş parçacığında asyncio görevi. cyd.sleep anında await'e çevrilir. LED, sensör, küçük web sayfası: projelerin çoğu.

heap
2–15 KB
dahili DRAM
0
T

Thread

Kendi FreeRTOS thread'i, GIL ile dilimli. Ekran çizen, sleep'siz sıkı döngü, ağır hesap.

heap
2–15 KB
dahili DRAM
10–15 KB
yalnız ESP32
S

Solo

Panel kapanır, kart yeniden başlar, tek proje tüm RAM'i alır. RESET panele döner. BLE ve HTTPS burada çalışır.

heap
hepsi
dahili DRAM
hepsi

Bir proje böyle görünür.

İki kural gerisini çözer: while True yerine while not cyd.should_stop(), time.sleep() yerine cyd.sleep(). Durdur'un çalışmasını ve projelerin kartı paylaşmasını sağlayan bu.

  • print() konsola ve karttaki kalıcı loga akar.
  • cyd.rota() projeye ana sunucuda kendi sayfasını verir.
  • cyd.buton() basışları yoklamayla değil kesmeyle yakalar.
  • Aynı dosya üç kartta da çalışır; pini getattr(cyd, 'D1', 22) seçer.
import cyd
from machine import Pin

led = Pin(getattr(cyd, 'D1', 22), Pin.OUT, value=0)   # NodeMCU: D1, CYD: GPIO22

try:
    while not cyd.should_stop():      # paneldeki Durdur'u dinle
        led.value(1)
        if not cyd.sleep(0.5): break  # durdurulabilir bekleme (saniye)
        led.value(0)
        if not cyd.sleep(0.5): break
finally:
    led.value(0)                      # nasıl biterse bitsin temizle

Dört adımda çalışır.

  1. 1

    Klonla ve kur

    Depoyu klonla, PC araçlarını kur: pip install mpremote esptool mpy-cross pyserial.

  2. 2

    WiFi'yi yaz

    boards/<kart>/config.example.json dosyasını config.json olarak kopyala, ağını gir. Dosya git'e hiç gitmez.

  3. 3

    Flash'la ve yükle

    firmware/ altındaki imajı yaz, tools/deploy.py'yi çalıştır. Belgelerde kart başına tam komutlar var.

  4. 4

    Paneli aç

    http://<kart-ip>/ adresine git, bir dosya yaz, ▶'a bas. WiFi olmazsa kart kendi erişim noktasını açar.

Atölye

Projeni paylaş. Başkalarınınkini çalıştır.

Atölye, CYD Studio kullanıcılarının .py projelerini paylaştığı yer: sıcaklık kaydedici, gece lambası, dokunmatik demosu. Karta ve kategoriye göre süz, kodu tarayıcıda oku, panele indir. Anonim paylaş ya da Nuvaka ile giriş yap.

Paylaşım kuralları

Yalnız .py, .txt ve .md dosyaları; dosya başına 2 MB, proje başına 5 dosya; saatte 20 dosya. Paylaşılan projeler MIT lisansıyla yayınlanır.

Sık sorulanlar

Hangi kartlar destekleniyor?

ESP32-2432S028R ("Cheap Yellow Display"), NodeMCU ESP8266 ve 128x64 SSD1306 OLED'li bir ESP32. Yeni kart eklemek bir cyd.py (özellik haritasıyla) ve bir config örneği demek; çekirdek değişmez.

Bir şey derlemem gerekiyor mu?

Hayır. Hazır firmware imajları depoda. Bir kez flash'lar, bir kez deploy edersin, sonrası tarayıcıda. Firmware'i yeniden derlemek yalnız çekirdeği değiştirirsen gerekir.

Sayılar neden "ölçüldü" diyor?

Belgelerdeki her RAM değeri, durdurma gecikmesi ve proje sayısı gerçek kartlarda seri port üzerinden ölçüldü, tahmin edilmedi. Bir şeyi değiştirirsen yeniden ölç.

HTTPS ya da BLE kullanabilir miyim?

Panelin yanında değil: dahili DRAM yetmiyor. İkisi de Solo modda çalışır; kart tek projeye tüm RAM'le yeniden başlar, RESET panele döner.

Atölye'de kim paylaşabilir?

Herkes. Takma adla anonim paylaşabilir ya da Nuvaka hesabınla giriş yapıp projelerini kendi adının altında tutar, sonradan yönetirsin.

Ücretsiz mi?

Evet. Kod GitHub'da MIT lisanslı, Atölye ücretsiz. Kartlar birkaç dolar.