www/ispindel/index.php

changeset 584
c9101b2eeb6a
parent 581
fc276025d047
child 585
fa6e702d0d24
equal deleted inserted replaced
583:5d152961762b 584:c9101b2eeb6a
9 $input = file_get_contents('php://input'); 9 $input = file_get_contents('php://input');
10 //syslog(LOG_NOTICE, "ispindel " . $input); 10 //syslog(LOG_NOTICE, "ispindel " . $input);
11 $data = json_decode($input, true ); 11 $data = json_decode($input, true );
12 $node = 'ispindel-' . sprintf("%06x", floatval($data['ID'])); 12 $node = 'ispindel-' . sprintf("%06x", floatval($data['ID']));
13 13
14 $alarm = 0;
15 $interval = $data['interval'];
16 if (floatval($data['battery']) < 3.3) {
17 $alarm += 4;
18 $interval = 3600; // 3600 seconds when the battery is low.
19 }
20
14 $uuid = 'c0ffeeee-cafe-dead-beef-' . sprintf("%06x", 0xffffff - floatval($data['ID'])) . sprintf("%06x", floatval($data['ID'])); 21 $uuid = 'c0ffeeee-cafe-dead-beef-' . sprintf("%06x", 0xffffff - floatval($data['ID'])) . sprintf("%06x", floatval($data['ID']));
15 $topic = 'mbv1.0/ispindels/NBIRTH/' . $node; 22 $topic = 'mbv1.0/ispindels/NBIRTH/' . $node;
16 $payload = '{"metric":{"uuid":"' . $uuid . '","interval":' . $data['interval'] . ','; 23 $payload = '{"metric":{"uuid":"' . $uuid . '","interval":' . $interval . ',';
17 $payload .= '"properties":{"hardwaremake":"Wemos","hardwaremodel":"D1 mini","os":"Unknown","os_version":"Unknown","FW":"Unknown"},'; 24 $payload .= '"properties":{"hardwaremake":"Wemos","hardwaremodel":"D1 mini","os":"Unknown","os_version":"Unknown","FW":"Unknown"},';
18 $payload .= '"net":{"address":"' . $_SERVER['REMOTE_ADDR'] . '","ifname":"sta","rssi":' . $data['RSSI'] . '}}}'; 25 $payload .= '"net":{"address":"' . $_SERVER['REMOTE_ADDR'] . '","ifname":"sta","rssi":' . $data['RSSI'] . '}}}';
19 $pub = $publisher . $topic . ' -m \'' . $payload . '\''; 26 $pub = $publisher . $topic . ' -m \'' . $payload . '\'';
20 exec($pub); 27 exec($pub);
21 28
31 $tempC = floatval($data['temperature']); 38 $tempC = floatval($data['temperature']);
32 } 39 }
33 40
34 $uuid = 'c0ffeeee-cafe-dead-bee0-' . sprintf("%06x", 0xffffff - floatval($data['ID'])) . sprintf("%06x", floatval($data['ID'])); 41 $uuid = 'c0ffeeee-cafe-dead-bee0-' . sprintf("%06x", 0xffffff - floatval($data['ID'])) . sprintf("%06x", floatval($data['ID']));
35 $topic = 'mbv1.0/ispindels/DBIRTH/' . $node; 42 $topic = 'mbv1.0/ispindels/DBIRTH/' . $node;
36 $payload = '{"unit":{"uuid":"' . $uuid .'","alias":"' . $data['name'] . '","alarm":' . $alarm . ',"interval":' . $data['interval']; 43 $payload = '{"unit":{"uuid":"' . $uuid .'","alias":"' . $data['name'] . '","alarm":' . $alarm . ',"interval":' . $interval;
37 $payload .= ',"angle":' . $data['angle'] . ',"temperature":' . $tempC . ',"battery":' . $data['battery'] . ',"gravity":' . $data['gravity'] . '}}'; 44 $payload .= ',"angle":' . $data['angle'] . ',"temperature":' . $tempC . ',"battery":' . $data['battery'] . ',"gravity":' . $data['gravity'] . '}}';
38 $pub = $publisher . $topic . ' -m \'' .$payload . '\''; 45 $pub = $publisher . $topic . ' -m \'' .$payload . '\'';
39 exec($pub); 46 exec($pub);
40 } 47 }
41 48

mercurial