суббота, 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') 

воскресенье, 15 мая 2016 г.

Подготовка флешки для OpenWRT

Подготовка прошивки OpenWRT к подключению USB-диска

Поддержка USB прошивкой OpenWRT

Для поддержки USB-накопителей Вам необходимо либо собрать прошивку с включением следующих пакетов
  • kmod-usb-core
  • kmod-usb-ohci
  • kmod-usb-storage
  • kmod-usb2
либо доустановить их отдельно.

вторник, 10 мая 2016 г.

Спойлер для блога на Blogger, Блогспот

чтобы добавить спойлер вам нужно открыть в панели управления раздел Шаблон - Изменить HTML найти код  ]]></b:skin> и перед ним вставить следующий код:

#no-div, .no { display: none; }
.no + label { /* вид CSS кнопки */
  background: #4e6473;
  padding: 9px 10px;
  border-radius: 2px;
  color: #fff;
  cursor: pointer; }
.no:checked + label { background: #e36443; }
.no:checked ~ #no-div { display: block; }
А в самой записи в нужном месте вставляем:
<input type="checkbox" id="raz" class="no"/><label for="raz">Ваш текст о скрытой информации - кликнуть!</label><div id="no-div"><br />
<br />исчезающий текст</div>
В итоге получается вот так:




исчезающий текст

понедельник, 14 декабря 2015 г.

Rails parser for CSV files

In model file:
  def self.import(file)
    CSV.foreach(file.path, :col_sep => (";"), headers: true) do |row|
      summa = row[1]
      Record.where({datetime: row[0], summa: summa, desc: row[2]}).first_or_create
    end
  end


пятница, 6 ноября 2015 г.

понедельник, 19 октября 2015 г.

понедельник, 27 июля 2015 г.

Что такое [] или generics in java

Оказалось что записью <T> обозначают соллекции объектов, тип которых заранее не известен. Собственно Т это от type.
Для меня очень сильно прояснила ситуацию эта статья: