The application has the following features:
- Using the blocks editor to create arduino/dwenguino c++ code.
- Live translation of blocks to code.
- In browser simulation environment with different scenarios.
- Predefined tutorials to be used in a classroom.
- Multiple language support (English, Dutch, French, German, Greek, Italian, Malay)
- Direct compilation and upload to the Dwenguino board through nodejs application.
- Textual editor based on the vscode monaco editor
To run the backend application:
- Set the correct parameters in the backend/.env file.
- Be sure to set MONGODB_URI to a valid mongodb instance running on your system (or in the cloud).
- Start the application using
node --experimental-modules index.js
To execute the compiled code on the Dwenguino µC, you need our custom usb bootloader. More information can be found on the github page of the project.
On linux, run the deploy.sh script in the deploy folder.
npm install and use
npm run build to build the application. Start the backend application with
npm install and use
npm run build-dev to build the application. This makes debugging in the browser possible. Use the script
start.sh to start the server locally.
Install node and npm:
sudo apt update sudo apt install curl dirmngr apt-transport-https lsb-release ca-certificates vim sudo apt update curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt install nodejs
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | gpg --dearmor | sudo tee /usr/share/keyrings/mongodb.gpg > /dev/null echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list sudo apt update sudo apt install mongodb-org
Install npm dependencies:
cd Blockly-for-Dwenguino npm install --legacy-peer-deps
We refer to this styleguide to help you contribute to the Dwenguinoblockly project.
The documentation can be accessed from the
docs folder (
docs/index.html). You can generate new documentation by running the following command:
./node_modules/.bin/jsdoc -c jsdoc-conf.json -r -d docs.