|
6 | 6 | </head> |
7 | 7 | <body style="font-family:Verdana;"> |
8 | 8 |
|
9 | | -<div id=time></div> |
10 | | -<div id=power></div> |
| 9 | +<table id="myTable" border="1"></table> |
| 10 | +<canvas id="mycanvas" width="500" height="100"></canvas> |
| 11 | +<P> |
| 12 | +<div id="time"></div> |
11 | 13 |
|
12 | 14 | <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> |
13 | 15 | <script src="http://www.trease.eu:8500/socket.io/socket.io.js"></script> |
| 16 | +<script type="text/javascript" src="http://github.com/joewalnes/smoothie/raw/master/smoothie.js"></script> |
14 | 17 | <script> |
15 | 18 | ElementExists = function(id) { |
16 | 19 | return !!document.getElementById(id); |
17 | 20 | }; |
18 | | - |
| 21 | + |
| 22 | + |
| 23 | + var smoothie = new SmoothieChart({millisPerPixel: 500}); |
| 24 | + var line1 = new TimeSeries(); |
| 25 | + smoothie.streamTo(document.getElementById("mycanvas")); |
| 26 | + smoothie.addTimeSeries(line1); |
19 | 27 |
|
20 | 28 | var socket = io.connect("http://192.168.1.103:8500"); |
21 | 29 | socket.on('data', function(data){ |
22 | | - console.log("topic : %s, value : %s", data.topic, data.value); |
23 | | - |
24 | | - // check if the element exists, if not create it and then set value |
25 | | - if (!ElementExists ("power" + data.topic)) { |
26 | | - var ni = document.getElementById('power'); |
27 | | - var newdiv = document.createElement('div'); |
28 | | - newdiv.setAttribute('id',"power" + data.topic); |
29 | | - ni.appendChild(newdiv); |
| 30 | + // check if the table cells exists, if not create it and then set value |
| 31 | + if (!ElementExists ("myTablePower" + data.topic)) { |
| 32 | + var table=document.getElementById("myTable"); |
| 33 | + var row=table.insertRow(0); |
| 34 | + var cell=row.insertCell(0); |
| 35 | + cell.id = "myTablePower" + data.topic; |
| 36 | + var cell=row.insertCell(0); |
| 37 | + cell.id = "myTableTopic" + data.topic; |
30 | 38 | } |
31 | | - document.getElementById("power" + data.topic).innerHTML= data.value; |
| 39 | + document.getElementById("myTablePower" + data.topic).innerHTML= data.value; |
| 40 | + document.getElementById("myTableTopic" + data.topic).innerHTML= data.topic; |
32 | 41 |
|
33 | | - var dt = new Date(); |
| 42 | + // print the time the refresh happened |
| 43 | + var dt = new Date(); |
34 | 44 | document.getElementById("time").innerHTML= dt.toLocaleTimeString(); |
| 45 | + |
| 46 | + // if data topic is 0 it is the over power consumption |
| 47 | + if (data.topic == "sensors/power/0") { |
| 48 | + line1.append (new Date().getTime(), data.value); |
| 49 | + } |
35 | 50 | }); |
36 | 51 | </script> |
37 | 52 | </body> |
|
0 commit comments