🎡Offseason Kiosk Programmer
In the event that you're hosting an offseason event, a Docker image containing the radio programming utility can be found below.
Releases
Release Notes
0.7.0
Bumped minimum version to 1.2.2
Displays currently installed firmware release
Added a "force firmware reflash" button
0.6.1
Fixed minimum versions and update times
0.6.0
Added logic to detect radios with firmware pre and post 1.2.x releases, 1.2.1 firmware is pre-packaged in this release
0.5.1
Updated packaged robot firmware release to 1.2.0
0.5
Added backward compatibility with VH-109 releases earlier than 1.2.0
0.4
Adds ability to pull WPA/SAE keys from FMS w/pin
Notice: Due to a schema change in frc-radio-api, 0.4 will not be compatible with VH-109_1.2.0 or later releases. The 0.5 version of the radio kiosk will be backward compatible on later releases of radio firmware.
0.3
Adds an admin page accessible by hovering over the "F" in "FRC" for 1 second before clicking.
The admin page links to the upload page, can program test teams, view what teams have programmed their radios, and enable the option to use provide teams 2.4GHz keys. All features are gated behind the admin password.
0.2.1
Bugfix: The data/firmware folder was getting overwritten by a mounted data folder. Changed to a symlink solution.
0.2.0
Added firmware update capability, prepackaged artifacts for VH-109 FW release 1.1.2
0.1.0
Initial release used at 2024 FIRST FRC Championship
Installation
The only requirements are that Docker is installed and a network interface (Ethernet adapter) is configured to 192.168.69.2/24
Assign the IP address of 192.168.69.2 with a netmask of 255.255.255.0 and no default gateway to your ethernet adapter of choice
From a terminal open to the folder containing
vh109-kiosk-0_2_0.tar.gz
, rundocker image load --input vh109-kiosk-0_2_0.tar.gz
. This loads the docker image from the archive.If you don't need to change the default password ("supercoolpassword"), skip to step 4. The password is set using a hash and salt. As a hacky solution, the salt and hash can be generated by running the following in node (or any online NodeJS compiler).
To persist the team keys data, we need to mount a local folder to the docker container. Create a data folder in the desired location. It must be referenced by absolute path and have the desired security for the raw team keys csv data.
Run the docker container with the following, replacing "/path/to/local/folder" with the path to the folder you just created.
If you created a custom password, use this command and also replace <HASH>
and <SALT>
with what you generated.
If you get an error about a container with the name kiosk
already being in use, run the following to remove it.
At this point, the kiosk should be running at http://localhost and auto restart as long as docker auto restarts.
Upload your key material in CSV format (team,key) at http://localhost/upload
The kiosk is now ready for use!
Last updated