QuonkBoard is a React mission-control dashboard for Rice Eclipse engine test operations. It provides live telemetry views, engine diagrams, valve controls, ignition controls, and plotting for the Sphinx and Prometheus configurations.
src/App.js- Application shell, routing, dark Material UI theme, and shared connection state.src/pages/- Main display pages for Proxima, Sphinx, and Prometheus.src/components/- Dashboard UI widgets, including connection controls, live readouts, plots, telemetry logs, valve controls, ignition controls, and the top bar.src/logic/- Runtime data handling.Interface.jsmanages the WebSocket connection and command messages, whileDataManager.jsstores telemetry, logs, valve states, moving averages, and rate-of-change views.src/configs/- Engine-specific sensor and driver mappings used to translate incoming telemetry into dashboard fields.src/diagrams/,src/styles/,src/audio/, andsrc/fonts/- Static assets and styling for the dashboard experience.public/- Static HTML and manifest files used by Create React App.
This guide assumes you already have Git and a web browser (Chrome, Firefox, or Edge). The only other thing you need is Node.js (LTS version). npm, which installs the dependencies and runs npm start, is included with Node.js.
Download the LTS installer from https://nodejs.org/en/download and run it with the default options. Alternatively, from a terminal:
# Windows (PowerShell)
winget install OpenJS.NodeJS.LTS
# macOS (requires Homebrew, https://brew.sh)
brew install node
# Ubuntu / Debian
sudo apt update
sudo apt install nodejs npm
# Fedora
sudo dnf install nodejs npmA code editor such as VS Code is optional, but it has a built-in terminal that makes the steps below easier.
Close and reopen your terminal after installing, then check that everything is installed correctly. Each command should print a version number:
git --version
node --version
npm --versionIf a command says it is not recognized or not found, see Troubleshooting. On Ubuntu / Debian, the version of Node.js from apt can be very old. If node --version prints something older than v18, install the LTS version from https://nodejs.org/en/download instead.
The computer needs internet access for this section, so do it before you connect to the labjack over ethernet.
- Open a terminal. On Windows, search for "PowerShell" in the Start menu. On macOS, open "Terminal". On Linux, open your terminal app (
Ctrl + Alt + Ton Ubuntu). If you installed VS Code, you can use its built-in terminal instead. - Download the code and move into the project folder:
git clone https://github.com/rice-eclipse/quonkboard.git
cd quonkboard- Install the project dependencies. This can take a few minutes. You only need to do this once, or again after the dependencies in
package.jsonchange:
npm install- Make sure your terminal is in the
quonkboardfolder, then start the development server:
npm start- Wait until the terminal says it compiled successfully. Your browser should open automatically. If it does not, open
http://localhost:3000yourself.
The app will run at http://localhost:3000 by default.
The page can be refreshed after edits are made to reflect changes
To stop the server, click on the terminal and press Ctrl + C. Leave the terminal open while you are using the dashboard, since closing it stops the server.
On Windows you can also double-click windows_start.bat to start the server without typing anything. It runs npm start for you, but you still need to run npm install first.
The dashboard runs on your own computer, so npm start and localhost:3000 work without any network connection.
npm,node, orgitis not recognized / command not found: Close and reopen your terminal, or restart your computer, so it picks up the new install. If it still fails, reinstall Node.js or Git.npm installfails orModule not foundappears when starting: Check that you have internet access (not just the ethernet link to the labjack), then delete thenode_modulesfolder andpackage-lock.jsonand runnpm installagain.- Port 3000 is already in use: Another copy of the dashboard or program is using it. Close it, or type
Ywhen asked if you want to use another port and open the address shown in the terminal. - The dashboard opens but will not connect: Check that the ethernet cable is plugged in at both ends, that your computer has an address on
192.168.0.x, thatping 192.168.0.100gets a reply, that the labjack service is running on the RPi, and that theip:portis correct. - Commands are rejected with
Invalid password: Re-enter the password in thePasswordbox and check that it matches the labjack config on the RPi.
QuonkBoard was bootstrapped with Create React App and uses React 18, React Router, Material UI, and MUI X Charts.