суббота, 18 июня 2016 г.

Мини сервер на OpenWrt для приёма данных с ESP8266

add.php
<?php

$dbname = "mydb.db";
$tablename = "sensors";
$namesensor = $_GET['name'];
$valuesensor = $_GET['value'];

// Create connection
$conn = new SQLite3($dbname);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
echo "Connected OK"."<br />";

$sql = "INSERT INTO $tablename (name,value) VALUES ('$namesensor',$valuesensor)";

if ($conn->query($sql)) {
    echo "New record CREATED<br>";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

index.php
<?php

$dbname = "mydb.db";
$tablename = "sensors";
$namesensor = $_GET['name'];
$valuesensor = $_GET['value'];

// Create connection
$conn = new SQLite3($dbname);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully"."<br /><br />";

$results = $conn->query('SELECT * FROM '.$tablename.' WHERE name="T_ds_out" ORDER BY n DESC LIMIT 1');
//echo "<table border=0>";
//echo "<tr><td>#</td><td>Date</td><td>Sensor name</td><td>Data</td></tr>";
while ($row = $results->fetchArray()) {
//echo "<tr><td>".$row[n]."</td><td>".$row[date]."</td><td align='right'>".$row[name]."</td><td>".$row[value]."</td></tr>";
echo "Temp outside = <b>$row[value]</b>  (last update: $row[date] +03:00) ";
}
//echo "</table>";
$conn->close();
?>

info.php
<?php phpinfo(); ?>

sample.lua
conn = nil
conn=net.createConnection(net.TCP, 0) 

-- show the retrieved web page

conn:on("receive", function(conn, payload) 
                       success = true
                       print(payload) 
                       end) 

-- when connected, request page (send parameters to a script)
conn:on("connection", function(conn, payload) 
                       print('\nConnected') 
                       conn:send("GET /add.php?"
                        .."name=temp01&value="..temp
                        .." HTTP/1.1\r\n" 
                        .."Host: 192.168.0.113:8000\r\n" 
                          .."Connection: close\r\n"
                        .."Accept: */*\r\n" 
                        .."User-Agent: Mozilla/4.0 (compatible; esp8266 Lua; Windows NT 5.1)\r\n" 
                        .."\r\n")
                       end) 
-- when disconnected, let it be known
conn:on("disconnection", function(conn, payload) print('\nDisconnected') end)
                                             
conn:connect(8000,'192.168.0.113')