gps и доступ извне

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

AndreyK
Сообщения: 64
Зарегистрирован: Пн сен 04, 2017 10:28 pm
Благодарил (а): 14 раз
Поблагодарили: 5 раз

Re: Модуль GPS-трекер

Сообщение AndreyK » Вс янв 28, 2018 1:17 am

Подскажите кто-нибудь про get запросы.
Вот отсюда https://majordomo.smartliving.ru/Main/Urls взял формат запросов к серверу для чтения и изменения свойств.
/objects/?op=get&object=<OBJECT>&p=<PROPERTY> -- получить значение свойства объекта
/objects/?op=set&object=<OBJECT>&p=<PROPERTY>&v=<VALUE> -- установить значение свойства объекта
Все работает, передаю координаты GPS из авто.
Как в эти запросы добавить Пользователя и Пароль от сервера которые в config. php?
Аватара пользователя
vitt76
Сообщения: 372
Зарегистрирован: Вс апр 09, 2017 2:36 pm
Благодарил (а): 101 раз
Поблагодарили: 51 раз

Re: Модуль GPS-трекер

Сообщение vitt76 » Вс янв 28, 2018 9:13 am

http://pass:login@url/objects и так далее
Broadlink + Orange Pi PC ARMBIAN 5.31
VladPTZ
Сообщения: 395
Зарегистрирован: Вт май 31, 2016 6:56 pm
Откуда: Россия Карелия Петрозаводск
Благодарил (а): 95 раз
Поблагодарили: 57 раз

Re: Модуль GPS-трекер

Сообщение VladPTZ » Чт фев 01, 2018 10:31 am

nick7zmail писал(а):Я ж говорил сломали модуль))
На самом деле надо удалить или закоментировать функцию getgeocode() или как там она в библиотеке ваших функций (/lib/myfunctions.php к примеру). Потому-что кто то её в модуль закинул, и дорабатывать нормально не торопятся.
У меня до обновления все работало до 5 января, после обновления перестали поступать координаты.
Я удалил функцию getgeocode()

Код: Выделить всё

<?php
function Getgeocode($lon, $lat)  {
  $data_file="http://geocode-maps.yandex.ru/1.x/?geocode=E".$lon.",N".$lat;
  $xml = simplexml_load_file($data_file);
  $res=$xml->{'GeoObjectCollection'}->{'featureMember'}[0]->
        {'GeoObject'}->{'metaDataProperty'}->{'GeocoderMetaData'}->
        {'AddressDetails'}->{'Country'}->{'AddressLine'};
  return $res;
}

?>
Это откуда и для чего вообще эта функция https://majordomo.smartliving.ru/forum/ ... 917#p37917

В итоге координаты стали приходить но перестали работать скрипты типа "Где находится Влад" и почему то определения заряда батареи телефона.
СпойлерПоказать

Код: Выделить всё

$res = $matches[2];
$res = mb_strtolower($res, 'UTF-8');
if (mb_strpos($res, 'влад') !== false) {
    say(returnPosition('admin'),2);
} elseif (mb_strpos($res, 'ан') !== false) {
    say(returnPosition('Anna'),2);
} else {
 say('Не знаю!');
 say('Шарится где-то.',2);
}

function returnPosition($obj) {
     callMethod($obj.'.SetLocation');
     $pos = 'Последний раз ';
    if (gg($obj.'.sex') == 'female') {
        $pos .= ' была замечена';
    } else {
        $pos .= ' был замечен';
    }
    if (gg($obj.'.seenAt') == 'Работа') {
        $pos .= ' на работе';
    } elseif (gg($obj.'.seenAt') == 'Дом') {
        $pos .= ' дома';
    } else {
         $pos .= 'по адресу ';
        $pos .= gg($obj.'.Location');
    }
     $pos .= ' в ';
     $pos .= gg($obj.'.CoordinatesUpdated');
     $pos .= '.';
    return $pos;
}
То есть с удалением этой функции запроса адреса по координатам на яндексе.
Если вернуть функцию getgeocode() то модуль обратно ломаются но начинают работать спкрипты
но данные озвучивает всеравно старые который собрал модуль до обновления, новые данные которые собрал обновлены модуль (с удавленной функцией getgeocode()) скрипты не видят.
Верните рабочий на место или почините пожалуйста.
Или подскажите пожалуйста что я делаю не так? Ведь работал же раньше и работает после восстановления с бакапа пока не обновиш систему.
Последний раз редактировалось VladPTZ Чт фев 01, 2018 11:58 am, всего редактировалось 1 раз.
Сервер МД на x86 micro pc ssd + HDD, OC Debian, терминал Xiaomi Redmi note 7
Мои исходники для мд управляемых устройств https://github.com/vgamaev/ESPMDDEVICE
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Модуль GPS-трекер

Сообщение nick7zmail » Чт фев 01, 2018 11:12 am

Поддерживаю...уже давно просил - реакции ноль...пришлось пока смириться)
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
VladPTZ
Сообщения: 395
Зарегистрирован: Вт май 31, 2016 6:56 pm
Откуда: Россия Карелия Петрозаводск
Благодарил (а): 95 раз
Поблагодарили: 57 раз

Re: Модуль GPS-трекер

Сообщение VladPTZ » Чт фев 01, 2018 11:19 am

ВЕРНИТЕ ПОЖАЛУЙСТА ХОТЯ БЫ ОБРАТНО МОДУЛЬ В МАРКЕТ КОТОРЫЙ БЫЛ ДО 5 ЯНВАРЯ 2018 ГОДА И ЧТОБЫ НЕ РАБОЧИЙ МОДУЛЬ САМ ПОСЛЕ ОБНОВЛЕНИЯ СИСТЕМЫ НЕ ЗАЛАЗИЛ. УЖЕ ПОЧТИ МЕСЯЦ ПРОШЕЛ.
За это сообщение автора VladPTZ поблагодарил:
timurufa86 (Вт мар 20, 2018 8:07 pm)
Рейтинг: 1.16%
Сервер МД на x86 micro pc ssd + HDD, OC Debian, терминал Xiaomi Redmi note 7
Мои исходники для мд управляемых устройств https://github.com/vgamaev/ESPMDDEVICE
VladPTZ
Сообщения: 395
Зарегистрирован: Вт май 31, 2016 6:56 pm
Откуда: Россия Карелия Петрозаводск
Благодарил (а): 95 раз
Поблагодарили: 57 раз

Re: Модуль GPS-трекер

Сообщение VladPTZ » Чт фев 01, 2018 9:21 pm

Cудя по этому диалогу https://github.com/sergejey/majordomo-a ... 3f604278bb
модуль чинить не кто и не собирается потому как у автора изменений под его задачи все работает а на остальных...
В итоге сделал такой костыль.
Выдернул рабочий файл /var/www/gps.php с бакапа до 5 января и заменил аналогичный файл в обновленной системе.
После перезагрузки на первый взгляд вроде заработало как надо.

Файл gps.php
СпойлерПоказать

Код: Выделить всё

<?php

/**
 * Main project script
 *
 * @package MajorDoMo
 * @author Serge Dzheigalo <jey@tut.by> http://smartliving.ru/
 * @version 1.1
 */

include_once("./config.php");
include_once("./lib/loader.php");

// start calculation of execution time
startMeasure('TOTAL');

include_once(DIR_MODULES . "application.class.php");

$session = new session("prj");

const GPS_LOCATION_RANGE_DEFAULT = 500;

// connecting to database
$db = new mysql(DB_HOST, '', DB_USER, DB_PASSWORD, DB_NAME);

include_once("./load_settings.php");

if ($_REQUEST['location'])
{
   $tmp = explode(',', $_REQUEST['location']);
   
   $_REQUEST['latitude']  = $tmp[0];
   $_REQUEST['longitude'] = $tmp[1];
}

if ($_REQUEST['op'] != '')
{
   $op = $_REQUEST['op'];
   $ok = 0;
   
   if ($op == 'zones')
   {
      $zones = SQLSelect("SELECT * FROM gpslocations");
      echo json_encode(array('RESULT' => array('ZONES' => $zones, 'STATUS' => 'OK')));
      $ok = 1;
   }

   if ($op == 'add_zone' && $_REQUEST['latitude'] && $_REQUEST['longitude'] && $_REQUEST['title'])
   {
      global $title;
      global $range;

      $sqlQuery = "SELECT *
                     FROM gpslocations
                    WHERE TITLE LIKE '" . DBSafe($title) . "'";
      
      $old_location = SQLSelect($sqlQuery);
      
      if ($old_location['ID'])
         $title .= ' (1)';
      
      if (!$range)
         $range = 200;
      
      $rec = array();
      
      $rec['TITLE'] = $title;
      $rec['LAT']   = $_REQUEST['latitude'];
      $rec['LON']   = $_REQUEST['longitude'];
      $rec['RANGE'] = (int)$range;
      $rec['ID']    = SQLInsert('gpslocations', $rec);
      
      echo json_encode(array('RESULT' => array('STATUS' => 'OK')));
      
      $ok = 1;
   }

   if ($op == 'set_token' && $_REQUEST['token'] && $_REQUEST['deviceid'])
   {
      $sqlQuery = "SELECT *
                     FROM gpsdevices
                    WHERE DEVICEID = '" . DBSafe($_REQUEST['deviceid']) . "'";
      
      $device = SQLSelectOne($sqlQuery);
      
      if (!$device['ID'])
      {
         $device = array();

         $device['DEVICEID'] = $_REQUEST['deviceid'];
         $device['TITLE']    = 'New GPS Device';
         $device['ID']       = SQLInsert('gpsdevices', $device);
      }

      $device['TOKEN'] = $_REQUEST['token'];
      SQLUpdate('gpsdevices', $device);
      $ok = 1;
   }

   if (!$ok)
      echo json_encode(array('RESULT' => array('STATUS' => 'FAIL')));

   $db->Disconnect();
   exit;
}

if (isset($_REQUEST['latitude']))
{
   //DebMes("GPS DATA RECEIVED: \n".serialize($_REQUEST));
   if ($_REQUEST['deviceid'])
   {
      $sqlQuery = "SELECT *
                     FROM gpsdevices
                    WHERE DEVICEID = '" . DBSafe($_REQUEST['deviceid']) . "'";
      
      $device = SQLSelectOne($sqlQuery);
      
      if (!$device['ID'])
      {
         $device = array();

         $device['DEVICEID'] = $_REQUEST['deviceid'];
         $device['TITLE']    = 'New GPS Device';

         if ($_REQUEST['token'])
            $device['TOKEN'] = $_REQUEST['token'];
         
         $device['ID'] = SQLInsert('gpsdevices', $device);
         
         $sqlQuery = "UPDATE gpslog
                         SET DEVICE_ID = '" . $device['ID'] . "'
                       WHERE DEVICEID = '" . DBSafe($_REQUEST['deviceid']) . "'";
         
         SQLExec($sqlQuery);
      }
      
      $device['LAT']     = $_REQUEST['latitude'];
      $device['LON']     = $_REQUEST['longitude'];
      $device['UPDATED'] = date('Y-m-d H:i:s');
      
      SQLUpdate('gpsdevices', $device);
   }
        
   include_once("./modules/app_gpstrack/app_gpstrack.class.php");
   $gpstrack = new app_gpstrack();
   $gpstrack->getConfig();
   $max_accuracy = $gpstrack->config['MAX_ACCURACY'];
   unset($gpstrack);
   
   $rec = array();
   
   //$rec['ADDED']     = ($time) ? $time : date('Y-m-d H:i:s');
   $rec['ADDED']     = date('Y-m-d H:i:s');
   $rec['LAT']       = $_REQUEST['latitude'];
   $rec['LON']       = $_REQUEST['longitude'];
   $rec['ALT']       = round($_REQUEST['altitude'], 2);
   $rec['PROVIDER']  = $_REQUEST['provider'];
   $rec['SPEED']     = round($_REQUEST['speed'], 2);
   $rec['BATTLEVEL'] = $_REQUEST['battlevel'];
   $rec['CHARGING']  = (int)$_REQUEST['charging'];
   $rec['DEVICEID']  = $_REQUEST['deviceid'];
   $rec['ACCURACY']  = isset($_REQUEST['accuracy']) ? $_REQUEST['accuracy'] : 0;

   if (($max_accuracy != 0) && ($rec['ACCURACY'] > $max_accuracy)) {
            //DebMes("GPS Accuracy {$rec['ACCURACY']} > {$max_accuracy} exiting!");
                $db->Disconnect();
                exit;
   }
   
   if ($device['ID'])
      $rec['DEVICE_ID'] = $device['ID'];
   
   $rec['ID'] = SQLInsert('gpslog', $rec);

   if ($device['USER_ID'])
   {
      $sqlQuery = "SELECT *
                     FROM users
                    WHERE ID = '" . $device['USER_ID'] . "'";
      
      $user = SQLSelectOne($sqlQuery);

      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']);
         
         $sqlQuery = "SELECT *
                        FROM gpslog
                       WHERE ID        != '" . $rec['ID'] . "'
                         AND DEVICE_ID = '" . $device['ID'] . "'
                       ORDER BY ID DESC
                       LIMIT 1";

         $prev_log = SQLSelectOne($sqlQuery);

         if ($prev_log['ID'])
         {
            $distance = calculateTheDistance($rec['LAT'], $rec['LON'], $prev_log['LAT'], $prev_log['LON']);
            
            if ($distance > 100)
            {
               //we're moving
               $objectIsMoving = $user['LINKED_OBJECT'] . '.isMoving';

               setGlobal($objectIsMoving, 1);
               clearTimeOut($user['LINKED_OBJECT'] . '_moving');
               
               // stopped after 15 minutes of inactivity
               setTimeOut($user['LINKED_OBJECT'] . '_moving', "setGlobal('" . $objectIsMoving . "', 0);", 15 * 60);
            }
         }
      }
   }

   // checking locations
   $lat = (float)$_REQUEST['latitude'];
   $lon = (float)$_REQUEST['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'] = GPS_LOCATION_RANGE_DEFAULT;
      
      $distance = calculateTheDistance($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));
       }
      }
      
      //echo ' (' . $locations[$i]['LAT'] . ' : ' . $locations[$i]['LON'] . ') ' . $distance . ' m';
      if ($distance <= $locations[$i]['RANGE'])
      {
         //Debmes("Device (" . $device['TITLE'] . ") NEAR location " . $locations[$i]['TITLE']);
         $location_found = 1;

         $params = array();
         $params['LOCATION']=$locations[$i]['TITLE'];
         $params['USER_OBJECT']=$user['LINKED_OBJECT'];

         
         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);

         $sqlQuery = "SELECT *
                        FROM gpslog
                       WHERE DEVICE_ID = '" . $device['ID'] . "'
                         AND ID        != '" . $rec['ID'] . "'
                       ORDER BY ADDED DESC
                       LIMIT 1";

         $tmp = SQLSelectOne($sqlQuery);
         
         if ($tmp['LOCATION_ID'] != $locations[$i]['ID'])
         {
            //Debmes("Device (" . $device['TITLE'] . ") ENTERED location " . $locations[$i]['TITLE']);

            if ($locations[$i]['LINKED_OBJECT']) {
               setGlobal($locations[$i]['LINKED_OBJECT'].'.latestVisit',date('Y-m-d H:i:s'));
               callMethodSafe($locations[$i]['LINKED_OBJECT'].'.userEntered',$params);
            }
            if ($params['USER_OBJECT']) {
               callMethodSafe($params['USER_OBJECT'].'.enteredLocation',array('LOCATION_OBJECT'=>$locations[$i]['LINKED_OBJECT'],'LOCATION'=>$locations[$i]['TITLE']));
            }

            // entered location
            $sqlQuery = "SELECT *
                           FROM gpsactions
                          WHERE LOCATION_ID = '" . $locations[$i]['ID'] . "'
                            AND (ACTION_TYPE = 1 OR ACTION_TYPE = 2)
                            AND USER_ID     = '" . $device['USER_ID'] . "'";

            $gpsaction = SQLSelectOne($sqlQuery);
            
            if ($gpsaction['ID'])
            {
               $gpsaction['EXECUTED'] = date('Y-m-d H:i:s');
               $gpsaction['LOG']      = $gpsaction['EXECUTED'] . " Executed\n" . $gpsaction['LOG'];
               
               SQLUpdate('gpsactions', $gpsaction);

               $params['ENTERING']=1;

               if ($gpsaction['SCRIPT_ID'])
               {
                  runScript($gpsaction['SCRIPT_ID'],$params);
               }
               elseif ($gpsaction['CODE'])
               {
                  try
                  {
                     $code    = $gpsaction['CODE'];
                     $success = eval($code);

                     if ($success === false)
                     {
                        DebMes("Error in GPS action code: " . $code);
                        registerError('gps_action', "Code execution error: " . $code);
                     }
                  }
                  catch (Exception $e)
                  {
                     DebMes('Error: exception ' . get_class($e) . ', ' . $e->getMessage() . '.');
                     registerError('gps_action', get_class($e) . ', ' . $e->getMessage());
                  }
               }
            }
         }
      }
      else
      {

         $sqlQuery = "SELECT *
                        FROM gpslog
                       WHERE DEVICE_ID = '" . $device['ID'] . "'
                         AND ID        != '" . $rec['ID'] . "'
                       ORDER BY ADDED DESC
                       LIMIT 1";

         $tmp = SQLSelectOne($sqlQuery);
         
         if ($tmp['LOCATION_ID'] == $locations[$i]['ID'])
         {
            //Debmes("Device (" . $device['TITLE'] . ") LEFT location " . $locations[$i]['TITLE']);
            
            if ($locations[$i]['LINKED_OBJECT']) {
               callMethodSafe($locations[$i]['LINKED_OBJECT'].'.userLeft',$params);
            }
            if ($params['USER_OBJECT']) {
               callMethodSafe($params['USER_OBJECT'].'.leftLocation',array('LOCATION_OBJECT'=>$locations[$i]['LINKED_OBJECT'],'LOCATION'=>$locations[$i]['TITLE']));
            }
            
            $params['LEAVING']=1;
            // left location
            $sqlQuery = "SELECT *
                           FROM gpsactions
                          WHERE LOCATION_ID = '" . $locations[$i]['ID'] . "'
                            AND (ACTION_TYPE = 0  OR ACTION_TYPE = 2)
                            AND USER_ID     = '" . $device['USER_ID'] . "'";
            
            $gpsaction = SQLSelectOne($sqlQuery);
            
            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'],$params);
               }
               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', '');

$sqlQuery = "SELECT *, DATE_FORMAT(ADDED, '%H:%i') as DAT
               FROM shouts
              ORDER BY ADDED DESC
              LIMIT 1";

$tmp = SQLSelectOne($sqlQuery);

if (!headers_sent())
{
   header("HTTP/1.0: 200 OK\n");
   header('Content-Type: text/html; charset=utf-8');
}

if (defined('BTRACED'))
{
   echo "OK";
}
elseif ($tmp['MESSAGE'] != '')
{
   echo ' ' . $tmp['DAT'] . ' ' . transliterate($tmp['MESSAGE']);
}

// closing database connection
$db->Disconnect();

endMeasure('TOTAL'); // end calculation of execution time

/**
 * Calculate distance between two GPS coordinates
 * @param mixed $latA First coord latitude
 * @param mixed $lonA First coord longitude
 * @param mixed $latB Second coord latitude
 * @param mixed $lonB Second coord longitude
 * @return double
 */
function calculateTheDistance($latA, $lonA, $latB, $lonB)
{
   define('EARTH_RADIUS', 6372795);
   
   $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 = round($ad * EARTH_RADIUS);

   return $dist;
}
Три вечера убил пока разбирался, побольше таких костылей и мд замучимся обслуживать.
А у меня еще есть потеряных функционал с которым предстоит еще разобраться.

Вот вот и сам костыль
gps.txt
(14.08 КБ) 678 скачиваний
перед заменой переименовать в gps.php
Последний раз редактировалось VladPTZ Чт фев 01, 2018 9:30 pm, всего редактировалось 2 раза.
За это сообщение автора VladPTZ поблагодарил:
Pr0gra2Mer (Пт апр 12, 2019 10:18 am)
Рейтинг: 1.16%
Сервер МД на x86 micro pc ssd + HDD, OC Debian, терминал Xiaomi Redmi note 7
Мои исходники для мд управляемых устройств https://github.com/vgamaev/ESPMDDEVICE
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Модуль GPS-трекер

Сообщение nick7zmail » Чт фев 01, 2018 9:27 pm

Ну по тому диалогу как раз есть заявочка на доработку...
Хорошо было бы еще собрать варианты кто какую информацию избгеокодирования берет. Можешь свой вариант получения строки выложить?
После чего я выложил свой вариант, а в теме гео-кодера подкинули вариант с гуглом...
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Logrus
Сообщения: 2084
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 457 раз

Re: Модуль GPS-трекер

Сообщение Logrus » Чт фев 01, 2018 9:55 pm

nick7zmail писал(а):Поддерживаю...уже давно просил - реакции ноль...пришлось пока смириться)
форк с откатом, пока думают правят, у всех свои хотелки
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Модуль GPS-трекер

Сообщение sergejey » Вс фев 04, 2018 9:08 am

Я принял запрос на изменения в github-е от пользователя Zelevova -- он убрал эту функцию из кода.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Albert
Сообщения: 57
Зарегистрирован: Чт янв 26, 2017 7:08 pm
Благодарил (а): 40 раз
Поблагодарили: 4 раза

Re: Модуль GPS-трекер

Сообщение Albert » Вс фев 04, 2018 10:10 pm

А есть ли возможность принимать данные не по общему 80 порту, а именно для модуля настроить другой?
Ответить