www-thermferm/maintenance.php

Sat, 16 May 2015 17:39:30 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Sat, 16 May 2015 17:39:30 +0200
changeset 362
c92651a54969
parent 333
f687396e571b
child 382
bcb2ecc51239
permissions
-rw-r--r--

Made the client-server protocol more robust. When a change to a unit is made using the web interface, the main process is stopped during the update. Splitted the PID in two PID's, one for heating and one for cooling. Adjusted the web edit scrreen for this, but there are still rough edges. Replaced the PID code, maybe this one works better for our purpose. The simulator air temperature changes on the simulator heater and cooler, but it is not realistic at all. This is a development version, do not use in production. The version is 0.3.0

134
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1 <?php
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
2 /*****************************************************************************
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
3 * Copyright (C) 2014
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
4 *
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
5 * Michiel Broek <mbroek at mbse dot eu>
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
6 *
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
7 * This file is part of ThermFerm
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
8 *
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
9 * This is free software; you can redistribute it and/or modify it
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
10 * under the terms of the GNU General Public License as published by the
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
11 * Free Software Foundation; either version 2, or (at your option) any
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
12 * later version.
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
13 *
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
14 * ThermFerm is distributed in the hope that it will be useful, but
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
15 * WITHOUT ANY WARRANTY; without even the implied warranty of
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
17 * General Public License for more details.
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
18 *
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
19 * You should have received a copy of the GNU General Public License
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
20 * along with ThermFerm; see the file COPYING. If not, write to the Free
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
21 * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
22 *****************************************************************************/
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
23
173
7259ee8778e9 More style updates
Michiel Broek <mbroek@mbse.eu>
parents: 172
diff changeset
24 require_once('utilities.php');
134
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
25 /*
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
26 * Look for the style names in the jqwidgets/styles directory.
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
27 */
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
28 $my_style = 'ui-redmond';
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
29
269
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 260
diff changeset
30 $answer = send_cmd('GLOBAL GET');
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 260
diff changeset
31 $arr = explode("\r\n", $answer);
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 260
diff changeset
32 $version = "?";
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 260
diff changeset
33
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 260
diff changeset
34 if (startsWith($arr[0], "213")) {
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 260
diff changeset
35 $j = 1;
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 260
diff changeset
36 while (1) {
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 260
diff changeset
37 if (strcmp($arr[$j], ".") == 0)
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 260
diff changeset
38 break;
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 260
diff changeset
39 $f = explode(",", $arr[$j]);
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 260
diff changeset
40
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 260
diff changeset
41 if ($f[0] == "RELEASE")
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 260
diff changeset
42 $version = $f[1];
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 260
diff changeset
43 $j++;
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 260
diff changeset
44 }
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 260
diff changeset
45 }
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 260
diff changeset
46
134
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
47 $outstr = '<!DOCTYPE html>'.PHP_EOL;
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
48 $outstr .= '<html>'.PHP_EOL;
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
49 $outstr .= ' <head>'.PHP_EOL;
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
50 $outstr .= ' <meta http-equiv="content-type" content="text/html; charset=utf-8" />'.PHP_EOL;
173
7259ee8778e9 More style updates
Michiel Broek <mbroek@mbse.eu>
parents: 172
diff changeset
51 $outstr .= ' <title>ThermFerm - Maintenance Menu</title>'.PHP_EOL;
134
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
52 $outstr .= ' <link type="text/css" href="css/style.css" rel="stylesheet" media="all" />'.PHP_EOL;
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
53 $outstr .= ' </head>'.PHP_EOL;
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
54 $outstr .= ' <body class="default">'.PHP_EOL;
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
55 $outstr .= ' <div id="jqxWidget">'.PHP_EOL;
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
56 $outstr .= ' <div id="header">'.PHP_EOL;
269
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 260
diff changeset
57 $outstr .= ' <div id="title">'.PHP_EOL;
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 260
diff changeset
58 $outstr .= ' ThermFerm '.$version.PHP_EOL;
dc88583a068d All web screens now show the program name and version
Michiel Broek <mbroek@mbse.eu>
parents: 260
diff changeset
59 $outstr .= ' </div>'.PHP_EOL;
134
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
60 $outstr .= ' <form action="index.php" style="margin:30px; float:right">'.PHP_EOL;
173
7259ee8778e9 More style updates
Michiel Broek <mbroek@mbse.eu>
parents: 172
diff changeset
61 $outstr .= ' <input type="submit" style="width: 150px; height: 25px;" value="Dashboard" />'.PHP_EOL;
134
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
62 $outstr .= ' </form>'.PHP_EOL;
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
63 $outstr .= ' </div> <!-- header -->'.PHP_EOL;
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
64 $outstr .= ' <div id="content">'.PHP_EOL;
172
f45c291c6331 Added style to the maintenance menu
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
65 $outstr .= ' <div id="menu">'.PHP_EOL;
f45c291c6331 Added style to the maintenance menu
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
66 $outstr .= ' <div id="menu_header">'.PHP_EOL;
f45c291c6331 Added style to the maintenance menu
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
67 $outstr .= ' Maintenance Menu'.PHP_EOL;
f45c291c6331 Added style to the maintenance menu
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
68 $outstr .= ' </div>'.PHP_EOL;
f45c291c6331 Added style to the maintenance menu
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
69 $outstr .= ' <div id="menu_left">'.PHP_EOL;
f45c291c6331 Added style to the maintenance menu
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
70 $outstr .= ' <form action="global.php" style="margin:20px;">'.PHP_EOL;
f45c291c6331 Added style to the maintenance menu
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
71 $outstr .= ' <input type="submit" class="jqx-button" style="width: 200px; height: 25px;" value="Global Setup" />'.PHP_EOL;
f45c291c6331 Added style to the maintenance menu
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
72 $outstr .= ' </form>'.PHP_EOL;
f45c291c6331 Added style to the maintenance menu
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
73 $outstr .= ' <form action="devices.php" style="margin:20px;">'.PHP_EOL;
f45c291c6331 Added style to the maintenance menu
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
74 $outstr .= ' <input type="submit" class="jqx-button" style="width: 200px; height: 25px;" value="Devices Setup" />'.PHP_EOL;
f45c291c6331 Added style to the maintenance menu
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
75 $outstr .= ' </form>'.PHP_EOL;
333
f687396e571b Added archives web page
Michiel Broek <mbroek@mbse.eu>
parents: 269
diff changeset
76 $outstr .= ' <form action="archives.php" style="margin:20px;">'.PHP_EOL;
f687396e571b Added archives web page
Michiel Broek <mbroek@mbse.eu>
parents: 269
diff changeset
77 $outstr .= ' <input type="submit" class="jqx-button" style="width: 200px; height: 25px;" value="Archives" />'.PHP_EOL;
f687396e571b Added archives web page
Michiel Broek <mbroek@mbse.eu>
parents: 269
diff changeset
78 $outstr .= ' </form>'.PHP_EOL;
260
ef1469dd92e7 Added Simulator editor
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
79 /*
ef1469dd92e7 Added Simulator editor
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
80 * See if the server supports simulators
ef1469dd92e7 Added Simulator editor
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
81 */
ef1469dd92e7 Added Simulator editor
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
82 if (send_cmd_check("SIMULATOR LIST") == 0) {
ef1469dd92e7 Added Simulator editor
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
83 $outstr .= ' <form action="simulator.php" style="margin:20px;">'.PHP_EOL;
ef1469dd92e7 Added Simulator editor
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
84 $outstr .= ' <input type="submit" class="jqx-button" style="width: 200px; height: 25px;" value="Simulator Setup" />'.PHP_EOL;
ef1469dd92e7 Added Simulator editor
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
85 $outstr .= ' </form>'.PHP_EOL;
ef1469dd92e7 Added Simulator editor
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
86 }
172
f45c291c6331 Added style to the maintenance menu
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
87 $outstr .= ' </div>'.PHP_EOL;
f45c291c6331 Added style to the maintenance menu
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
88 $outstr .= ' <div id="menu_right">'.PHP_EOL;
f45c291c6331 Added style to the maintenance menu
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
89 $outstr .= ' <form action="profiles.php" style="margin:20px;">'.PHP_EOL;
f45c291c6331 Added style to the maintenance menu
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
90 $outstr .= ' <input type="submit" class="jqx-button" style="width: 200px; height: 25px;" value="Fermentation Profiles" />'.PHP_EOL;
f45c291c6331 Added style to the maintenance menu
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
91 $outstr .= ' </form>'.PHP_EOL;
f45c291c6331 Added style to the maintenance menu
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
92 $outstr .= ' <form action="units.php" style="margin:20px;">'.PHP_EOL;
f45c291c6331 Added style to the maintenance menu
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
93 $outstr .= ' <input type="submit" class="jqx-button" style="width: 200px; height: 25px;" value="Fermentation Units" />'.PHP_EOL;
f45c291c6331 Added style to the maintenance menu
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
94 $outstr .= ' </form>'.PHP_EOL;
f45c291c6331 Added style to the maintenance menu
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
95 $outstr .= ' </div>'.PHP_EOL;
f45c291c6331 Added style to the maintenance menu
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
96 $outstr .= ' </div>'.PHP_EOL;
173
7259ee8778e9 More style updates
Michiel Broek <mbroek@mbse.eu>
parents: 172
diff changeset
97 $outstr .= build_footer();
134
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
98
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
99 echo $outstr;
f05601490415 Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
100

mercurial