Ik heb meerdere pagina's gemaakt. Eerst een simpele om uberhaupt de boel aan te kunnen sturen. Die heet bij mij rf2.php
Die luistert naar rf2.php?knop=XXX
Daar zou je dus een knop in moeten vullen die winlirc kent. Voor Winlirc moet je trouwens wel zo'n waarde in je register toevoegen, anders luistert ie helaas niet (zie dit topic).
PHP:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
| <?php
if (isset($_GET['knop'])) {
$knop = $_GET['knop'];
}
$cfgServer = "192.168.1.202";
$cfgPort = 8765;
$cfgTimeOut = 10;
if (isset($knop)) {
$usenet = fsockopen($cfgServer, $cfgPort, &$errno, &$errstr, $cfgTimeOut);
fputs ($usenet, "SEND_ONCE rf $knop 9\r\n");
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta name="generator" content=
"RF_control pagina">
<title>RF CONTROL</title>
</head>
<BODY BGCOLOR="#004E98" TEXT="#000000" LINK="#0000FF" VLINK="#FF0000" ALINK="#FF0000">
<TABLE BORDER="1">
<tr>
<td> <th>Licht</th></td>
<td>
<form method="post" action="rf2.php?knop=d1a">
<input type="submit" value="uit">
</form>
</td>
<td>
<form method="post" action="rf2.php?knop=d1b">
<input type="submit" value="aan">
</form>
</td>
</tr>
<tr>
<td> <th>Ventilator</th></td>
<td>
<form method="post" action="rf2.php?knop=d2a">
<input type="submit" value="uit">
</form>
</td>
<td>
<form method="post" action="rf2.php?knop=d2b">
<input type="submit" value="aan">
</form>
</td>
</tr>
<tr>
<td> <th>Nummer 3</th></td>
<td>
<form method="post" action="rf2.php?knop=d3a">
<input type="submit" value="uit">
</form>
</td>
<td>
<form method="post" action="rf2.php?knop=d3b">
<input type="submit" value="aan">
</form>
</td>
</tr>
<tr>
<td> <th>Lampjes bank<br><i>Dimbaar</i></i></th></td>
<td>
<form method="post" action="rf2.php?knop=d4a">
<input type="submit" value="uit">
</form>
</td>
<td>
<form method="post" action="rf2.php?knop=d4b">
<input type="submit" value="aan">
</form>
</td>
</tr>
</table>
</body>
</html>
|
Wat ook een hele leuke toepassing is (waar ik best een beetje trots op ben) is een tijdsgestuurde schakeling. Omdat ik wel redelijk met php overweg kan wil ik dat gebruiken. Php heeft alleen zelf geen tijdsinterval schakeling dus je moet een scheduler gebruiken.
Het stuk hierna geldt dus alleen voor engelse windows. Voor NL windows zal je de tekst 'daily' moeten vervangen door 'dagelijks'.
Ik gebruik een paar dingen:
schedule.php = feitelijke " GUI " voor instellingen
rfcmd.php = aanpassing van de rf2.php hierboven zodat hij via $argv[1] de eerste variabele binnenhaald en via telnet winlirc weer aanstuurd
mysql = om de standen en tijden bij te houden.
PHP:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182
| <?php
error_reporting (E_ERROR | E_WARNING | E_PARSE);
if (isset($_GET['actie'])) {
$actie = $_GET['actie'];
}
if (isset($_GET['id'])) {
$id = $_GET['id'];
}
if (isset($_POST['knop'])) {
$knop = $_POST['knop'];
}
if (isset($_POST['uur'])) {
$uur = $_POST['uur'];
}
if (isset($_POST['minuut'])) {
$minuut = $_POST['minuut'];
}
$rf = '\"c:\\Program Files\\Apache Group\\Apache2\\htdocs\\rfcmd.php\"';
$link = mysql_connect('192.168.1.202', 'USERNAME', 'PASSWORD')
or die('Could not connect to the mysql database' . mysql_error());
mysql_select_db('rf') or die('Could not select database'. mysql_error());
if($actie == "toevoegen"){
mysql_query("INSERT INTO rf (knop, uur, minuut) values ('$knop', '$uur', '$minuut')") or die('Could not connect: ' . mysql_error());
$idn = mysql_insert_id();
exec("c:\\windows\\system32\\schtasks /create /s server /ru USERNAME /rp PASSWORD /sc:daily /st $uur:$minuut:00 /tn $idn /tr \"c:\\php\\php.exe $rf $knop\"");
}
if($actie == "verwijder"){
exec("c:\\windows\\system32\\schtasks /delete /tn $id /F");
$query = "DELETE FROM rf WHERE id = $id";
mysql_query($query);
}
mysql_close($link);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta name="generator" content=
"RF_control_scheduler">
<title>Schedule Pagina</title>
</head>
<BODY BGCOLOR="#004E98" TEXT="#00ff00" LINK="#0000FF" VLINK="#FF0000" ALINK="#FF0000">
<table border="0">
<tr><th>Knop</th><th>Uur</th><th>Minuut</th><th></th></tr>
<?php
$link = mysql_connect('192.168.1.202', 'USERNAME', 'PASSWORD')
or die('Could not connect to the mysql database' . mysql_error());
mysql_select_db('rf') or die('Could not select database'. mysql_error());
$query = "SELECT * FROM rf";
$result = mysql_query($query);
while(list($id,$knop,$uur,$minuut,$enable)= mysql_fetch_row($result))
{
echo "<FORM METHOD=\"post\" ACTION=\"";
$_SERVER['PHP_SELF'];
echo "?actie=verwijder&id=$id\">
<tr>
<td>
<SELECT NAME=\"knop\">
<OPTION>$knop</OPTION>
<OPTION>d1a</OPTION><OPTION>d1b</OPTION><OPTION>d2a</OPTION><OPTION>d2b</OPTION>
<OPTION>d3a</OPTION><OPTION>d3b</OPTION><OPTION>d4a</OPTION><OPTION>d4b</OPTION>
</SELECT></td>
<td>
<SELECT NAME=\"uur\">
<OPTION>$uur</OPTION>
<OPTION></OPTION><OPTION>00</OPTION><OPTION>01</OPTION><OPTION>02</OPTION><OPTION>03</OPTION><OPTION>04</OPTION>
<OPTION>05</OPTION><OPTION>06</OPTION><OPTION>07</OPTION><OPTION>08</OPTION><OPTION>09</OPTION><OPTION>10</OPTION>
<OPTION>11</OPTION><OPTION>12</OPTION><OPTION>13</OPTION><OPTION>14</OPTION><OPTION>15</OPTION><OPTION>16</OPTION>
<OPTION>17</OPTION><OPTION>18</OPTION><OPTION>19</OPTION><OPTION>20</OPTION><OPTION>21</OPTION><OPTION>22</OPTION>
<OPTION>23</OPTION>
</SELECT></td>
<td>
<SELECT NAME=\"minuut\">
<OPTION>$minuut</OPTION><OPTION></OPTION>
<OPTION>00</OPTION><OPTION>01</OPTION><OPTION>02</OPTION><OPTION>03</OPTION><OPTION>04</OPTION>
<OPTION>05</OPTION><OPTION>06</OPTION><OPTION>07</OPTION><OPTION>08</OPTION><OPTION>09</OPTION><OPTION>10</OPTION>
<OPTION>11</OPTION><OPTION>12</OPTION><OPTION>13</OPTION><OPTION>14</OPTION><OPTION>15</OPTION><OPTION>16</OPTION>
<OPTION>17</OPTION><OPTION>18</OPTION><OPTION>19</OPTION><OPTION>20</OPTION><OPTION>21</OPTION><OPTION>22</OPTION>
<OPTION>23</OPTION><OPTION>24</OPTION><OPTION>25</OPTION><OPTION>26</OPTION><OPTION>27</OPTION><OPTION>28</OPTION>
<OPTION>29</OPTION><OPTION>30</OPTION><OPTION>31</OPTION><OPTION>32</OPTION><OPTION>33</OPTION><OPTION>34</OPTION>
<OPTION>35</OPTION><OPTION>36</OPTION><OPTION>37</OPTION><OPTION>38</OPTION><OPTION>39</OPTION><OPTION>40</OPTION>
<OPTION>41</OPTION><OPTION>42</OPTION><OPTION>43</OPTION><OPTION>44</OPTION><OPTION>45</OPTION><OPTION>46</OPTION>
<OPTION>47</OPTION><OPTION>48</OPTION><OPTION>49</OPTION><OPTION>50</OPTION><OPTION>51</OPTION><OPTION>52</OPTION>
<OPTION>53</OPTION><OPTION>54</OPTION><OPTION>55</OPTION><OPTION>56</OPTION><OPTION>57</OPTION><OPTION>58</OPTION>
<OPTION>59</OPTION>
</SELECT></td>
<td>
<INPUT TYPE=\"submit\" VALUE=\"Verwijder\">
</form>
</td></tr>
";
}
mysql_close($link);
?>
</table>
<table>
<tr>
<td>
<FORM METHOD="post" ACTION="<?php $_SERVER['PHP_SELF']; ?>?actie=toevoegen">
<SELECT NAME="knop">
<OPTION></OPTION>
<OPTION>d1a</OPTION><OPTION>d1b</OPTION><OPTION>d2a</OPTION><OPTION>d2b</OPTION>
<OPTION>d3a</OPTION><OPTION>d3b</OPTION><OPTION>d4a</OPTION><OPTION>d4b</OPTION>
</SELECT></td>
<td>
<SELECT NAME="uur">
<OPTION></OPTION><OPTION>00</OPTION><OPTION>01</OPTION><OPTION>02</OPTION><OPTION>03</OPTION><OPTION>04</OPTION>
<OPTION>05</OPTION><OPTION>06</OPTION><OPTION>07</OPTION><OPTION>08</OPTION><OPTION>09</OPTION><OPTION>10</OPTION>
<OPTION>11</OPTION><OPTION>12</OPTION><OPTION>13</OPTION><OPTION>14</OPTION><OPTION>15</OPTION><OPTION>16</OPTION>
<OPTION>17</OPTION><OPTION>18</OPTION><OPTION>19</OPTION><OPTION>20</OPTION><OPTION>21</OPTION><OPTION>22</OPTION>
<OPTION>23</OPTION>
</SELECT></td>
<td>
<SELECT NAME="minuut">
<OPTION></OPTION><OPTION>00</OPTION><OPTION>01</OPTION><OPTION>02</OPTION><OPTION>03</OPTION><OPTION>04</OPTION>
<OPTION>05</OPTION><OPTION>06</OPTION><OPTION>07</OPTION><OPTION>08</OPTION><OPTION>09</OPTION><OPTION>10</OPTION>
<OPTION>11</OPTION><OPTION>12</OPTION><OPTION>13</OPTION><OPTION>14</OPTION><OPTION>15</OPTION><OPTION>16</OPTION>
<OPTION>17</OPTION><OPTION>18</OPTION><OPTION>19</OPTION><OPTION>20</OPTION><OPTION>21</OPTION><OPTION>22</OPTION>
<OPTION>23</OPTION><OPTION>24</OPTION><OPTION>25</OPTION><OPTION>26</OPTION><OPTION>27</OPTION><OPTION>28</OPTION>
<OPTION>29</OPTION><OPTION>30</OPTION><OPTION>31</OPTION><OPTION>32</OPTION><OPTION>33</OPTION><OPTION>34</OPTION>
<OPTION>35</OPTION><OPTION>36</OPTION><OPTION>37</OPTION><OPTION>38</OPTION><OPTION>39</OPTION><OPTION>40</OPTION>
<OPTION>41</OPTION><OPTION>42</OPTION><OPTION>43</OPTION><OPTION>44</OPTION><OPTION>45</OPTION><OPTION>46</OPTION>
<OPTION>47</OPTION><OPTION>48</OPTION><OPTION>49</OPTION><OPTION>50</OPTION><OPTION>51</OPTION><OPTION>52</OPTION>
<OPTION>53</OPTION><OPTION>54</OPTION><OPTION>55</OPTION><OPTION>56</OPTION><OPTION>57</OPTION><OPTION>58</OPTION>
<OPTION>59</OPTION>
</SELECT></td>
<td>
<INPUT TYPE="submit" VALUE="Toevoegen">
</FORM>
</td></tr>
</table>
</body></html>
|
Vervang 'PASSWORD' en 'USERNAME' wel even
Het gaat hier trouwens dus meer om ideen op te doen dan om jullie een compleet functionerend pakket te leveren. Voor eventuele fouten ben ik niet verantwoordelijk, voor lelijk programmeerwerk evenmin
Iemand nog leuke ideeën of nieuwe toepassingen? Laat maar horen
