-
Notifications
You must be signed in to change notification settings - Fork 3
/
APRS.php
68 lines (58 loc) · 1.31 KB
/
APRS.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
<?php
/**
* Created by Anton Nikanorov on 4/20/15.
* Email: [email protected]
* CallSign: UC6KFQ
*/
Class APRS {
private $server;
private $callsign;
private $port;
private $pass;
private $ico;
private $auth;
function __construct($params){
$this->server = $params['server'];
$this->callsign = $params['callsign'];
$this->port = $params['port'];
$this->pass = $params['pass'];
$this->ico = $params['ico'];
$this->auth = 'user '.$params['callsign'].' pass '.$params['pass'];
}
/**
* Send any aprs message
*
* @param $msg
*/
private function send($msg) {
$fp = fsockopen($this->server, $this->port);
fwrite($fp, $this->auth . "\n");
$received = fread($fp, 512);
echo $received;
//sleep - before sending msg after auth
sleep(10);
fwrite($fp, $msg."\n");
echo "\n";
$received = fread($fp, 512);
echo $received;
fclose($fp);
}
/**
* Send position
* @param $lat
* @param $long
* @param $comment
*/
public function sendPosition($lat, $long, $comment) {
$msg = $this->callsign.'>APPS:!'.$lat.'/0'.$long .$this->ico.''.$comment;
$this->send($msg);
}
/**
*
* @param $recipient - Callsign
* @param $msg - message
*/
public function sendMsgToCallSign($recipient, $msg) {
//todo - need write implementation
}
}