Rust Demo Firmware For Tokay Lite Camera
The firmware is based on ESP32-IDF Rust framework. In order to install all necessary tools, proceed with following:
cargo install espup
espup install
cargo install ldproxy
The demo firmware uses Uploadcare cloud provider as a means of images storage. To have your images uploaded, do following:
ThingsBoard IoT framework is used in the demo to display the image. No other telemetry is sent for simplicity, but it's easy to extend the firmware to send more data if needed.
To leverage ThingsBoard in this demo, you need to do following:
-
Create a free account on ThingsBoard demo server.
-
Follow the official Getting Started guide to provision the device an obtain Device Access Token.
-
Add a single telemetry record for the newly created ThingsBoard device. This will serve as a placeholder image. You can do it either manually in ThingsBoard UI, or by issuing a command:
mosquitto_pub -d -q 1 -h "demo.thingsboard.io" -t "v1/devices/me/telemetry" -u "$ACCESS_TOKEN" -m '{"url":"https://placehold.co/600x400.png"}'
-
Take
doc/image_display_widget.json
file and upload it to the Widget Library in your ThingsBoard UI. -
Create IoT dashboard and add "Image Display Widget" to it. Add more widgets if you want.
-
At this point your dashboard could look like this:
-
Create a configuration file based of an example:
cp doc/example.cfg.toml cfg.toml
-
Modify values of
cfg.toml
according to previously obtained access keys. Don't forget to modify WiFi settings.
As simple as:
cargo build
-
Connect the camera USB-C port to PC.
-
Press hold PWR_ON button (SW1). Don't release the button until flashing is complete.
-
Flash the firmware:
cargo run
-
Enjoy your camera uploading images every 10 seconds.