Skip to content

A software used to control a gas burner by learning from past data.

Notifications You must be signed in to change notification settings

aamanrebello/Burner-Controller-Software

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

Fuel Gas Controller Software

This software, written in Python, controls the temperature of a gas burner based on what the user desires. It is designed for the below plan:

Personal-project-plan

The code in the folder local is meant to run on the local device. It contains the memory caching algorithm and directly provides adjustment recommendations to the local actuator. Currently, because we do not have access to hardware yet, a software testing framework has been created in local here which we can use to test the recommendations. The testing framework can assume different kinds of relationships between the parameters P, A, G and T (refer to the diagram).

The code in folder Remote runs on the remote server. It is built using the Flask framework. The ML folder has ML algorithms - we can add more here, but at present it has univariate and multivariate linear regression. It recieves data from the local device over a stateful HTTP interface and stores it in a CSV file for analysis. Libraries used for machine learning are SciPy, Sckikit-learn, NumPy and Pandas.

How to Run

The software can be run against the testing framework. To just run the local device software, starting from local directory do:

python main.py

This will run the program for a fixed amount of iterations, outputting results to the console. Each iteration is 5 seconds in length.

To also involve the server, starting from Remote directory run separately:

python external_intf_http.py

This will set up the server to listen. Then when you run the local program, the server will recieve data and if it has data to learn from, may even contribute its own predictions.

Adjusting the testing:

You can modify the schedule here. This specifies all the parameters plus the user's desired temperature. It also specifies how long these conditions last under the 'time' column.

You can also add new models to the environment. To use a particular model, adjust the value of MODEL_NUMBER in the reading generator.

Adjusting servers:

Currently we do not use any lookup resolution to find the remote server. You need to specify the remote server address in local here.

The author intends to extend this software in the future at a suitable time.

About

A software used to control a gas burner by learning from past data.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages