rssi_calibration.php
3.66 KB
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<?php
require_once 'model/map.php';
require_once 'model/access_point.php';
require_once 'model/location.php';
require_once 'model/rssi_record.php';
class Controller_calibration
{
public function setPosition()
{
$a_pointsIP = array("192.168.1.8");//,"192.168.2.8","192.168.2.9");
$a_pointPORT = 8080;//"8080";//5000
include 'bootstrap.php';
// localhost/Where-I-Am/index.php/calibration/calibration?mac_addr=32:A3:55:F2:B1:8C
/*
$newMap = new map();
$newMap->setDescription('map from UTBM building H');
$newMap->setPx_width(30);
$newMap->setPx_height(30);
$newMap->setN_height(10);
$newMap->setN_width(40);
$newMap->setContent('07251728883883762FA');
$entityManager->persist($newMap);
$newPos = new location();
$newPos->setMap($newMap);
$newPos->setX(3);
$newPos->setY(13);
$entityManager->persist($newPos);
$newPos2 = new location();
$newPos2->setMap($newMap);
$newPos2->setX(31);
$newPos2->setY(19);
$entityManager->persist($newPos2);
$newAp = new access_point();
$newAp->setLocation($newPos);
$newAp->setMac_addr("32:A3:55:F2:B1:8C");
$entityManager->persist($newAp);
$newAp2 = new access_point();
$newAp2->setLocation($newPos2);
$newAp2->setMac_addr("32:A3:55:F2:B1:84");
$entityManager->persist($newAp2);
$record = new rssi_record();
$record->setLocation($newPos);
$record->setAccess_point($newAp);
$record->setValue(88);
$record->setOccurences(1);
$entityManager->persist($record);
$record2 = new rssi_record();
$record2->setLocation($newPos);
$record2->setAccess_point($newAp2);
$record2->setValue(17);
$record2->setOccurences(1);
$entityManager->persist($record2);
$entityManager->flush();*/
if(!empty($_GET['posx']) && !empty($_GET['posy']) && !empty($_GET['mac_addr']))
{
$newMap = new map();
$newMap->setDescription('map from UTBM building H');
$newMap->setPx_width(30);
$newMap->setPx_height(30);
$newMap->setN_height(10);
$newMap->setN_width(40);
$newMap->setContent('07251728883883762FA');
$entityManager->persist($newMap);
$newPos = new location();
$newPos->setMap($newMap);
$newPos->setX($_GET['posx']);
$newPos->setY($_GET['posy']);
$entityManager->persist($newPos);
$entityManager->flush();
foreach($a_pointsIP as &$ip){
$response = http_get("http://".$ip.":".$a_pointPORT."/RSSIRequest", $info);
print_r($info);
//$response = http_get("http://".$ip.":".$a_pointPORT."/RSSIRequest?mac=".$_GET['mac_addr'], array("timeout"=>1), $info);
$arraySS = $reponse["ss"];
$loc = $entityManager->getRepository('location')->findOneBy(array('x' => $_GET['posx'], 'y' => $_GET['posy']));
if($loc ===null)
{
echo "pos doesn't exist";
}
else {
$ap = $entityManager->getRepository('access_point')->findOneBy(array('mac_addr' => $ip));
if ($ap === null)
{
echo "ap doesn't exist";
}
else {
foreach($arraySS as $ss){
$rssi_record = $entityManager->getRepository('rssi_record')->findOneBy(array('location' => $loc->getId(), 'access_point' => $ap->getId(),'value' => $ss));
if ($rssi_record === null) {
$rssi_record = new rssi_record();
$rssi_record->setLocation($loc->getId());
$rssi_record->setValue($ss);
$rssi_record->setOccurences(1);
}
}
}
}
}
}
else {
echo "get are not set";
}
}
}
?>