Subscribe Now
Trending News
Tools

WireClaw: ESP32 jako AI agent, který přežije výpadek internetu

WireClaw: ESP32 jako AI agent, který přežije výpadek internetu

Pošlete přes Telegram zprávu: „dej mi vědět, když teplota čipu překročí 28 stupňů.” Bot odpoví. Od té chvíle ESP32 hlídá teplotu sám — bez cloudu, bez průběžných LLM volání, bez WiFi. Spadne vám internet? Hlídá dál. Restartujete ho? Načte pravidla z flash paměti a pokračuje, jako by se nic nestalo.

Tohle je WireClaw, open-source firmware od Maria Schallnera (M64GitHub na GitHubu), který se poprvé ukázal veřejnosti 25. února 2026. Jeden z mála projektů, který bere vážně otázku, co se stane, když AI selže. A odpovídá na ni docela elegantně.

Dvě smyčky, jeden čip

Designový trik, na kterém WireClaw stojí, je jednoduchý: firmware logicky rozděluje práci na dvě nezávislé části.

Rule loop běží neustále a sítě se vůbec nedotýká. Čte senzory, vyhodnocuje uložená pravidla, spouští akce. Žádný HTTP request, žádná inference. Když teplota přeleze práh, rozsvítí se LED nebo odejde Telegram zpráva — lokálně, v řádu milisekund.

AI loop se probudí jen tehdy, když přijde zpráva přes Telegram, USB sériové rozhraní nebo NATS. Tehdy WireClaw zavolá OpenRouter (nebo lokální Ollamu), nechá LLM sestavit odpověď a případně vytvořit nové pravidlo. Maximum jsou čtyři iterace s nástroji na jednu zprávu, pak se vše zabalí.

Dokumentace to shrnuje jednou větou, která sedí: „The AI creates the rules. The rules run without the AI.” LLM funguje jako kompilátor lidského záměru do embedded logiky. Pravidlo, které vznikne, jde do flash paměti a od té chvíle žije svým životem.

Pro každého, kdo zkoušel stavět IoT s jazykovým modelem v hot loopu, je to úleva. Žádný API výpadek vám neshodí topení.

Co se vejde do ESP32

WireClaw vyžaduje 4 MB flash a jeden ze tří čipů: ESP32-C3, C6 nebo S3. Klasický ESP32 s jádrem Tensilica není podporován — kvůli OTA partition table. ESP8266 padá kvůli paměti.

Reálná spotřeba zdrojů podle dokumentace: RAM 59,7 % (196 KB ze 320 KB), Flash 51,4 % (1,3 MB z 2,5 MB). Zhruba 40 % RAM zbývá pro vlastní rozšíření. Setup portál a webové GUI sedí v PROGMEM, takže RAM nežerou.

Doporučená volba je ESP32-C6 DevKit za pět až deset dolarů. RISC-V jádro je rychlé, WS2812B onboard LED slouží rovnou jako vestavěný aktuátor. ESP32-S3 dává smysl tam, kde plánujete složitější rule chains a chcete víc paměti.

Pravidla v praxi

Rule engine je expresivnější, než by se na první pohled zdálo. Pravidlo se skládá ze senzoru, podmínky (gt, lt, eq a další), prahu a akce.

Virtuálních senzorů je hned několik: chip_temp z interního čidla, clock_hour, clock_minute a clock_hhmm. Posledně jmenovaný kóduje čas jako hodina × 100 + minuta — 10:12 se stane 1012. Plánování přes prostou podmínku eq, bez nutnosti řešit dvě pole zvlášť. Elegantní hack.

Akce zahrnují led_set, gpio_write, telegram, nats_publish a serial_send. V textových akcích funguje substituce: do zprávy napíšete „Teplota čipu: {chip_temp}°C" a engine to vyrenderuje z živých dat přímo v rule loopu — bez LLM.

Pokročilejší trik je řetězení pravidel (rule chaining): jedno LLM volání vytvoří víceúrovňovou sekvenci s neblokujícími prodlevami. Spustí se Telegram upozornění, po pěti sekundách se rozsvítí červená LED, po dalších deseti zhasne a publikuje se zpráva na NATS. Mezitím engine paralelně vyhodnocuje ostatní pravidla.

Které modely chains zvládají, a které ne, je zajímavé čtení. Gemini 2.5 Flash to dává excelentně za zhruba čtyři sekundy. Claude Sonnet 4.5 taky, ale potřebuje 10 sekund. Qwen 2.5 7B selhává: chybějící kroky, špatné prodlevy, někdy přímo chyby v syntaxi. Pro hobby use je Gemini Flash přes OpenRouter sweet spot — dobrý výkon, rozumná cena.

NATS jako páteř

Tady WireClaw zachází dál než většina podobných projektů.

NATS, lehký pub/sub broker, je integrovaný ve třech vrstvách. První jsou virtuální senzory: vytvoříte senzor typu nats_value se subscribe na subject, třeba home.room.temp. Cokoliv, co umí na NATS publikovat — Python skript, Home Assistant, průmyslový PLC, jiný WireClaw — najednou dodává data přímo do rule enginu.

Druhá vrstva je tool-call protokol. Externí AI agent (stačí libovolný NATS klient) může volat 19 dostupných nástrojů přímo na ESP32, bez nutnosti budit lokální LLM. Latence se podle dokumentace pohybuje kolem 30 milisekund.

Třetí vrstva, HAL (Hardware Abstraction Layer), je nejnižší. Žádný LLM, žádný JSON. Pevně definované subjekty ve tvaru {device}.hal.gpio.5.set s payloadem "1" a odpovědí "ok". Pro programy v Pythonu nebo Go, které potřebují deterministickou latenci, je tohle správná vrstva.

A pak je tu remote_chat — nástroj, kterým se jeden WireClaw může ptát druhého přirozeným jazykem. Edge AI mesh s federovaným usuzováním. Trochu sci-fi, ale funkční.

Kde to narazí

Tady je ale potřeba říct pár věcí na rovinu.

Klasický ESP32 ne. Máte zásobu starých DevKitů? Smůla. Jdete na C3, C6 nebo S3.

Senzory. WireClaw nativně podporuje digitální vstupy, ADC, NTC termistor, fotorezistor, interní teploměr čipu a sériový bridge přes UART. DHT22, BME280, CO2 senzory nebo cokoliv s vlastním protokolem WireClaw přímo nečte. Řešení existuje — serial bridge přes druhý mikrokontrolér (třeba Raspberry Pi Pico W) — ale přidává vrstvu hardwaru. Reálně to znamená, že z jednoduché „plug and play” instalace se stane projekt.

Bezpečnost. Setup portál je captive portál bez autentizace. Webové rozhraní po setup taky. Kdokoli v LAN si může změnit system prompt, upravit persistentní paměť nebo smazat pravidla. API klíč leží na flash paměti v plaintextu. Pro lab a hobby projekt v pořádku, pro produkci to chce VLAN izolaci a přísný spending limit na OpenRouter účtu.

Kontext. Konverzační buffer drží šest výměn plus 512 bytů persistentní paměti. Agent si nepamatuje hlubší historii. Pro dotaz na teplotu dostačující, pro složitější dialog málo.

Frekvence rule loopu není v dokumentaci uvedena. Pro motorické řízení nebo cokoliv, kde záleží na sub-milisekundové deterministice, sáhněte po přímém low-level firmware. WireClaw je orchestrátor, ne real-time kontrolér.

Komu to dává smysl

WireClaw cílí na konkrétní nikku: bastlíře s ESP32-C6 v šuplíku, kteří chtějí experimentovat s AI agenty bez nutnosti stavět serverovou infrastrukturu. Pro lab automatizaci, kde je Home Assistant overkill. Pro vzdělávací demo. Pro distribuovanou senzorovou síť, kde každý node rozhoduje sám.

Komu smysl nedává: každému, kdo už provozuje plnohodnotného AI agenta na lokálním serveru (Raspberry Pi, Mac Mini, NAS). Přidávat NATS broker jen kvůli WireClaw, když NATS broker pro jiné účely already máte, je zbytečný okruh. V takovém případě agent na serveru zvládne totéž lépe — s více pamětí, lepším modelem a plným přístupem k historii.

Komunita je zatím malá. 15 hvězdiček, čtyři forky, žádné formální release. Záleží na jediném vývojáři. To se může změnit, ale dnes ovlivňuje, jak hluboko se do toho pouštět.

Pokud máte ESP32-C6 a hodinu času, web flasher na wireclaw.io/flash.html udělá zbytek. Chrome nebo Edge kvůli WebSerial API, kabel, API klíč na OpenRouter — a za pár minut si přes Telegram řeknete prvnímu vlastnímu edge agentovi, co má sledovat.

Přiznám se, že mě architektura dvou smyček docela zaujala. Zbytek záleží na tom, jestli vám omezená sada nativních senzorů nevadí.

Related posts