V rámci URL zařízení v prvním kontaktování serveru zasílá příznak "timestamp_check", v hlavičce requestu je obsažený 'X-Api-Key' s číselným kódem vygenerovaným na zařízení, který se při párování zařízení ukládá na server a přidává entropii, aby nebylo jednoduše možné iterovat MAC adresy zařízení a snažit se ze serveru stáhnout cizí obrazovky.
Zařízení na server posílá data metodou POST, v hlavičce uvádí že se jedná o JSON a v těle požadavku je potom JSON o struktuře navržené Patrikem Novákem v rámci issue: https://github.com/MultiTricker/zivyobraz-fw/issues/45
kdy se zatím nepočítá s uzly customValues a backlog, napětí se přesunulo pod system do 'vccVoltage'' a pár drobností:
{
"apiVersion": "3.0",
"board": "ESPink_V2",
"fwVersion": "3.0",
"system": {
"cpuTemp": 44.3,
"resetReason": "deepsleep",
"vccVoltage": 4.10
},
"network": {
"ssid": "ssid",
"rssi": -60,
"mac": "macaddr",
"apRetries": 0,
"lastDownloadDuration": 5,
"ipAddress": "192.168.0.2"
},
"display": {
"type": "GDEMxxx",
"width": 800,
"height": 480,
"colorType": "4C",
"lastRefreshDuration": 23
},
"sensors": [
{
"type": "SHT40",
"temp": 23.4,
"hum": 60.2
}
]
}
První požadavek se děje s parametrem "timestamp_check" a případnými naměřenými hodnotami z volitelného čidla teploty/vlhkosti/tlaku. Server vrátí aktuální timestamp obsahu na serveru a pokud je novější než jaký je uložený timestamp v paměti zařízení, tak se stáhne nový obsah. Pro ten se již používají volání bez timestamp_check a naměřených hodnot.
| Parametr | Příklad | Popis |
|---|---|---|
| mac | DA:AB:CA:04:A5:65 | MAC adresa zařízení, která slouží jako jeho identifikátor. |
| b | ESPInk_v2 | Typ desky |
| d | GDEW042BW | Typ displeje |
| timestamp_check | 1 | Parametr se uvádí pouze při prvním připojení kdy se zjišťuje, jestli je na serveru nový obsah. |
| rssi | -51 | Síla signálu na Wi-Fi. |
| ssid | MOJE_APCKO_DOMA | Název AP na které se zařízení připojuje. |
| v | 3.92 | Napětí na baterii. |
| x | 800 | Rozlišení - šířka. |
| y | 480 | Rozlišení - výška. |
| c | 4G | Barevnost ePaperu - viz tabulka níže. |
| fw | 2.3 | Verze FW. |
| ap_retries | 0 | Kolik bylo potřeba pokusů na připojená se k AP (pro pozdější debuging). |
| temp | 21.53 | Teplota. |
| hum | 53 | Vlhkost. |
| pres | 1025 | Tlak. |
Rozlišení a barevnost slouží především k prvotnímu spárování ePaperu, následně se při sestavení vraceného obrázku používá nastavení uvedené u zavedeného zařízení.
| Barevnost | Popis |
|---|---|
| BW | Černá, bílá |
| GRAYSCALE | Stupně šedi (4 barvy) |
| 8G | Stupně šedi (8 barev) |
| RBW | Tříbarevný s červenou |
| YBW | Tříbarevný se žlutou |
| 4C | Čtyřbarevný (červená a žlutá) |
| 7color | 7 barev |
Typ resetu desky:
| Value | Meaning |
|---|---|
| 0 | UNKNOWN |
| 1 | POWERON (power-on reset or flash upload) |
| 2 | EXT (external reset button) |
| 3 | SW (software reset) |
| 4 | PANIC (software panic/exception) |
| 5 | INT_WDT (interrupt watchdog) |
| 6 | TASK_WDT (task watchdog) |
| 7 | WDT (other watchdog) |
| 8 | DEEPSLEEP (wake from deep sleep) |
| 9 | BROWNOUT (brownout reset) |
| 10 | SDIO (reset over SDIO) |
< HTTP/1.1 200 OK < Date: Sat, 24 May 2025 19:16:46 GMT < Server: Apache < Expires: Thu, 19 Nov 1981 08:52:00 GMT < Content-Disposition: attachment; filename=348518974bc0/obrazovka.z2 < Data-Length: 58211 < Content-Description: File Transfer < Sleep: 44 < PreciseSleep: 2642 < Timestamp: 05242116 < PartialRefresh: 1 < Rotate: 1 < Connection: close < Content-Type: image/z2
V odpovědi najdeme informace pro zařízení:
V hlavičce "Content-Type" je sice uvedené, zda se jedná o formát zX nebo PNG, ale to se v kódu detekuje a řeší načtením prvních bytů z těla odpovědi.