[Приложение] MajorDroid

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

Модератор: immortal

ErmolenkoM
Сообщения: 560
Зарегистрирован: Ср сен 04, 2013 10:31 am
Откуда: Самара
Благодарил (а): 99 раз
Поблагодарили: 140 раз
Контактная информация:

Re: Android приложение

Сообщение ErmolenkoM » Пт окт 24, 2014 6:55 am

Galakart писал(а):Кстати, кто-нибудь вообще пользуется функцией GPS в этой программе? Не совсем она стабильная сейчас.
Я пробовал. Наблюдаю переодические остановки в отправке координат. Вернулся к BB.
aka msh555
Cubian на Cubietruck, Connect
Аватара пользователя
Bagir
Сообщения: 1613
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 374 раза

Re: Android приложение

Сообщение Bagir » Пт ноя 07, 2014 1:01 pm

Я тоже пробовал, но увы, батареи и так хватает на день с натягом в режиме жуткой экономии. При включении GPS убила за пару часов. Но все же расход большой. А вот принудительная отправка координат кнопкой - дело интересное.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
dimik
Сообщения: 141
Зарегистрирован: Пн апр 22, 2013 10:42 am
Благодарил (а): 3 раза
Поблагодарили: 8 раз

Re: Android приложение

Сообщение dimik » Пт ноя 14, 2014 12:40 am

Извиняюсь что не в тему, но увидел здесь такое:
Vit писал(а):
msh555 писал(а):Только сейчас увидел, что тема про Андроид-приложение, а не про Таскер. Ну да ладно, раз начали...

Нужно понять что происходит: либо с таскера не передается переменная, либо она пустая.
Создай свою переменную в таскере, заполни ее чем-нибудь (например "Privet eto test") и передай ее. В методе напиши что-то типа
say($params['command']);

У меня переменные нормально передаются (передавал уровень заряда, координаты) именно %CNAME не пробовал, может есть какие особенности, это надо в помощь таскера идти или на форум.
попробовал....

не говорит...
т.е. пустое походу значение...

say пустое
В Taskere command=77 (жестко забито)
А Алиса молчит. Пустота приходит.
Причем если все это набрать в браузере с command=77 Алиса как и положено 77 скажет.
что не так то?
ErmolenkoM
Сообщения: 560
Зарегистрирован: Ср сен 04, 2013 10:31 am
Откуда: Самара
Благодарил (а): 99 раз
Поблагодарили: 140 раз
Контактная информация:

Re: Android приложение

Сообщение ErmolenkoM » Пт ноя 14, 2014 6:47 am

dimik писал(а): В Taskere command=77 (жестко забито)
А Алиса молчит. Пустота приходит.
Причем если все это набрать в браузере с command=77 Алиса как и положено 77 скажет.
что не так то?
http://smartliving.ru/Main/ScAndroidTasker
aka msh555
Cubian на Cubietruck, Connect
dimik
Сообщения: 141
Зарегистрирован: Пн апр 22, 2013 10:42 am
Благодарил (а): 3 раза
Поблагодарили: 8 раз

Re: Android приложение

Сообщение dimik » Пт ноя 14, 2014 8:26 am

Спасибо за наводку. Почитал.
В задаче надо создавать не HTTPPost а HTTPGet тогда все работает
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Android приложение

Сообщение sergejey » Сб янв 10, 2015 10:58 am

Приветствую!

Если вдруг появится возможность доработки приложение, то есть ещё одно пожелание -- возможность активировать голосовой запрос извне через отправку по сети какого-то пакета. Например, я посылаю "hi" на какой-то tcp-порт, прослушка которого запускается в приложении и приложение активирует тоже действие, что и по кнопке вызова голосового ввода. Желательно без вывода ошибок, если ничего не было распознано (оригинальная идея отсюда, но не хочется ради такой полезной фишки таскер использовать).

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
Bagir
Сообщения: 1613
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 374 раза

Re: Android приложение

Сообщение Bagir » Сб янв 10, 2015 1:40 pm

Точно! Если ничего не распозналось, ошибку не нужно передавать. Я тоже в это уперся. Сейчас моя програмуль передает текстом слово sNULL, но практика показывает, что это не требуется. Способ повторного запуска сессии распознавания позволит сделать продолжение диалога со стороны Алисы.
Есть еще один моментик. Гугль отправляет процент вероятности. Его тоже можно передавать. Причем, если ничего не говорить, процент у меня всегда 0. Если этот процент тоже передать отдельным параметром, по нему можно будет делать вывод о молчании. Да и мало ли еще для чего пригодится.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Android приложение

Сообщение sergejey » Пт янв 23, 2015 6:14 pm

Засучив рукава начал разбираться с программированием под Android и в исходниках, благо приложение есть на GitHub, что очень здорово!

Промежуточный итог: http://c2n.me/3b26JBU.apk

Эта версия при старте создаёт сервис на порту 7999 и может принимать команду "hi", по которой автоматически запускается распознание речи, т.е. можно для диалогов обойтись без tasker-а.

Пример скрипта для активации запроса:

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

$address='192.168.0.47'; // здесь IP-адрес телефона/планшета
$service_port='7999';
$in='hi';

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
    echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "<br/>\n";
    return 0;
}
$result = socket_connect($socket, $address, $service_port);
if ($result === false) {
    echo "socket_connect() failed.\nReason: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
    return 0;
}
socket_write($socket, $in, strlen($in));
socket_close($socket);
 
Ещё в этой версии добавил 30 секундный таймаут, так что если ничего не распознано, то не будет висеть окно с ошибкой, а закроется через 30 секунд само.

Попробую ещё несколько вещей и со временем отправлю pull request-ом в оригинальное приложение, чтобы со временем обновить в маркете.
За это сообщение автора sergejey поблагодарил:
Samir77 (Ср июн 20, 2018 3:48 pm)
Рейтинг: 1.16%

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Vit
Сообщения: 867
Зарегистрирован: Вт янв 17, 2012 12:31 pm
Благодарил (а): 121 раз
Поблагодарили: 78 раз

Re: Android приложение

Сообщение Vit » Пт янв 23, 2015 8:33 pm

Сереж поставил, работает.... а как ты диалог теперь активируешь? как то можно через шаблоны этот hi отправлять или по каким то критериям?
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Android приложение

Сообщение sergejey » Пт янв 23, 2015 9:16 pm

Виталь, можно этот код вынести в отдельный сценарий и вызывать его через runScript в коде шаблона/контекста, ну а последний активировать через context_activate при случае.
За это сообщение автора sergejey поблагодарил:
astotskiy (Сб янв 24, 2015 11:47 am)
Рейтинг: 1.16%

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Ответить