Page index html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>DDuinoAjax</title>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<script src="webAjax.js"></script>
<script src="response.js"></script>
<link rel="stylesheet" type="text/css" href="style.css" media="screen" />
</head>
<body onload="init()">
<h3>DD</h3>
<div id="log"></div>
<br></br>
<div><button id="dw0" onclick="digitalWrite(0, 1, 1)">on</button></div>
<div><button id="dw1" onclick="digitalWrite(1, 1, 1)">on</button></div>
<div><button id="dw2" onclick="digitalWrite(2, 1, 1)">on</button></div>
<div><button id="dw3" onclick="digitalWrite(3, 1, 1)">on</button></div>
<div><button id="dw4" onclick="digitalWrite(4, 1, 1)">on</button></div>
<div><button id="dw5" onclick="digitalWrite(5, 1, 1)">on</button></div>
<div><button id="dw6" onclick="digitalWrite(6, 1, 1)">on</button></div>
<div><button id="dw7" onclick="digitalWrite(7, 1, 1)">on</button></div>
</body>
</html>
Code javascript:
function init()
{
setInterval("getStatut()", 200);
}
function getStatut()
{
var dataJSon = {"0":0x02,"1":0x12,"2":0x12 };
send(dataJSon);
}
function parseJSon(dJson)
{
var duino = eval('(' + dJson + ')');
if(duino.i2 == 0x10)
{
log(dJson);
for(var i = 0; i <= 7; i++)
{
id="dw"+i;
if(duino.i5 & (1 << i))
{
$(id).innerHTML="off";
$(id).setAttribute('onclick', "cmdIO("+i+", 0, 0)");
}
else
{
$(id).innerHTML="on";
$(id).setAttribute('onclick', "cmdIO("+i+", 1, 0)");
}
//log(Date.now());
}
}
}
function cmdIO(pin, value, ack)
{
//log(Date.now());
var dataJSon = {"0":0x04,"1":0x10, "2":0x12, "3":value, "4":pin };
send(dataJSon);
}
function send(dataJSon)
{
jQuery.post("socket.php", dataJSon,
function(data)
{
parseJSon(data);
});
}
function $(id)
{
return document.getElementById(id);
}
function log(msg)
{
$("log").innerHTML+="<br>"+msg;
}
function sleep(milliseconds)
{
var start = new Date().getTime();
start+=milliseconds;
while((new Date().getTime()) <= start)
{
}
}
Code php:
<?php
$msg = "";
$buffer = null;
foreach($_POST as $element)
{
$msg=$msg.chr($element);
}
$host="192.168.1.109";
$port=9390;
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_connect($socket, $host, $port);
socket_write($socket,$msg,strlen($msg));
do
{
if(isset($buffer))
echo $buffer;
}
while(@socket_recv($socket,$buffer,32,0) != 0);
socket_close($socket);
?>
Je songe à revenir vers les websocket mais serveur en java et communication avec le bus non plus avec shield eth mais via port serie du serveur (hard).