Реакция нахождения в географической точке
Модератор: immortal
Re: Реакция нахождения в географической точке
Лучше настроить через Tasker, majordroid сильно потребляет батарею
Raspberry Pi2 Model B + NRF24L01 (MySensors) + 1-Wire + Esp8266 (WiFi-IoT)
CONNECT
CONNECT
Re: Реакция нахождения в географической точке
Это круто. Но есть ли пример? У меня там и нечего не получилось даже через MDslgeo писал(а):Лучше настроить через Tasker, majordroid сильно потребляет батарею
Отправлено с моего SM-G7508Q через Tapatalk
Re: Реакция нахождения в географической точке
я Big Brother gps настроил, сразу четко координаты появляться всегда стали, там как сервис его надо включить в настройках.
еще нашел и модифицировал код, что бы яндекс адрес указывал по координатам, но как то стремно работает, толи яндекс часто обращаться не дает то ли че, хз
(ПОПРАВИЛ КОД, работает всегда, внес)
ну сами я думаю поймете, свойство класса users.addr добавить нада
можно выводить в меню, сцене,да где угодно
function addressByCoordinates($geocode)
{
$params = array(
'geocode' => $geocode, // адрес
'format' => 'json', // формат ответа
'results' => 1, // количество выводимых результатов
// 'key' => '...', // ваш api key
);
//var_dump( $params);
$response = json_decode(file_get_contents('http://geocode-maps.yandex.ru/1.x/?' . http_build_query($params, '', '&')));
if (count($response->response->GeoObjectCollection->featureMember) > 0) {
return $response->response->GeoObjectCollection->featureMember[0]->GeoObject->metaDataProperty->GeocoderMetaData->AddressDetails->Country->AddressLine;
} else {
return false;
}
}
$c = gg('admin.Coordinates');
$co = explode(",", $c);
$coo = substr($co[1],0,6).','.substr($co[0],0,6);
echo $coo;
sg('admin.addr', addressByCoordinates($coo));
$c = gg('luba.Coordinates');
$co = explode(",", $c);
$coo = substr($co[1],0,6).','.substr($co[0],0,6);
echo $coo;
sg("luba.addr", addressByCoordinates($coo));
еще нашел и модифицировал код, что бы яндекс адрес указывал по координатам, но как то стремно работает, толи яндекс часто обращаться не дает то ли че, хз
(ПОПРАВИЛ КОД, работает всегда, внес)
ну сами я думаю поймете, свойство класса users.addr добавить нада
можно выводить в меню, сцене,да где угодно
function addressByCoordinates($geocode)
{
$params = array(
'geocode' => $geocode, // адрес
'format' => 'json', // формат ответа
'results' => 1, // количество выводимых результатов
// 'key' => '...', // ваш api key
);
//var_dump( $params);
$response = json_decode(file_get_contents('http://geocode-maps.yandex.ru/1.x/?' . http_build_query($params, '', '&')));
if (count($response->response->GeoObjectCollection->featureMember) > 0) {
return $response->response->GeoObjectCollection->featureMember[0]->GeoObject->metaDataProperty->GeocoderMetaData->AddressDetails->Country->AddressLine;
} else {
return false;
}
}
$c = gg('admin.Coordinates');
$co = explode(",", $c);
$coo = substr($co[1],0,6).','.substr($co[0],0,6);
echo $coo;
sg('admin.addr', addressByCoordinates($coo));
$c = gg('luba.Coordinates');
$co = explode(",", $c);
$coo = substr($co[1],0,6).','.substr($co[0],0,6);
echo $coo;
sg("luba.addr", addressByCoordinates($coo));
Последний раз редактировалось lysyy Вт авг 11, 2015 11:34 pm, всего редактировалось 2 раза.
-
ErmolenkoM
- Сообщения: 560
- Зарегистрирован: Ср сен 04, 2013 10:31 am
- Откуда: Самара
- Контактная информация:
Re: Реакция нахождения в географической точке
Да. Раздел "Отправка координат GPS".ILGAS писал(а):Это круто. Но есть ли пример?slgeo писал(а):Лучше настроить через Tasker, majordroid сильно потребляет батарею
http://majordomo.smartliving.ru/Main/ScAndroidTasker
Re: Реакция нахождения в географической точке
А в профиле отправки координат чему мы присваеваем содержимое переменной %Charger? Имя?Controer писал(а):3. Ну дальше в профиле отправки координат, добавить нашу переменную %Charger, чтобы контролировать состояние зарядкиtriada13 писал(а):Vit но вот в таскере нету переменной для статуса на зарядке или нет, как туда ввести эту переменную?
Majordomo на Orange Pi Zero.
-
ErmolenkoM
- Сообщения: 560
- Зарегистрирован: Ср сен 04, 2013 10:31 am
- Откуда: Самара
- Контактная информация:
Re: Реакция нахождения в географической точке
Зачем инструкции, если можно посмотреть код?triada13 писал(а):А в профиле отправки координат чему мы присваеваем содержимое переменной %Charger? Имя?
https://github.com/sergejey/majordomo/b ... 2c/gps.php
Re: Реакция нахождения в географической точке
msh555, спасибо за ссылку. получило подцепить телефон с первого раза, он стал отправлять каждый 5 мин.msh555 писал(а):Да. Раздел "Отправка координат GPS".ILGAS писал(а):Это круто. Но есть ли пример?slgeo писал(а):Лучше настроить через Tasker, majordroid сильно потребляет батарею
http://majordomo.smartliving.ru/Main/ScAndroidTasker
а можно ли поподробнее про блютуз в машине, как заставить отправлять чащи gps трек и при пропаденее gps не отправлять ?
Re: Реакция нахождения в географической точке
Не стал создавать отдельную тему, надеюсь тут помогут.
В общем подскажите или натолкните на мысль.
Есть зона "работа". Время обновления gps 2 мин.
При покидании зоны отсылается смс девушке что закончил работать.
Так вот, периодически бывает что gps не славливает и по вышкам откидывает на 1.5км в сторону. И отсылается смс...
Как в сценарии на покидание зоны сделать выборку, например если последние 3 точки в зоне работы то я точно на работе. 3 точки вне работы значит точно покинул работу.
В общем подскажите или натолкните на мысль.
Есть зона "работа". Время обновления gps 2 мин.
При покидании зоны отсылается смс девушке что закончил работать.
Так вот, периодически бывает что gps не славливает и по вышкам откидывает на 1.5км в сторону. И отсылается смс...
Как в сценарии на покидание зоны сделать выборку, например если последние 3 точки в зоне работы то я точно на работе. 3 точки вне работы значит точно покинул работу.
-
ErmolenkoM
- Сообщения: 560
- Зарегистрирован: Ср сен 04, 2013 10:31 am
- Откуда: Самара
- Контактная информация:
Re: Реакция нахождения в географической точке
проблема известная. Идея такая: разделить в переменных широту и долготу, включить историчность, воспользоваться функциями работы с историей http://majordomo.smartliving.ru/forum/v ... f=7&t=2997kazaam2 писал(а):Не стал создавать отдельную тему, надеюсь тут помогут.
В общем подскажите или натолкните на мысль.
Есть зона "работа". Время обновления gps 2 мин.
При покидании зоны отсылается смс девушке что закончил работать.
Так вот, периодически бывает что gps не славливает и по вышкам откидывает на 1.5км в сторону. И отсылается смс...
Как в сценарии на покидание зоны сделать выборку, например если последние 3 точки в зоне работы то я точно на работе. 3 точки вне работы значит точно покинул работу.
Re: Реакция нахождения в географической точке
здраствуйте...подскажите а куда функции вставляете?lysyy писал(а):я Big Brother gps настроил, сразу четко координаты появляться всегда стали, там как сервис его надо включить в настройках.
еще нашел и модифицировал код, что бы яндекс адрес указывал по координатам, но как то стремно работает, толи яндекс часто обращаться не дает то ли че, хз
(ПОПРАВИЛ КОД, работает всегда, внес)
ну сами я думаю поймете, свойство класса users.addr добавить нада
можно выводить в меню, сцене,да где угодно
function addressByCoordinates($geocode)
{
$params = array(
'geocode' => $geocode, // адрес
'format' => 'json', // формат ответа
'results' => 1, // количество выводимых результатов
// 'key' => '...', // ваш api key
);
//var_dump( $params);
$response = json_decode(file_get_contents('http://geocode-maps.yandex.ru/1.x/?' . http_build_query($params, '', '&')));
if (count($response->response->GeoObjectCollection->featureMember) > 0) {
return $response->response->GeoObjectCollection->featureMember[0]->GeoObject->metaDataProperty->GeocoderMetaData->AddressDetails->Country->AddressLine;
} else {
return false;
}
}
$c = gg('admin.Coordinates');
$co = explode(",", $c);
$coo = substr($co[1],0,6).','.substr($co[0],0,6);
echo $coo;
sg('admin.addr', addressByCoordinates($coo));
$c = gg('luba.Coordinates');
$co = explode(",", $c);
$coo = substr($co[1],0,6).','.substr($co[0],0,6);
echo $coo;
sg("luba.addr", addressByCoordinates($coo));