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 |