CYD Studio › Belgeler › HTTP API
HTTP API
Kart üstü panelin kullandığı uç noktalar. Her şey http://<kart-ip>/api/... altında, JSON döner; yazma istekleri POST. /api dışı her yol önce projelerin cyd.rota ile açtığı rotalara bakılır.
Durum ve dosyalar
| Uç | İş |
|---|---|
GET /api/status | İşler (mod dahil), sys (heap / DRAM / flash / rssi / sıcaklık), net, autostart, rotalar, max_jobs, max_thread |
GET /api/caps | Özellik haritası (OZELLIKLER + ölçülen yetenekler); panel düğmeleri buna göre gizler |
GET /api/list | Proje dosyaları + modlar + base (/projects ya da /sd/projects) |
GET /api/file?name= | Dosya içeriği |
POST /api/save?name= | Yaz (gövde = ham içerik, akıtmalı) |
POST /api/delete?name= · POST /api/rename?name=&to= | |
GET /api/docs[?dil=en] | Kart üstü belge (Markdown) |
Çalıştırma
| Uç | İş | ||
|---|---|---|---|
| `POST /api/run?name=[&mod=normal\ | thread\ | solo]` | Çalıştır; mod tek seferlik |
POST /api/stop?name= · POST /api/stopall | Durdur | ||
POST /api/mod?name=&mod= | Dosyanın kalıcı çalışma modu | ||
| `POST /api/solo?name=&wifi=0\ | 1` | Solo modda yeniden başlat (tek seferlik) | |
| `POST /api/autostart?name=&on=0\ | 1` | Açılış listesi (çoklu) | |
POST /api/force | Takılı projeyi zorla (reset) | ||
POST /api/eval | Gövdedeki kodu bir kez çalıştır | ||
GET /api/rotalar · GET /<rota> | Projelerin açtığı yollar; projenin işleyicisi |
Log
| Uç | İş |
|---|---|
GET /api/log?since=N[&source=ad] | Canlı log: [seq, kaynak, satır] (100 satırlık halka, sayfa başına en çok 80) |
POST /api/log/clear | Canlı logu temizle |
GET /api/log/file?name= | Projenin kalıcı logu (/logs/<proje>.log, 8 KB/proje) |
GET /api/log/files | Logu olan projeler ve boyutları |
POST /api/log/file/clear?name= |
Ayarlar
| Uç | İş | ||
|---|---|---|---|
GET/POST /api/wifi | Ağ ayarları (boş şifre eskisini korur) | ||
GET /api/scan | Ağ taraması | ||
| `POST /api/display?rot=0..3&bgr=0\ | 1&test=1&save=0\ | 1` | Ekranı anında ayarla |
| `GET/POST /api/depolama[?mod=otomatik\ | flash\ | sd]` | Projeler nerede dursun (canlı geçiş) |
| `POST /api/tasi?hedef=sd\ | flash[&names=a,b]` | Flash ↔ SD taşıma (kopyala, doğrula, kaynağı sil; çalışan proje varken reddedilir) | |
POST /api/reset | Yeniden başlat |
Örnek
curl http://192.168.0.217/api/status
curl -X POST --data-binary @merhaba.py "http://192.168.0.217/api/save?name=merhaba.py"
curl -X POST "http://192.168.0.217/api/run?name=merhaba.py"
curl "http://192.168.0.217/api/log?since=0&source=merhaba.py"
curl -X POST "http://192.168.0.217/api/stop?name=merhaba.py"
USB köprüsü üzerinden
tools/usb_panel.py aynı API'yi seri porttan sunar: çerçeve ~CYD~id~b64(json{m,p,q,b|f}), cevap yazıldıkça base64'lenip ~CYDR~id~... olarak akıtılır; 384 bayt üstü gövdeler ~CYDB~ parçaları olarak gider ve her parça ~CYDA~ ile onaylanır. Panel tarafında bir fark yoktur.
Son güncelleme 2026-10-17 · Bu sayfa Markdown olarak