Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Локальное соединение между дусей и агрегатом #29

Open
ivanbalashov239 opened this issue Mar 4, 2016 · 22 comments

Comments

@ivanbalashov239
Copy link
Contributor

edited

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

Тогда можно будет снизить нагрузку на сервер, уменьшить задержку.

@morfeusys
Copy link
Contributor

Вы можете посмотреть код модуля dusi. И заодно почитать справку по функции - rest api открыт. Так что там никакой подсети нет. Все через облако Google cloud message.

@UUSR
Copy link

UUSR commented Mar 4, 2016

@seniorivn В справке написано: Удалённое управление позволяет посылать вашему ассистенту текстовые комманды через интернет с использованием любой сторонней программы на ПК, броузера, онлайн сервиса и так далее.

Протокол
Чтобы послать текстовую команду, необходимо выполнить POST HTTP запрос на адрес http://api.dusi-mobi/remote

В параметрах запроса указывается id - ваш код доступа.

@morfeusys
Copy link
Contributor

@seniorivn было бы кстати здорово реализовать поддержку внутри подсети, было бы действительно быстрее. Но тогда поддерживать TCP подключение пришлось бы своими силами, а это большая работа с энергопотреблением.

@ivanbalashov239
Copy link
Contributor Author

@morfeusys @UUSR каюсь, поленился посмотреть подробности устройства, но простым решением представляется следующее, в дусе опционально добавить адрес агрегата, в качестве сервера удаленного подключения, а в агрегате реализовать функционал который на вашем сервере отвечает за удаленное управление, никаких велосипедов, просто перераспределение нагрузки, адрес агрегата/дуси в общей подсети можно узнавать/сообщать у вашего сервера.

@UUSR
Copy link

UUSR commented Mar 4, 2016

@seniorivn Это как минимум на локалке нужно иметь белый IP адрес, и использовать Server key в Agregate ,переписывать версию Дуси для того чтобы она могла подключаться к своему IP адресу вместо http://api.dusi-mobi/remote ,переписывать сам Aggregate.. и т. д.
Ооочень много работы ,лучше заняться функционалом ,например добавили уже поддержку мыши в key-detector потому можно уже компилировать и тестить активацию с помощью мыши...

@ivanbalashov239
Copy link
Contributor Author

@UUSR я активацию мышью протестировал перед тем как её замержили, с этим всё хорошо, вроде.
Белый ip иметь не нужно, я имел ввиду, что отправляя запрос на сервер, агрегат может сообщать свой локальный ip адрес, сервер будет знать, с какого ip адреса пришел запрос и если дуся в данный момент находится по тому же ip, можно сказать ей ip адрес агрегата(локальный). Но да, это фича требует переосмысления и переделки и дуси и агрегата и сервера. Но и плюсы ощутимые.

@UUSR
Copy link

UUSR commented Mar 4, 2016

@seniorivn Чем компилили модуль key-detector если не секрет? Я вот Eclipse пробую, загрузил весь проект себе на локалку, а как Eclipse пользоваться не знаю всё на английском...

@ivanbalashov239
Copy link
Contributor Author

@UUSR mvn clean install
в eclpse скорее всего есть поддержка maven, в Idea точно есть, справа вертикальное меню. Откроете дирректорию key-detector себе как проект и собирайте.

@UUSR
Copy link

UUSR commented Mar 4, 2016

@seniorivn Поддержка Maven есть по умолчанию или надо устанавливать в Eclipse отдельно, у меня версия Luna 4.4.2

@ivanbalashov239
Copy link
Contributor Author

@UUSR не знаю, не пользуюсь http://lmgtfy.com/?q=eclipse+maven
но если вам просто собрать, то проще в консоли.

@UUSR
Copy link

UUSR commented Mar 4, 2016

@seniorivn В консоли не хочу ,хочу иметь возможность собрать весь проект в один клик.

@morfeusys
Copy link
Contributor

@UUSR @seniorivn Я запишу небольшое видео о том, как с нуля поднять проект в каком-нибудь IDE типа IntelliJ IDEA или Eclipse

@UUSR
Copy link

UUSR commented Mar 5, 2016

@morfeusys Буду очень признателен если для Eclipse видео запишите, у меня возникли проблемы с импортом ,не хватает двух файлов в проекте: .classpath и .project ,хорошо бы добавить в проект... (для Eclipse)

@morfeusys
Copy link
Contributor

@UUSR .classpath и .project добавлять в проект как раз таки не надо - так как это файлы непосредственно IDE, которая никак не связаны с исходниками проекта

@UUSR
Copy link

UUSR commented Mar 5, 2016

@morfeusys к сожалению в Eclipse при импорте проекта этих файлов не хватает ,почему бы их для удобства не добавить в проект ,я имею в виду если использовать Eclipse как среду разработки и периодически напрямую бэкапить на Git прямо из Eclipse.

@morfeusys
Copy link
Contributor

@UUSR то есть по-вашему, нужно в проект добавить какие-то файлы для удобства использования самой неудобной в мире IDE?)) Eclipse умеет вроде импортить maven проект. Так что эти файлы не нужны.

@morfeusys
Copy link
Contributor

@UUSR Да еще к вам просьба - давайте разводить холивары по отдельным темам на гитхабе, а не в комментах к какой-то задаче. Спасибо.

@UUSR
Copy link

UUSR commented Mar 5, 2016

@morfeusys да точно не стоит засорять тему всякой ерундой про IDE

@morfeusys
Copy link
Contributor

@UUSR Давайте просто сделаем отдельную ветку. Как импортить в Eclipse я покажу в видео

@ivanbalashov239 ivanbalashov239 changed the title Как устроено подключение к Дусе? Локальное соединение между дусей и агрегатом Mar 5, 2016
@Tolsi
Copy link

Tolsi commented Jun 16, 2016

@morfeusys А можно ли сделать, чтобы агрегат мог использовать существующие скрипты дуси (например не связанные с мобильными функциями) без самой дуси? Код дуси и агрегата закрыты, но по ищее сами дусю можно растащить на модули агрегата и использовать на x86 пк.

@morfeusys
Copy link
Contributor

@Tolsi вы таки не поверите - но агрегат - это и есть Дуся )) то есть наоборот.

@Tolsi
Copy link

Tolsi commented Jun 18, 2016

@morfeusys ну так там в модуле дуси через веб сокет идет запрос на сервер и на дусю в телефоне.
Я понимаю, что фишка модуля дуси для агрегата - связь ПК с дусей на мобильном телефоне, но раз дуся = агрегат, то не привязанные к мобильным функциям скрипты от дуси могли бы быть совместимы с агрегатом.
Раз они имеют общую кодовую базу, вот почему бы не иметь возможность запускать скрипты типа "А-я-яй чат-бот" или там "Доброе утро", "Расписание ТВ", "Википедия" прямо в приложении Агрегата без Дуси и мобильного телефона. Зачем переписывать одинаковый функционал в двух одинаковых системах?
Голосовой ассистент в телефоне - это очень круто, но идея не ограничивается применением только на мобильных устройствах с андроидом и хотелось бы иметь максимум переносимых функций/модулей/скриптов между платформами.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants