First real content in this repo. Runs as a standalone web app (not on the ESP32 -- Blockly is far too large for the device's flash), talking to a device already on the LAN via the JSON API kvida-os now exposes (see kvida-os's transport README, "JSON API" section). One page: enter a device address, fetch /api/status + /api/mqtt, edit and save MQTT broker/credentials back via POST /api/mqtt. Proves the API end-to-end from a real standalone app before any Blockly work starts. No framework yet -- kept minimal until the Blockly editor itself is designed. Verified: npm install/build are clean (no TS errors), and the dev server was confirmed reachable with the device's CORS headers allowing cross-origin fetch() calls from it. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
21 lines
1.1 KiB
Markdown
21 lines
1.1 KiB
Markdown
# kvida-sdk
|
|
|
|
Web client for configuring and (eventually) visually programming Kvida devices -- see [kvida/AGENTS.md](../AGENTS.md) for the product vision (Blockly -> Lua, "Level 2" configuration).
|
|
|
|
Runs as a standalone web app, not on the device itself -- Blockly is far too large for the ESP32's flash. Talks to a device already on the local network via the JSON API kvida-os exposes (see [kvida-os's transport README](../os/components/transport/README.md#json-api)).
|
|
|
|
**Not for initial Wi-Fi setup.** The captive portal (SoftAP) that gets a device onto Wi-Fi for the first time has to be served by the device itself -- a phone connected to the isolated setup AP has no route to this app. This app is for configuring a device that's already online (MQTT broker/credentials today, more later).
|
|
|
|
## Getting started
|
|
|
|
```sh
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
Open the printed local URL, enter the device's address (e.g. `kvida-403ec1.local`, or its IP), and click Connect.
|
|
|
|
## Stack
|
|
|
|
Vite + TypeScript, no framework yet -- kept minimal until the Blockly editor itself is designed, at which point the UI needs will be much clearer.
|