Wed, 30 Jul 2014 23:06:46 +0200
Update LCD even when unit is off
<?php /***************************************************************************** * Copyright (C) 2014 * * Michiel Broek <mbroek at mbse dot eu> * * This file is part of ThermFerm * * This is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2, or (at your option) any * later version. * * ThermFerm is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with ThermFerm; see the file COPYING. If not, write to the Free * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *****************************************************************************/ function open_socket() { $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if (!($sock === false)) { // if (socket_connect($sock, "rpi02", 6554)) { if (socket_connect($sock, "localhost", 6554)) { socket_set_option($sock, SOL_SOCKET, SO_RCVTIMEO, array('sec' => 15, 'usec' => 0)); } else { socket_close($sock); } } return $sock; } function startsWith($haystack, $needle) { return !strncmp($haystack, $needle, strlen($needle)); } function build_header($heading) { $outstr = '<!DOCTYPE html>'.PHP_EOL; $outstr .= '<html>'.PHP_EOL; $outstr .= ' <head>'.PHP_EOL; $outstr .= ' <meta http-equiv="content-type" content="text/html; charset=utf-8" />'.PHP_EOL; $outstr .= ' <title>'.$heading.'</title>'.PHP_EOL; $outstr .= ' <link type="text/css" href="css/style.css" rel="stylesheet" media="all" />'.PHP_EOL; $outstr .= ' </head>'.PHP_EOL; $outstr .= ' <body class="default">'.PHP_EOL; $outstr .= ' <div id="jqxWidget">'.PHP_EOL; $outstr .= ' <div id="header">'.PHP_EOL; $outstr .= ' <form action="maintenance.php" style="margin:30px; float:right">'.PHP_EOL; $outstr .= ' <input type="submit" class="jqx-button" value="Maintenance Panel" />'.PHP_EOL; $outstr .= ' </form>'.PHP_EOL; $outstr .= ' </div> <!-- header -->'.PHP_EOL; $outstr .= ' <div id="content">'.PHP_EOL; return $outstr; } function build_footer() { $outstr = ' </div> <!-- content -->'.PHP_EOL; $outstr .= ' </div> <!-- jqxWidget -->'.PHP_EOL; $outstr .= ' </body>'.PHP_EOL; $outstr .= '</html>'.PHP_EOL; return $outstr; } /* * Goto URL. Works also after headers have been sent. */ function load($url) { echo' <script> if (top.location != self.location) { top.location = "'.$url.'" } {location.href="'.$url.'";} </script>'; } /* * Send command */ function send_cmd($cmd) { $sock = open_socket(); if ($sock != false) { /* * Send command and absorb the result. */ socket_write($sock, $cmd, 4096); while (1) { $line = socket_read($sock, 4096); if ($line === '') break; } socket_close($sock); } }