-
Notifications
You must be signed in to change notification settings - Fork 0
/
subscribe.php
69 lines (59 loc) · 2.31 KB
/
subscribe.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
62
63
64
65
66
67
68
69
<?php
require("phpMQTT.php");
$conn = mysqli_connect("localhost","root","","esp_data");
$host = "soldier.cloudmqtt.com"; // server cloudmqtt
$port =12728; // port cloudmqtt
$username = "pzfygrgz"; // user cloudmqtt
$password = "JHiLfNnqI9DD"; // password cloudmqtt
$mqtt = new phpMQTT($host, $port, "ultrasonic_1");
if(!$mqtt->connect(true, NULL, $username, $password)) {
exit(1);
}
$topics['sensor/ultra'] = array("qos" => 0, "function" => "procmsg");
$mqtt->subscribe($topics, 0);
while($mqtt->proc() ){
}
$mqtt->close();
function procmsg($topic, $msg){
//mendecode json dari topic
$obj = json_decode($msg);
$id_alat=$obj->id_alat;
$id_lokasi=$obj->id_lokasi;
$nama_alat=$obj->nama_alat;
$ketinggian=$obj->ketinggian;
$longitude=$obj->longitude;
$latitude=$obj->latitude;
$alamat=$obj->alamat;
if($ketinggian <100){
mysqlinsert($id_alat,$id_lokasi, $nama_alat,$ketinggian,$longitude,$latitude,$alamat);
}
}
function mysqlinsert($id_alat, $id_lokasi, $nama_alat,$ketinggian,$longitude,$latitude,$alamat) {
global $conn;
$stat;
$air = 60 - $ketinggian;
if($ketinggian<=25){
$stat = "Waspada";
}if ($ketinggian<=40 && $ketinggian>25){
$stat = "Siaga";
}if ($ketinggian>=41){
$stat = "Aman";
}
$check="SELECT * FROM id_lokasi WHERE id_lokasi = '$id_lokasi'";
$rs = mysqli_query($conn,$check);
if(mysqli_num_rows($rs) != 1) {
$query="INSERT INTO id_lokasi (id_lokasi, alamat, longitude, latitude) VALUES
('$id_lokasi','$alamat', '$longitude', '$latitude')";
mysqli_query($conn,$query) or die(mysqli_error($conn));
}
$check="SELECT * FROM id_alat WHERE id_alat = '$id_alat'";
$rs = mysqli_query($conn,$check);
if(mysqli_num_rows($rs) != 1) {
$query="INSERT INTO id_alat (id_alat, nama_alat, id_lokasi) VALUES
('$id_alat','$nama_alat','$id_lokasi')";
mysqli_query($conn,$query) or die(mysqli_error($conn));
}
$query="INSERT INTO data_sensor (id_alat, ketinggian, status) VALUES
('$id_alat','$air','$stat')";
mysqli_query($conn,$query) or die(mysqli_error($conn));
}