yunkong2.vis.cordova/README.ru.md
2018-09-22 10:44:38 +08:00

190 lines
24 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

![Logo](admin/vis.png)
yunkong2.vis.cordova
============
WEB визуализация для платформы yunkong2 как приложение для мобильных устройств.
Это приложение разработано для мобильных телефонов и планшетов и оно сохраняет все данные проекта и все картинки из проекта локально на устройстве и экономит таким образом мобильный трафик.
## Использование
Это приложение не может работать самостоятельно и требует предустановленный yunkong2 с настроенными и активированными драйверами vis и web (или socket-io).
При использовании только web драйвера в связке с vis требуется активированная настройка внутреннего socket-io.
Также проект vis тоже должен существовать, например "main".
Порты и сервер yunkong2 должны быть доступны с телефона и не заперты за файерволом.
Приложение можно установить с [App Store](https://play.google.com/store/apps/details?id=net.yunkong2.vis&hl=ru)
После установки и первого запуска приложения должно автоматически открыться меню настроек. Что бы начать работать с приложением необходимо произвести минимальные настройки.
Что бы позднее вызвать меню настроек нужно нажать на полупрозрачную кнопку в верхнем левом углу.
![Настройки](img/menu.png)
## Настройки
Почти все настройки необязательны за исключением "WiFi соединения" and "Проекта".
### Кнопки
- *Обновить* - Просто загружает страницу заново, как будто в браузере нажали на кнопку "обновить".
- *Синхр.* - если vis проект изменился, то обновления **не** будут загружены с сервера автоматически. Для синхронизации данных проекта с сервером необходимо нажать кнопку *Синхр.*. Все данные и картинки (а также шрифты и аудио-файлы) будут загружены с сервера заново. Это делается для последующей экономии траффика и ускорения загрузки проекта, т.к. загрузить файл с внутренней памяти гораздо быстрее, чем с удаленного сервера.
- *Ok* - сохранить все изменения и обновить страницу. Синхронизации с сервером не происходит, ести только не поменялось имя проекта. Что бы загрузить изменения с сервера используйте кнопку *Синхр.*.
- *Отмена* - отменить все изменения и закрыть диалоговое окно настроек.
### Соединение
Приложение может с помошью имени WiFi сети распознать в какой сети находится телефон, в домашней (обычно без пароля) или нет (с паролем) и использовать разные настройки для подключения.
Обычно в домашней сети не используется защищённое соединение и пароль и наоборот за пределами домашней сети не желательно использовать соединени без пароля и без SSL.
- *Соединение* - показывает состояние соединения: есть ли связь с yunkong2 сервером.
- *WIFI Имя сети (SSID)* - имя или имена (через запятую) беспроводных сетей, которые будут идентифицироватся, как домашняя сеть, что бы использовать соответствующие настройки для соединения.
- *WIFI Socket URL* - URL вида ```http://192.168.0.5:8082```. Важно иметь в начале строки http или https, таким образом приложение решает какое соединение использовть: защищенное или нет. Порт также важен. Обычно значение порта 8082 для драйвера *web* или *8084* для отдельного драйвера socketio.
- *WIFI Пользователь* - если включена аутенфикация пользователя, необходимо ввести имя пользователя с сервера yunkong2. Имя пользователя должно быть предварительно создано через интерфейс администратора. Пользователь "admin" существует всегда и не может быть удалён.
- *WIFI Пароль* - пароль пользователя заданный в yunkong2
- *WIFI Повтор пароля* - повтор пароля
Следующие настройки активны только если задано имя домашней беспроводной сети и устройство находится вне домашней сети.
- *Мобильный Socket URL* - тоже самое, что *WIFI Socket URL*, только для внешней сети.
- *Мобильный Пользователь* - тоже самое, что *WIFI Пользователь*, только для внешней сети.
- *Мобильный Пароль* - тоже самое, что *WIFI Пароль*, только для внешней сети.
- *Мобильный Повтор пароля* - тоже самое, что *WIFI Повтор пароля*, только для внешней сети.
*Заметка*: Файл глобальных стилей CSS не обрабатывается. По этому, если есть настройки в CSS для конкретного проекта, необходимо скопировать эти стили в проектный CSS файл.
### Имя проекта и язык
- *Язык* - язык настроек. Поддерживаются английский, немецкий и русский языки. Для перенятия настроек нужно нажать *OK*.
- *Проект* - имя проекта с yunkong2 сервера. Если имена не показываются, это охначает, что соединение с сервером отсутствует или нет ни одного проекта.
### Отображение и поведение
- *Ориенитация* - Ориентация страницы: **авто**, **горизонтальная** or **портретная**. Если выбрано **авто*, то ориентация выбирается в зависимости от положения устройства.
- *Не засыпать* - устройство не переходит в спящий режим и дисплей не гаснет если активирована эта функция. (Работает не на всех телефонах.)
- *Разрешить сдвиг окна* - позволяет изменять масштаб и передвигать страницу.
- *Полноэкранный режим* - включает полноэкранный режим на устройствах без настоящих кнопок "домой", "назад", "настройки".
- *Зум при верт. положении* - масштаб в процентах для портретной ориентации. Не устанавливайте масштаб слишком маленьким, иначе будет невозможно нажать на кнопку настроек. Значение по умолчанию 100% и нельзя выставить значение меньше 20%.
- *Зум при гор. положении* - тоже самое, что *Зум при верт. положении* только для горизонтального положения.
### Другие настройки
- *Замена URL* - если ваш vis проект содержит ссылки на изображения с локального сетевого URL, но отличного от yunkong2 URL, то вы можете прописать здесь этот URL и все изображения с этого сервера, которые используются в vis проекте, будут тоже загружены на мобильный телефон.
- *Идентификатор* - Уникальный ID этого VIS проекта на конкретном мобильном устройстве, если необходимо посылать команды только на этот vis проект. (Описание команд можно найти здесь [Команды интерфейса](#контрольный интерфейс))
- *Спать, если не активно* - Если vis приложение не показано (но бежит в фоне), то можно прекратить любую коммуникацию vis приложения с yunkong2 сервером. В этом случае изменения состояний и команды от yunkong2 не будут доставлены приложению, если приложение бежит в фоновом режиме.
- *Не кешировать файлы* - Не сохранять никакие конфигурационные файлы на телефоне и всё скачивать с сервера каждый раз.
### Распознавание речи
Вы можете активировать распознавание речи из приложения. Если эта функция активирована, то приложение будет постоянно пытается распознавать команды. Чтобы определить, говорите ли вы с приложением или с кем-нибудь еще, необходимо указать ключевое слово или фразу.
Выберите такое слово, которое может быть хорошо распознано и не используется в повседневном быте.
Для распознавания команд из текста используется драйвер text2command. Описание этого адаптера можно найти здесь [github](https://github.com/yunkong2/yunkong2.text2command) или на #01[http://yunkong2.net].
Конечно один экземпляр драйвера text2command должен быть установлен и сконфигурирован.
*Заметка*: при распознавании обычно вся записанная речь отсылается на сервера google если не включена оффлайн распознавание. В настройках андроид можно включить оффлайн распознавание так: Настройки->Язык и клавиатура->Голосовой ввод Google->Распознавание речи офлайн, там выбрать языки и загрузить.
*Заметка*: в режиме распознавания система android воспроизводит громкий звуковой сигнал каждые 10-15 секунд. Что бы сигнала не было слышно, громкость звука выставляется на 0. При ответе голосом от или при использовании команд "tts"/"playSound" громкость будет выставлятся на предустановленную в натройках и убиратся по окончании проигрывания.
- *Распознавание речи активно* - активировать распознавание речи средством операционной системы телефона.
- *Ключевое слово* - Если в распознанном предложении будет найдено это слово (или фраза), то текст будет отправлен "text2command" для анализа. Не обязательно иметь ключевое слово в начале предложения. Вы можете пренебречь ключевым словом, но в этом случае все фразы будут отправлятся text2command для анализа.
- *Экземпляр Text2command* - номер экземпляра драйвера text2command. Обычно 0.
- *Громкость речи* - громкость для ответов голосом. Всё остальное время громкость будет установлена на 0.
- *Комната по умолчанию* - если телефон или планшет постоянно находится в одной комнате, то нет необходимости говорить "Включи свет в кабинете", если планшет находится в кабинете. Можно просто сказать "Включи свет". Что бы это было возможно, нужно задать комнату по умолчанию. Имя комнаты по умолчанию будет использоватся каждый раз, если в сообщении не найдено имя комнаты.
- *Отвечать голосом* - активирует ответы от text2command голосом. Для этого должна быть настроена TTS система на телефоне.
### Доступ к изображениям и другим ресурсам
Приложение копирует view файл выбранного проекта и все связанные
с ним изображения при синхронизации в телефон (внутренняя память).
Функция автоматического обновления отсутствует, поэтому вам самим
придется перезапустить синхронизацию вручную.
В телефон будут скопированы:
- view файлы и все остальные файлы в папке выбранного проекта с расширениями: .png .jpg .jpeg .gif
- все файлы изображений с расширением .png .jpg .jpeg .gif и файлы с расширением .wav .mp3 .bmp .svg, которые находятся в папке драйвера [yunkong2 data directory]/files/ и на которые ссылаются в описании view файла выбранного vis проекта. Первая часть ссылки [yunkong2 data directory]/files/ в своем названии должна содержать знак "." в противном случае, внутренние файлы не будут скопированы.
Чтобы приложение правильно заменило ссылки, файлы должны быть
определены в виде абсолютной ссылки (например, /vis.0/main/img/test.png).
Относительные ссылки не поддерживаются. Если ссылки на ресурсы,
внедрены в виде HTML внутри виджетов, то тогда синтаксис должен в
точности соответствовать следующему шаблону ```... src='/vis.0/main...'```
или ```... src ="/vis.0/main..."```. Другие обозначения не распознаются. Кроме
того, вы можете настроить URL подстановки в диалоге настроек. Этот URL
указывает на внешний URL-адрес веб-сервера VIS или другой локальный
веб-сервер. Все найденные ссылки на URL присутствуют в view файле,
который вместе с настроенным Test стартует при загрузке на устройство,
меняя URL на локальный путь при синхронизации. Обратите внимание, что
эта замена не реализована для встроенных ссылок в HTML-коде (например
```https://[your domain]/visweb```).
Замена ссылок во время выполнения, в настоящее время
ограничивается следующими виджетами:
- basic string (unescaped)
- basic string src
- basic json table
Поскольку значения передаются во время выполнения, файлы
передаются устройству только если они находятся в папке проекта или
ссылаются на другой статически настроенный виджет. Механизм загрузки
отсутствующих картинок отсутствует. Коллекции иконок, предлагаемые в
качестве отдельного драйвера yunkong2 не являются частью приложения, но
также будут скопированы во время синхронизации, если изображения
определены в views.
Вы можете получить доступ к другим ресурсам в пределах
приложения, если будете использовать полные пути, начинающиеся с http:// или https://.
Эти файлы не загружаются локально при синхронизации, но
загружаются непосредственно с соответствующего сервера через http: // или
https://, если view отображено в приложении. Если вы используете обратный
прокси-сервер с проверкой подлинности по http, то тогда учетные данные
могут быть внедрены в URL в следующей форме:
```https://[username]:[password]@[my domain]/vis.0/main/...```
Применение веб-модулей других драйверов типа VIS
Другие драйвера типа VIS также могут поставлять веб-данные. Эти
данные могут быть отображены внутри VIS view в iframe. Это особенно
актуально для драйверов Flot и Rickshaw схем.
На текущий момент внедрены в приложение только клиентские части
следующих драйверов:
- Flot
- Rickshaw
При использовании локальной версии Flot, источник iframe должен
начинаться с ```/flot/index.html?```.
Другие данные, в том числе и данные с различных серверов,
например, с веб-камер также могут быть отображены в приложении, при
условии, что используется полный URL для сервера.
### Выход из приложения
Приложение можно закрыть с помощью кнопки «Home». Но тогда в
этом случае приложение будет работать в фоновом режиме и продолжит
потреблять ресурсы памяти и аккумулятора. Опция «Sleep» в фоновом
режиме поможет уменьшить потребление. В этом случае socket.io
соединение прерывается, когда приложение неактивно.
Чтобы полностью завершить приложение необходимо трижды нажать
на кнопку «Back» в течении одной секунды. Кроме того, приложение
позволяет экстренно завершится. Для этого вам нужно вставить простую
статическую ссылку виджет в вашем view, содержащем следующую ссылку:
javascript:logout (). Здесь вы найдете такой виджет для импорта в VIS:
```
[{"tpl":"tplIconLink","data":{"visibility-cond":"==","visibility-val":1,"href":"javascript:logout ();","target":"_self","text":"","views":null,"gestures-offsetX":0,"gestures-offsetY":0,"signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"src":"/icons-material-png/action/ic_exit_to_app_black_48dp.png","name":"","class":""},"style":{"left":"1232px","top":"755px","z-index":"106","background":"none","border-style":"none","color":"#000000","font-family":"Arial, Helvetica, sans-serif","font-size":"large","letter-spacing":"","font-weight":"bold","width":"34px","height":"32px"},"widgetSet":"jqui"}]
```
### Использование приложения с облаком yunkong2.pro
Вы можете подключиться к своему дому через облако yunkong2.pro. Для этого:
1. Настройте соединение WiFi.
![WiFi соединение](img/yunkong2.pro1.png)
Введите свое имя SSID для дома.
Вы можете просто нажать кнопку «<=», и текущий SSID будет автоматически вставлен в соответствующее поле.
В зависимости от имени SSID приложение определит, должен ли он использовать локальный адрес (URL-адрес сокета на последнем снимке) или yunkong2.pro как способ подключения.
2. Вы должны ввести свои учетные данные yunkong2.pro в разделе «Мобильное соединение»:
![Мобильное соединение](img/yunkong2.pro2.png)
Установите флажок «Использовать yunkong2.pro» и введите ниже свой логин (email) и пароль для облака yunkong2.pro.
После этого, когда вы подключаетесь через yunkong2.pro, вы увидите маленькую иконку в верхнем правом углу в течение первых 10 секунд, если соединение осуществляется через облако yunkong2.pro.
![yunkong2.pro icon](img/yunkong2.pro3.png)