#!/usr/bin/python3 import time import json from controller import Controller from mass import Mass from stirrer import Stirrer from pololu1376 import Pololu1376 from matplotlib.pyplot import figure, clf, plot, xlabel, ylabel, xlim, ylim, title, grid, axes, show, subplot def results_plot(self): figure(1) subplot(4, 1, 1) plot(self.time_v, self.theta_v, 'b-', linewidth=1) title('Temperature') grid(True) ylabel('°C') subplot(4, 1, 2) plot(self.time_v, self.power_v, 'r-', linewidth=1) title('Power') grid(True) ylabel('W') subplot(4, 1, 3) plot(self.time_v, self.error_v, 'b-', linewidth=1) title('Error') grid(True) ylabel('°C') subplot(4, 1, 4) plot(self.time_v, self.heatrate_v, 'r-', linewidth=1) title('Heatrate') grid(True) ylabel('°C/min') xlabel('t/min') show() if __name__ == '__main__': fp = open("brewpi.json") configJson = json.load(fp) plant_class = globals()[configJson["Controller"]['plant_name']] plant = plant_class(configJson["WaterSim"]) ruehrer_class = globals()[configJson["Controller"]['stirrer_name']] ruehrer = ruehrer_class(configJson["Controller"]['dt']) ablauf = Controller(configJson["Controller"], plant, ruehrer) fp = open("Rezept-001.json") recipeJson = json.load(fp) ablauf.start(recipeJson) ablauf.wait_finished() results_plot(ablauf) print ("End of program.")