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

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

Модератор: immortal

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

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

Сообщение ErmolenkoM »

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

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

Сообщение Bagir »

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

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

Сообщение dimik »

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

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

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

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

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

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

Сообщение ErmolenkoM »

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

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

Сообщение dimik »

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

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

Сообщение sergejey »

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

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

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

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

Сообщение Bagir »

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

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

Сообщение sergejey »

Засучив рукава начал разбираться с программированием под 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-ом в оригинальное приложение, чтобы со временем обновить в маркете.

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

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

Сообщение Vit »

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

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

Сообщение sergejey »

Виталь, можно этот код вынести в отдельный сценарий и вызывать его через runScript в коде шаблона/контекста, ну а последний активировать через context_activate при случае.

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