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

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

Модераторы: Bagir, Ivan, Vit, immortal, PAV

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

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

Сообщение sergejey » Ср фев 20, 2013 12:13 pm

Обсуждение Android приложение

Приложение представляет собой браузер, настроенный на открытие домашней страницы (меню) системы + приложение для Android Wear, совместимое с модулем WatchesMenu.

Установщик в GooglePlay
Тестовая версия в APK
Тестовая версия в APK для старых устройств

Быстрый доступ к основной странице веб-интерфейса

Отправка голосовой команды в систему
Для работы нужно поставить "Синтезатор речи Google"
  • Активация распознания голоса по ключевой фразе
Сканер штрих-кодов
Для работы сканера необходимо, чтобы на компьютере было установлено бесплатное приложение ZXing Barcode scanner Настраиваемая "быстрая" команда

Сервис на порту 7999
  • Команда "hi", по которой автоматически запускается распознание речи
  • "voice" -- работает аналогично "hi"
  • "home" -- переход на домашнюю страницу
  • "settings" -- вызов экрана настроек
  • "url:ССЫЛКА" -- переход по указанной ссылке
  • "play:URL" -- проигрывание медиа-файла
  • "pause" -- останавливает проигрывание
  • "tts:текст" -- произнести фразу
  • "ask:текст" -- произнести фразу и перейти в режим ожидания голосовой команды
  • "rtsp://ссылка" -- открыть RTSP-поток в отдельном плеере
  • "run://приложение" -- открыть приложение на телефоне/планшете (пример приложения: com.google.android.calendar)
СпойлерПоказать
Команды можно вызывать из веб-интерфейса

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

<a href="app://voice">КНОПКА</a> 
Либо удалённо при помощи следующего скрипта:

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

$address='192.168.0.170'; // ip-адрес планшета
$service_port='7999';
$in='tts:проверка'; // команда для отправки

$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); 
Videomessage
Модуль Videomessage

Детектор лиц
Если через настройки включить сервис детектора лица, то программа будет отправлять количество найденных лиц по адресу
viewtopic.php?f=5&t=518&hilit=android&start=160#p18630

Работа с IP-камерами
Приложение позволяет просматривать поток с IP-камер по протоколу RTSP. Любая ссылка на странице вида "rtsp://..." перехватывается приложением для открытия просмотра в отдельном окне.

Пример HTML кода:

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

<a href="rtsp://user:password@192.168.0.22:554/Streaming/Channels/102?transportmode=unicast&profile=Profile_2">My camera1</a>
Кроме того, есть возможность передавать плееру дополнительные параметры, а именно:
* Ссылку на действие по кнопке на плеере (если не указана, то кнопка действия не отображается)
* Заголовок кнопки действия (если не указан, то используется по-умолчанию)
* Тайм-аут автоматического закрытия окна плеера (по-умолчанию 60 секунд)

Действие по кнопке может быть полезно, когда, к примеру, вы просматриваете камеру, направленную на ворота и хотите сразу по кнопке их открыть или закрыть.

Пример HTML-кода с расширенными настройками:

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

<a href="rtsp://admin:password@192.168.0.22:554/Streaming/Channels/102?transportmode=unicast&profile=Profile_2|/api/method/EntryGates.switch;Ворота;45">cam1</a>
В этом примере задана ссылка действия /api/method/EntryGates.switch, заголовок действия "Ворота" и таймер закрытия окна 45 секунд. В качестве разделителя между основной ссылкой и параметрами используется символ "|", а отдельные параметры между собой разделяются через ";"

Ссылку действия можно указывать полностью, начиная с http:// -- в таком случае она будет задействована как есть, иначе же используются общие настройки приложения с учётом Локального/Внешнего доступа.

Кроме всего прочего, ссылку на поток со всеми параметрами можно передавать как внешнюю команду (см. выше сервисные команды), так что система может по событию инициировать интерфейс просмотра камеры с кнопкой управления и он сам закроется по истечению таймаута -- актуально для стационарных терминалов.

Настройки
  • Возможность переключения между локальным/глобальным IP-адресами
  • Возможность авторизации по имени-паролю
  • Переключение между обычным-полноэкранным режимом
  • Привязанными к скриптам majordomo
  • Возможность отправлять GPS-координаты
  • Вид без верхней полосы
  • Фраза активации (из нескольких вариантов)
  • Активацию по приближению
За это сообщение автора sergejey поблагодарили (всего 11):
Otto (Вс май 29, 2016 6:45 pm) • savenko_egor (Ср дек 28, 2016 3:44 pm) • Сердобольный (Ср фев 08, 2017 3:36 pm) • chip (Ср фев 15, 2017 1:15 am) • andrey040670 (Вт авг 01, 2017 1:55 am) • Vit (Ср ноя 08, 2017 2:13 am) • RusikOk (Вт апр 17, 2018 11:05 pm) • gagarin74 (Вс май 06, 2018 11:42 am) • kurs (Пн май 21, 2018 2:26 pm) • hc2hunter (Пт май 25, 2018 1:58 pm) и ещё один
Рейтинг: 15.07%

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Urbas81
Сообщения: 289
Зарегистрирован: Вс сен 16, 2012 9:39 am
Благодарил (а): 0
Поблагодарили: 1 раз

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

Сообщение Urbas81 » Пт фев 22, 2013 9:08 am

Вчера попробовал накидать кнопок для будущего управления моим устройством по езернет, интерфейс более менее получается, только у меня все кнопки сливаются, между ними нет зазоров, наверное это регулируется в коде, но с кодом у меня что-то не получилось, я так и не понял как там пути прописывать. Будет возможность поставлю эклипс и все примочки попробую там. А приложение которое выложено на сайте работает, в принципе если в нем оставить только кнопку которая выдает команду и в ней поменять команду и разместить таких кнопок 32 то это как раз то что я хочу. Еслиб увидить скриншоты тех двух всплывающих окон при переходе в режим программирования я б попробовал разобраться.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4263
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1365 раз
Контактная информация:

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

Сообщение sergejey » Пт фев 22, 2013 11:03 am

Так а там же есть скриншоты и в режиме программирования -- там где блоки таскаются.
Расположение кнопок в коде не регулируется -- там только реакция на нажатие делается, а весь интерфейс только в первом окне.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Urbas81
Сообщения: 289
Зарегистрирован: Вс сен 16, 2012 9:39 am
Благодарил (а): 0
Поблагодарили: 1 раз

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

Сообщение Urbas81 » Пт фев 22, 2013 12:16 pm

Ну может мне ява машину надо обновить, но у меня перед попаданием в блоки выскакивают 2 окна и там что-то надо вводить какие-то пути.
Vadymkyr
Сообщения: 125
Зарегистрирован: Ср дек 26, 2012 8:33 pm
Откуда: Севастополь
Благодарил (а): 0
Поблагодарили: 1 раз

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

Сообщение Vadymkyr » Пт фев 22, 2013 12:33 pm

тоже сделал похожее приложение, только у меня непосредственно arduino с enc26j60 управляется. Работает даже через GPRS нормально, только задержки в пару секунд.
А можно как-то сделать, что б выключатели в MajorDoMo дергать? Например, с телефона включил, и в системе он тоже включился?
Urbas81
Сообщения: 289
Зарегистрирован: Вс сен 16, 2012 9:39 am
Благодарил (а): 0
Поблагодарили: 1 раз

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

Сообщение Urbas81 » Пт фев 22, 2013 1:09 pm

Vadymkyr писал(а):тоже сделал похожее приложение, только у меня непосредственно arduino с enc26j60 управляется. Работает даже через GPRS нормально, только задержки в пару секунд.
А можно как-то сделать, что б выключатели в MajorDoMo дергать? Например, с телефона включил, и в системе он тоже включился?
Так это должно работать и так только? свойства выключателя нужно прописать . А приложение на чем писали с сайта или прогой на компьютере?
Аватара пользователя
sergejey
Site Admin
Сообщения: 4263
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1365 раз
Контактная информация:

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

Сообщение sergejey » Пт фев 22, 2013 2:01 pm

Urbas81 писал(а):Ну может мне ява машину надо обновить, но у меня перед попаданием в блоки выскакивают 2 окна и там что-то надо вводить какие-то пути.
У меня тоже, но в обоих можно нажать отмена и оно продолжит загружаться дальше.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
sergejey
Site Admin
Сообщения: 4263
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1365 раз
Контактная информация:

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

Сообщение sergejey » Пт фев 22, 2013 2:03 pm

Vadymkyr писал(а):тоже сделал похожее приложение, только у меня непосредственно arduino с enc26j60 управляется. Работает даже через GPRS нормально, только задержки в пару секунд.
А можно как-то сделать, что б выключатели в MajorDoMo дергать? Например, с телефона включил, и в системе он тоже включился?
Отправкой http запроса можно менять значение свойст объектов. Если выключатели к ним привязаны, то и они будут менять положение.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Vadymkyr
Сообщения: 125
Зарегистрирован: Ср дек 26, 2012 8:33 pm
Откуда: Севастополь
Благодарил (а): 0
Поблагодарили: 1 раз

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

Сообщение Vadymkyr » Пт фев 22, 2013 5:10 pm

а можно пример пожалуйста, а то не совсем понял.
у меня вот такой код

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

if ($params['VALUE']) {
$url='http://192.168.1.15:85/?cmd=ona'; 
getURL($url,0);
say("Принтер включен",5);
} else {
$url='http://192.168.1.15:85/?cmd=offa'; 
getURL($url,0);
say("Принтер выключен",5);
}
Urbas81
Сообщения: 289
Зарегистрирован: Вс сен 16, 2012 9:39 am
Благодарил (а): 0
Поблагодарили: 1 раз

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

Сообщение Urbas81 » Пт фев 22, 2013 5:15 pm

sergejey писал(а): У меня тоже, но в обоих можно нажать отмена и онор продолжит загружаться дальше.
Посмотрю еще, сегодня пытался с телефона там полазить, интерфейс корректируется и приложение компилится, а вот кнопки не получается перетянуть.
Ответить