This is the code that drives the VONK Fence Installation at Avansdag 2024.
The easiest way to get started is to enter the following commands in the terminal:
git clone https://github.com/avans-stationx/vonk-fence
cd vonk-fence
./install.sh
These commands will set everything up for you.
There are three different ways to compile the protobufs in this project.
- TypeScript-only:
pnpm run generate:protos
- With Python:
pnpm run generate:protos:python
- For production (emits to build destination):
pnpm run generate:protos:build
Note: options 2 and 3 generate Python sources, to be able to do that you need to activate the venv first with the command source .venv/bin/activate
.
The easiest way to upload the code to the Arduino is by opening this repository in Visual Studio Code with the PlatformIO extension installed. The editor should prompt you to install the extension because it is recommended by this repository. Then you can upload the code by pressing Ctrl + Option + U on a Mac or Ctrl + Alt + U on Windows and Linux.
To start the app in development mode, you have three options: locally, locally (only frontend) and remotely (e.g. via SSH). Trying to start the app with the wrong method will cause the app to either crash immediately, or to have undefined behavior. To run the app locally, enter the following command in the terminal: pnpm run dev
. To run it in frontend-only mode, execute pnpm run dev:frontend
. To run it remotely, execute the following command: pnpm run dev:remote
.
Before trying to start the app in production mode, make sure that you have installed and built it the proper way. The easiest way to do that is with the following command: ./install.sh --production
. To start the app in production mode, a block storage device has to be connected as well. After you have ensured that you have prepared your environment properly, you can start the app by issuing pnpm run start
at the command line. That command can only be run on the device itself, not remotely.