работаетVovix писал(а):Внимание! прошу проверить: после последнего обновления стандартного приложения GPS-трекер, модуль findMyiPhone перестал работать!
[Apple] Использование Apple (find my device) в GPS-трэкере
-
- Сообщения: 510
- Зарегистрирован: Ср июн 08, 2016 4:17 pm
- Благодарил (а): 124 раза
- Поблагодарили: 101 раз
Re: Использование Apple (find my device) в GPS-трэкере
Orange pi pc plus, megaD-2561, Xiaomi
--------------------------------------------------
http://connect.smartliving.ru/profile/908
--------------------------------------------------
http://connect.smartliving.ru/profile/908
-
- Сообщения: 295
- Зарегистрирован: Вт апр 23, 2013 5:16 pm
- Откуда: Брянск
- Благодарил (а): 18 раз
- Поблагодарили: 94 раза
Re: Использование Apple (find my device) в GPS-трэкере
Возможно что-то в структуре бд поменялось, я у себя давно переделал запись координат, чтобы не зависеть от модуля gps трекер. Попробуйте заменить файл во вложении, может поможет. У меня все работает.Vovix писал(а):Внимание! прошу проверить: после последнего обновления стандартного приложения GPS-трекер, модуль findMyiPhone перестал работать!
- Вложения
-
- findMyiPhone.class.zip
- (1.03 КБ) 163 скачивания
Debian GNU/Linux 7.9 (wheezy), версия 0.9.0b, Connect
- Vovix
- Сообщения: 1155
- Зарегистрирован: Пн янв 27, 2014 1:43 am
- Откуда: г.Ижевск
- Благодарил (а): 60 раз
- Поблагодарили: 532 раза
- Контактная информация:
Re: Использование Apple (find my device) в GPS-трэкере
Dark_Veter писал(а):Возможно что-то в структуре бд поменялось, я у себя давно переделал запись координат, чтобы не зависеть от модуля gps трекер. Попробуйте заменить файл во вложении, может поможет. У меня все работает.Vovix писал(а):Внимание! прошу проверить: после последнего обновления стандартного приложения GPS-трекер, модуль findMyiPhone перестал работать!
![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
Код: Выделить всё
/*
$username - iCloud Apple ID
$password
*/
Код: Выделить всё
/*
* Update Dark_Veter January 17, 2017
*
$username - iCloud Apple ID
$password
*/
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
-
- Сообщения: 295
- Зарегистрирован: Вт апр 23, 2013 5:16 pm
- Откуда: Брянск
- Благодарил (а): 18 раз
- Поблагодарили: 94 раза
Re: Использование Apple (find my device) в GPS-трэкере
Не, файл у себя выдрал, так что точно новый
Просто возможно не совпадает комментарий сверху)
![Smile :-)](./images/smilies/icon_e_smile.gif)
Debian GNU/Linux 7.9 (wheezy), версия 0.9.0b, Connect
- Vovix
- Сообщения: 1155
- Зарегистрирован: Пн янв 27, 2014 1:43 am
- Откуда: г.Ижевск
- Благодарил (а): 60 раз
- Поблагодарили: 532 раза
- Контактная информация:
Re: Использование Apple (find my device) в GPS-трэкере
У меня принцип в жизни: Я ни когда не вру! (иногда только обманываю)Dark_Veter писал(а):Не, файл у себя выдрал, так что точно новыйПросто возможно не совпадает комментарий сверху)
![Wink ;)](./images/smilies/icon_e_wink.gif)
Вот приложенный выше код:
СпойлерПоказать
Код: Выделить всё
<?php
/*
$username - iCloud Apple ID
$password
*/
function messageToMyiPhone($username, $password, $message, $subject = "", $sound = true, $id = 0) {
if($message == "") {
return 0;
}
require_once(ROOT.'lib/findMyiPhone/FindMyiPhone.php');
try {
$FindMyiPhone = new FindMyiPhone($username, $password);
$FindMyiPhone->getDevices();
foreach ($FindMyiPhone->devices as $device) {
$devices[] = $device;
}
$device_id = $devices[$id]->ID;
$FindMyiPhone->sendMessage($device_id, $message, $sound, $subject);
} catch (exception $e) {
echo 'ERROR: ' . $e->getMessage() ;
}
}
function soundToMyiPhone($username, $password, $subject = "", $id = 0) {
require_once(ROOT.'lib/findMyiPhone/FindMyiPhone.php');
try {
$FindMyiPhone = new FindMyiPhone($username, $password);
$FindMyiPhone->getDevices();
foreach ($FindMyiPhone->devices as $device) {
$devices[] = $device;
}
$device_id = $devices[$id]->ID;
$FindMyiPhone->playSound($device_id, $subject);
} catch (exception $e) {
echo 'ERROR: ' . $e->getMessage() ;
}
}
function findMyiPhone($username, $password, $id = 0, $timeout = 60) {
require_once(ROOT.'lib/findMyiPhone/FindMyiPhone.php');
//require_once('class.findmyiphone.php');
try {
$FindMyiPhone = new FindMyiPhone($username, $password);
$FindMyiPhone->getDevices();
foreach ($FindMyiPhone->devices as $device) {
$devices[] = $device;
}
$iPhone = array();
$iPhone['name'] = $devices[$id]->name;
$iPhone['batteryLevel'] = $devices[$id]->batteryLevel*100;
$iPhone['batteryStatus'] = ($devices[$id]->batteryStatus == "NotCharging") ? 0 : 1;
$iPhone['deviceModel'] = $devices[$id]->model;
$iPhone['deviceClass'] = $devices[$id]->class;
$device_id = $devices[$id]->ID;
$location = $FindMyiPhone->locate($device_id, $timeout);
$iPhone['latitude'] = $location->latitude;
$iPhone['longitude'] = $location->longitude;
$iPhone['timeStamp'] = $location->timestamp;
$iPhone['accuracy'] = $location->horizontalAccuracy;
$iPhone['locationType'] = $location->positionType;
//var_dump($iPhone);
$iPhone['accuracy'] = isset($iPhone['accuracy']) ? $iPhone['accuracy'] : 0;
if (isset($_REQUEST['altitude'])) {
$iPhone['altitude'] = round($_REQUEST['altitude'], 2);
} else {
$iPhone['altitude'] = 0;
}
if (isset($_REQUEST['provider'])) {
$iPhone['provider'] = $_REQUEST['provider'];
} else {
$iPhone['provider'] = '';
}
if (isset($_REQUEST['speed'])) {
$iPhone['speed'] = round($_REQUEST['speed'], 2);
} else {
$iPhone['speed'] = 0;
}
$url = BASE_URL . '/gps.php?latitude=' . $iPhone['latitude']
.'&longitude=' . $iPhone['longitude']
.'&altitude=' . $iPhone['altitude']
.'&accuracy=' . $iPhone['accuracy']
.'&provider=' . $iPhone['provider']
.'&speed=' . $iPhone['speed']
.'&battlevel=' . $iPhone['batteryLevel']
.'&charging=' . $iPhone['batteryStatus']
.'&deviceid=' . $iPhone['name'];
getURL($url, 0);
//var_dump($url);
} catch (exception $e) {
echo 'ERROR: ' . $e->getMessage() ;
}
}
?>
СпойлерПоказать
Код: Выделить всё
<?php
/*
* Update Dark_Veter January 17, 2017
*
$username - iCloud Apple ID
$password
*/
function messageToMyiPhone($username, $password, $message, $subject = "", $sound = true, $id = 0) {
if($message == "") {
return 0;
}
$id = (int)$id;
require_once(ROOT.'lib/findMyiPhone/FindMyiPhone.php');
try {
$FindMyiPhone = new FindMyiPhone($username, $password, TRUE);
$FindMyiPhone->getDevices();
foreach ($FindMyiPhone->devices as $device) {
$devices[] = $device;
}
$device_id = $devices[$id]->ID;
$FindMyiPhone->sendMessage($device_id, $message, (bool)$sound, $subject);
} catch (exception $e) {
echo 'ERROR: ' . $e->getMessage() ;
}
}
function soundToMyiPhone($username, $password, $subject = "", $id = 0) {
$id = (int)$id;
require_once(ROOT.'lib/findMyiPhone/FindMyiPhone.php');
try {
$FindMyiPhone = new FindMyiPhone($username, $password);
$FindMyiPhone->getDevices();
foreach ($FindMyiPhone->devices as $device) {
$devices[] = $device;
}
$device_id = $devices[$id]->ID;
$FindMyiPhone->playSound($device_id, $subject);
} catch (exception $e) {
echo 'ERROR: ' . $e->getMessage() ;
}
}
function lockToMyiPhone($username, $password, $message, $phoneNumber = "", $id = 0) {
if($message == "") {
return 0;
}
$id = (int)$id;
require_once(ROOT.'lib/findMyiPhone/FindMyiPhone.php');
try {
$FindMyiPhone = new FindMyiPhone($username, $password);
$FindMyiPhone->getDevices();
foreach ($FindMyiPhone->devices as $device) {
$devices[] = $device;
}
$device_id = $devices[$id]->ID;
$FindMyiPhone->lostMode($device_id, $message, $phoneNumber);
} catch (exception $e) {
echo 'ERROR: ' . $e->getMessage() ;
}
}
function findMyiPhone($username, $password, $id = 0, $timeout = 60) {
require_once(ROOT.'lib/findMyiPhone/FindMyiPhone.php');
try {
$FindMyiPhone = new FindMyiPhone($username, $password);
$FindMyiPhone->getDevices();
foreach ($FindMyiPhone->devices as $device) {
$devices[] = $device;
}
$iPhone = array();
$iPhone['name'] = $devices[$id]->name;
$iPhone['batteryLevel'] = $devices[$id]->batteryLevel*100;
$iPhone['batteryStatus'] = ($devices[$id]->batteryStatus == "NotCharging") ? 0 : 1;
$iPhone['deviceModel'] = $devices[$id]->model;
$iPhone['deviceClass'] = $devices[$id]->class;
$device_id = $devices[$id]->ID;
$location = $FindMyiPhone->locate($device_id, $timeout);
$iPhone['latitude'] = $location->latitude;
$iPhone['longitude'] = $location->longitude;
$iPhone['timeStamp'] = $location->timestamp;
$iPhone['accuracy'] = $location->horizontalAccuracy;
$iPhone['locationType'] = $location->positionType;
//var_dump($iPhone);
$iPhone['accuracy'] = isset($iPhone['accuracy']) ? $iPhone['accuracy'] : 0;
if (isset($_REQUEST['altitude'])) {
$iPhone['altitude'] = round($_REQUEST['altitude'], 2);
} else {
$iPhone['altitude'] = 0;
}
if (isset($_REQUEST['provider'])) {
$iPhone['provider'] = $_REQUEST['provider'];
} else {
$iPhone['provider'] = '';
}
if (isset($_REQUEST['speed'])) {
$iPhone['speed'] = round($_REQUEST['speed'], 2);
} else {
$iPhone['speed'] = 0;
}
/*
$url = 'http://127.0.0.1/gps.php?latitude=' . $iPhone['latitude']
.'&longitude=' . $iPhone['longitude']
.'&altitude=' . $iPhone['altitude']
.'&accuracy=' . $iPhone['accuracy']
.'&provider=' . $iPhone['provider']
.'&speed=' . $iPhone['speed']
.'&battlevel=' . $iPhone['batteryLevel']
.'&charging=' . $iPhone['batteryStatus']
.'&deviceid=' . $iPhone['name'];
getURL($url, 0);
*/
// from gps.php !!!!!!!!!!!!!!!!!!!!!!!!!!
$deviceid = $iPhone['name'];
$device = SQLSelectOne("SELECT * FROM gpsdevices WHERE DEVICEID='" . DBSafe($deviceid) . "'");
if (!$device['ID']) {
$device = array();
$device['DEVICEID'] = $deviceid;
$device['TITLE'] = 'New GPS Device';
$device['ID'] = SQLInsert('gpsdevices', $device);
SQLExec("UPDATE gpslog SET DEVICE_ID='" . $device['ID'] . "' WHERE DEVICEID='" . DBSafe($deviceid) . "'");
}
$device['LAT'] = $iPhone['latitude'];
$device['LON'] = $iPhone['longitude'];
$device['UPDATED'] = date('Y-m-d H:i:s');
SQLUpdate('gpsdevices', $device);
$rec=array();
$rec['ADDED'] = date('Y-m-d H:i:s');
$rec['LAT'] = $iPhone['latitude'];
$rec['LON'] = $iPhone['longitude'];
$rec['ALT'] = $iPhone['altitude'];
$rec['PROVIDER'] = $iPhone['provider'];
$rec['SPEED'] = $iPhone['speed'];
$rec['BATTLEVEL'] = $iPhone['batteryLevel'];
$rec['CHARGING'] = $iPhone['batteryStatus'];
$rec['DEVICEID'] = $iPhone['name'];
$rec['ACCURACY'] = $iPhone['accuracy'];
if ($device['ID']) $rec['DEVICE_ID']=$device['ID'];
$rec['ID']=SQLInsert('gpslog', $rec);
if($device['USER_ID']) {
$user=SQLSelectOne("SELECT * FROM users WHERE ID='".$device['USER_ID']."'");
if($user['LINKED_OBJECT']) {
setGlobal($user['LINKED_OBJECT'].'.Coordinates', $rec['LAT'].','.$rec['LON']);
setGlobal($user['LINKED_OBJECT'].'.CoordinatesUpdated', date('H:i'));
setGlobal($user['LINKED_OBJECT'].'.CoordinatesUpdatedTimestamp', time());
setGlobal($user['LINKED_OBJECT'].'.BattLevel', $rec['BATTLEVEL']);
setGlobal($user['LINKED_OBJECT'].'.Charging', $rec['CHARGING']);
$prev_log=SQLSelectOne("SELECT * FROM gpslog WHERE ID!='".$rec['ID']."' AND DEVICE_ID='".$device['ID']."' ORDER BY ID DESC LIMIT 1");
if($prev_log['ID']) {
$distance=calculateTheDistanceToiPhone($rec['LAT'], $rec['LON'], $prev_log['LAT'], $prev_log['LON']);
if($distance>100) {
//we're moving
//DebMes("Distance: ".$distance. " (point A: ".$rec['LAT'].":".$rec['LON']." point B: ".$prev_log['LAT'].":".$prev_log['LON'].")");
setGlobal($user['LINKED_OBJECT'].'.isMoving', 1);
clearTimeOut($user['LINKED_OBJECT'].'_moving');
setTimeOut($user['LINKED_OBJECT'].'_moving', "setGlobal('".$user['LINKED_OBJECT'].".isMoving', 0);", 15*60); // stopped after 15 minutes of inactivity
}
}
}
}
// checking locations
$lat = (float)$iPhone['latitude'];
$lon = (float)$iPhone['longitude'];
$locations = SQLSelect("SELECT * FROM gpslocations");
$total = count($locations);
$location_found=0;
for($i=0;$i<$total;$i++)
{
if (!$locations[$i]['RANGE']) $locations[$i]['RANGE']=500;
$distance=calculateTheDistanceToiPhone($lat, $lon, $locations[$i]['LAT'], $locations[$i]['LON']);
if ($locations[$i]['IS_HOME'] && $device['ID']) {
$device['HOME_DISTANCE']=(int)$distance;
SQLUpdate('gpsdevices', $device);
if ($user['LINKED_OBJECT']) {
setGlobal($user['LINKED_OBJECT'] . '.HomeDistance', $device['HOME_DISTANCE']);
setGlobal($user['LINKED_OBJECT'] . '.HomeDistanceKm', round($device['HOME_DISTANCE']/1000, 1));
}
}
if($distance<=$locations[$i]['RANGE']) {
$location_found=1;
if ($user['LINKED_OBJECT']) {
setGlobal($user['LINKED_OBJECT'].'.seenAt', $locations[$i]['TITLE']);
}
// we are at location
$rec['LOCATION_ID'] = $locations[$i]['ID'];
SQLUpdate('gpslog', $rec);
$tmp = SQLSelectOne("SELECT * FROM gpslog WHERE DEVICE_ID='" . $device['ID'] . "' AND ID != '" . $rec['ID'] . "' ORDER BY ADDED DESC LIMIT 1");
if ($tmp['LOCATION_ID']!=$locations[$i]['ID']) {
// entered location
$gpsaction = SQLSelectOne("SELECT * FROM gpsactions WHERE LOCATION_ID='" . $locations[$i]['ID'] . "' AND ACTION_TYPE = 1 AND USER_ID = '" . $device['USER_ID'] . "'");
if ($gpsaction['ID']) {
$gpsaction['EXECUTED'] = date('Y-m-d H:i:s');
$gpsaction['LOG'] = $gpsaction['EXECUTED'] . " Executed\n" . $gpsaction['LOG'];
SQLUpdate('gpsactions', $gpsaction);
if ($gpsaction['SCRIPT_ID']) {
runScript($gpsaction['SCRIPT_ID']);
} elseif ($gpsaction['CODE']) {
try {
$code=$gpsaction['CODE'];
$success=eval($code);
if ($success===false) {
DebMes("Error in GPS action code: ".$code);
}
} catch(Exception $e){
DebMes('Error: exception '.get_class($e).', '.$e->getMessage().'.');
}
}
}
}
} else {
$tmp = SQLSelectOne("SELECT * FROM gpslog WHERE DEVICE_ID= '" . $device['ID'] . "' AND ID != '" . $rec['ID'] . "' ORDER BY ADDED DESC LIMIT 1");
if ($tmp['LOCATION_ID'] == $locations[$i]['ID']) {
// left location
$gpsaction = SQLSelectOne("SELECT * FROM gpsactions WHERE LOCATION_ID = '" . $locations[$i]['ID'] . "' AND ACTION_TYPE = 0 AND USER_ID = '" . $device['USER_ID'] . "'");
if ($gpsaction['ID']) {
$gpsaction['EXECUTED'] = date('Y-m-d H:i:s');
$gpsaction['LOG'] = $gpsaction['EXECUTED'] . " Executed\n" . $gpsaction['LOG'];
SQLUpdate('gpsactions', $gpsaction);
if ($gpsaction['SCRIPT_ID']) {
runScript($gpsaction['SCRIPT_ID']);
} elseif ($gpsaction['CODE']) {
try {
$code=$gpsaction['CODE'];
$success=eval($code);
if ($success===false) {
DebMes("Error in GPS action code: ".$code);
}
} catch(Exception $e){
DebMes('Error: exception '.get_class($e).', '.$e->getMessage().'.');
}
}
}
}
}
}
if ($user['LINKED_OBJECT'] && !$location_found) {
setGlobal($user['LINKED_OBJECT'].'.seenAt', '');
}
$tmp = SQLSelectOne("SELECT *, DATE_FORMAT(ADDED, '%H:%i') as DAT FROM shouts ORDER BY ADDED DESC LIMIT 1");
} catch (exception $e) {
echo 'ERROR: ' . $e->getMessage() ;
}
}
// from gps.php
function calculateTheDistanceToiPhone($latA, $lonA, $latB, $lonB)
{
define('EARTH_RADIUS', 6372795);
//$lat1= $latA;
//$lat2= $la
$lat1 = $latA * M_PI / 180;
$lat2 = $latB * M_PI / 180;
$long1 = $lonA * M_PI / 180;
$long2 = $lonB * M_PI / 180;
$cl1 = cos($lat1);
$cl2 = cos($lat2);
$sl1 = sin($lat1);
$sl2 = sin($lat2);
$delta = $long2 - $long1;
$cdelta = cos($delta);
$sdelta = sin($delta);
$y = sqrt(pow($cl2 * $sdelta, 2) + pow($cl1 * $sl2 - $sl1 * $cl2 * $cdelta, 2));
$x = $sl1 * $sl2 + $cl1 * $cl2 * $cdelta;
//
$ad = atan2($y, $x);
$dist = $ad * EARTH_RADIUS;
return round($dist);
}
?>
Последний раз редактировалось Vovix Ср апр 19, 2017 4:24 pm, всего редактировалось 1 раз.
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
-
- Сообщения: 295
- Зарегистрирован: Вт апр 23, 2013 5:16 pm
- Откуда: Брянск
- Благодарил (а): 18 раз
- Поблагодарили: 94 раза
Re: Использование Apple (find my device) в GPS-трэкере
Так я и писал выше, что переделал, теперь нету там обращения к бд. Координаты теперь пишутся через обращение к gps.php, чтобы не зависеть от структуры бд модуля, которая может меняться:-).
Debian GNU/Linux 7.9 (wheezy), версия 0.9.0b, Connect
- Vovix
- Сообщения: 1155
- Зарегистрирован: Пн янв 27, 2014 1:43 am
- Откуда: г.Ижевск
- Благодарил (а): 60 раз
- Поблагодарили: 532 раза
- Контактная информация:
Re: Использование Apple (find my device) в GPS-трэкере
ранее:Dark_Veter писал(а):Так я и писал выше, что переделал, теперь нету там обращения к бд. Координаты теперь пишутся через обращение к gps.php, чтобы не зависеть от структуры бд модуля, которая может меняться:-).
Dark_Veter писал(а): Возможно что-то в структуре бд поменялось, я у себя давно переделал запись координат, чтобы не зависеть от модуля gps трекер. Попробуйте заменить файл во вложении, может поможет. У меня все работает.
![Shocked :shock:](./images/smilies/icon_eek.gif)
![Shocked :shock:](./images/smilies/icon_eek.gif)
![Shocked :shock:](./images/smilies/icon_eek.gif)
вот это меня и смутило!!!
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
-
- Сообщения: 295
- Зарегистрирован: Вт апр 23, 2013 5:16 pm
- Откуда: Брянск
- Благодарил (а): 18 раз
- Поблагодарили: 94 раза
Re: Использование Apple (find my device) в GPS-трэкере
Ну да, не совсем корректно выразил свою мысль ![Smile :-)](./images/smilies/icon_e_smile.gif)
![Smile :-)](./images/smilies/icon_e_smile.gif)
Debian GNU/Linux 7.9 (wheezy), версия 0.9.0b, Connect
- Vovix
- Сообщения: 1155
- Зарегистрирован: Пн янв 27, 2014 1:43 am
- Откуда: г.Ижевск
- Благодарил (а): 60 раз
- Поблагодарили: 532 раза
- Контактная информация:
Re: Использование Apple (find my device) в GPS-трэкере
и этот "новый файл"... усеченный несколько по функциям...Dark_Veter писал(а):Ну да, не совсем корректно выразил свою мысль
и проблема с целочиленным ID возникнет снова...
надо посмотреть что с базой данных...
может действительно дело в этом...
то починю!
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
-
- Сообщения: 295
- Зарегистрирован: Вт апр 23, 2013 5:16 pm
- Откуда: Брянск
- Благодарил (а): 18 раз
- Поблагодарили: 94 раза
Re: Использование Apple (find my device) в GPS-трэкере
А что усечено там по функциям? Может я не заметил чего, там убрана только запись в бд.
Debian GNU/Linux 7.9 (wheezy), версия 0.9.0b, Connect