Skip to content

GUI for a microcontroller-based rocket stove temperature controller.

License

Notifications You must be signed in to change notification settings

johnvs/Rocket_Stove_Temp_Control_GUI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rocket Stove Temperature Controller GUI

This is an Electron-based app that serves as a GUI for an embedded microcontroller-based rocket stove temperature controller. It communicates with the temp controller via USB.

A little about Electron

From the Electron website:
"Electron is an open source library developed by GitHub for building cross-platform desktop applications with HTML, CSS, and JavaScript. Electron accomplishes this by combining Chromium and Node.js into a single runtime. Apps can be packaged for Mac, Windows, and Linux."

One thing to note about Electron development is that you will have two versions of Node on your development machine; your system installation and the version that gets installed and packaged with Electron. These do not need to be the same version number.

Usage

To clone and run this repository you'll need Git and Node.js (which comes with npm) installed on your computer. From your command line:

# Clone this repository
git clone https://github.com/johnvs/Rocket_Stove_Temp_Control.git
# Go into the repository
cd Rocket_Stove_Temp_Control
# Install dependencies
npm install
# Rebuild the app dependencies for Electron's version of Node
npm rebuild
# Run the app
npm start

Native Packages

This project uses a native package (serialport), which adds an additional step to the package install process. When you execute

npm install

as shown above, the packages in the dependencies and devDependencies section of the package.json file are downloaded and installed. If there are any native packages, they will then get compiled for your development version of node (and your dev system's processor).

And that won't do you any good if your system's version of node and Electron's version of node are different (which it probably will be).

To recomplie the packages (in the dependencies section) for Electron's version of node, this npm script is executed:

npm rebuild

Learn more about Electron and its API in the documentation.

Hardware

This project is designed to communicate with a Rocket Stove Temperature Controller (hardware) via USB. See the accompanying project - Rocket Stove Temp Controller (microcontroller code).

It can also be used as an example of how to implement this type of system, one consisting of an embedded microcontroller (with a USB port) and a computer based GUI.

License

MIT

About

GUI for a microcontroller-based rocket stove temperature controller.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published