forked from bee-mois/beescale
-
Notifications
You must be signed in to change notification settings - Fork 0
/
add_line2.php
61 lines (61 loc) · 3.05 KB
/
add_line2.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
<?php
# Bee Hive Scale add_line2.php von mois ist lizenziert unter einer Creative Commons
# Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen 4.0 International Lizenz.
# Bee Hive Scale add_line2.php by mois is licensed under a Creative Commons
# Attribution-NonCommercial-ShareAlike 4.0 International License.
#
date_default_timezone_set('Europe/Berlin');
include("hiveeyes.php"); # download at https://hiveeyes.org/docs/system/_downloads/
use Hiveeyes\HiveeyesNode;
# Create a "Node API" telemetry client object
$telemetry = new HiveeyesNode(
array(
"network" => "27041c2a-8afd-4a1e-b3ae-44233fa1f06b",
"gateway" => "mois",
"node" => "yun",
)
);
function latestJPG(){
# fetch latest image from beecam
exec("wget -t 20 -o wget.log http://wbk.in-vpn.de/sd/webcam/latest.jpg -O latest_new.jpg && cp latest_new.jpg latest.jpg");
echo "latest.jpg downloaded.\r\n"; # change this to a real check if downloaded successfully
}
# lokale datei mit datenreihe oeffnen
$datei = fopen("sensorik.csv","a+") or die("Kann die Datei nicht aufmachen.");
$datei_pure = fopen("sensorik_pure.csv","a+") or die("Kann die Datei nicht aufmachen.");
# letzte zeile einlesen:
$oldlines = @file("sensorik.csv");
$oldline = (count($oldlines)) ? $oldlines[count($oldlines)-1] : NULL;
$array_oldline = explode(",",$oldline); # letzte datenzeile am komma auftrennen und in array speichern
$oldlux = $array_oldline[4]; # letzte helligkeit einlesen
$date = date('Y/m/d H:i:s'); # serverzeitstempel abgreifen
$kiste1 = round($_GET["weight1"], 2); # variable aus der url einlesen
$temp = round($_GET["temp1"], 2); # outside
$vcc = $_GET["vcc"];
$v = $vcc/1000;
$l = $_GET["lux"];
if ($kiste1 > 0 && $temp < 60 && $temp != 0) # auf gewichts- und temperaturausreisser pruefen
{
if ($l > 65380 && $l < 65546) # auf lichtausreisser pruefen
{ $l = $oldlux; }
// $lux = $l * 0.1; # darstellungsgruende: lux-kurve um faktor 10 gestaucht
$lux = 0.5 * round(sqrt($l), 2); # darstellungsgruende: lux-kurve in quadratwurzel gestaucht und halbiert
$kiste2 = round($_GET["weight2"], 2);
$temp01 = round($_GET["temp2"], 2); # inside
$h1 = $_GET["h1"];
$t1 = $_GET["t1"];
$h2 = $_GET["h2"];
$t2 = $_GET["t2"];
$line = "\n".$date.",".$kiste1.",".$temp.",".$v.",".$lux.",".$kiste2.",".$temp01.",".$h1.",".$t1.",".$h2.",".$t2; #datensatz zusammenstellen
$line_pure = "\n".$date.",".$kiste1.",".$temp.",".$v.",".$l.",".$kiste2.",".$temp01.",".$h1.",".$t1.",".$h2.",".$t2;
fwrite($datei_pure, $line_pure); # unbereinigte daten in sensorik_pure.csv schreiben
fwrite($datei, $line);
echo $date,": addline2.php returns: OK\r\n";# ...und gespeichert.
fclose($datei); # datei mit datenreihe schliessen
fclose($datei_pure);
# Transmit dataset to hiveeyes
$data = array("weight hive1" => $kiste1, "temperature hive1" => $t1, "humidity hive1" => $h1, "weight hive2" => $kiste2, "temperature hive2" => $t2, "humidity hive2" => $h2, "temperature outside" => $temp, "temperature inside" => $temp01, "brightness" => $l);
$telemetry->transmit($data);
// latestJPG();
}
?>