Logo Logo ru
  • iRidi Pro
    Основные компоненты
    • Приложение i3 Pro
    • iRidi Pro Server
    • iRidi Studio
    • iRidium studio v. 1.3.8 (устаревшая версия)
    Java Script в iRidi
    • Руководство
    • Справочник
    • Примеры
    • JS драйвера
    другие
    • Личный Кабинет
    • iRidium Cloud
    • iRidium Transfer
    • Push-уведомления
    • Лучшая практика
    Лицензирование
    • Лицензирование и передача проекта
    • Оффлайн-лицензирование
    • Активация iRidi Pro Server
  • Продукты
    i3 lite
    • Приложение i3 lite
    • Регистрация и лицензирование
    • Сервер
    • Модули
    KNX Home Server
    • Приложение i3 KNX
    • KNX Home Server
    BUS77 HOME SERVER
    • Приложения Bus77 Home и Bus77 Lite
    • Bus77 Home Server
    Решения
    • BYOD - решение для гостиниц
    • Портал жителя - решение для МКД
    iRidi SCADA
    • iRidi SCADA
  • Bus77
    НАСТРОЙКА BUS77
    • Основы Bus77
    • Приложения Bus77 Home и Bus77 Lite
    • Работа с драйвером Bus77 в iRidi Studio
    • Настройка шины Bus77 в iRidi Studio
    ПРОТОКОЛ BUS77
    • Характеристики CAN (Bus77)
    • Описание протокола
    • Исходники на GitHub
    ОБОРУДОВАНИЕ BUS77
    • Каталог Bus77 Pro
    • Каталог Bus77 Lite
  • Поддерживаемое оборудование
    Драйверы
    • Список драйверов
    • ProAV драйвера
    • AV & Custom Systems
    • JS драйвера
    • Сторонние драйвера и фриланс
    Протоколы и интерфейсы
    • Голосовое управление
    • 1-Wire
    • BACnet IP
    • Bus77
    • KNX
    • KNX IP BAOS
    • Weinzierl kBerry
    • Microsoft Exchange
    • Modbus
    • MQTT
    • NFC
    • ODBC
    • Onvif
    • SIP
    • SNMP
    • Wake On Lan
    • Z-Wave
    • ZigBee
    Производители
    • AMX
    • AVCiT
    • Beckhoff ADS
    • Biamp Tesira
    • Bluesound
    • Casambi
    • BSS Harman
    • Clipsal
    • ControlArt 7Port
    • Crestron
    • DigiBird
    • Domintell
    • Duotecno
    • EIDE
    • EPSNET
    • Global Cache
    • HDL Buspro
    • Helvar
    • IEAST
    • INELS BUS
    • INELS Wireless
    • Intesis
    • Kleger
    • Kramer VIA
    • Kramer 3000
    • Larnitech
    • Legrand Netatmo
    • LG TV
    • Lutron
    • Lutron Homeworks QS
    • MyHome
    • Nest
    • Novastar
    • Panasоnic PTZ
    • Philips Dynalite
    • PJLink
    • Satel
    • SamsungTV
    • Sonos
    • Somfy
    • SpinetiX
    • Televic Conference
    • TIS
    • Tion
    • URRI
    • Velbus
    • Velocio
    • Vinteo
    • WyreStorm
    • WiiM
    • Xicato
    • Yamaha
    • ZONT
    • Z-Wave.me
    Протестированное оборудование
    • Панель HDL S57
    • Панель HDL S10
    • SIP-домофон
    • Akuvox
    • Arlight
    • Divus
    • QBic TD-1050 PRO
    • QBic TD-1060 Slim
    • QBic TD-1070
    • Sigur
    • Uni-Ubi
    • Velocio
  • Оборудование iRidi

    Серверы
    • HS Сервер
    • ProAV Control Processor Basic
    • ProAV Control Processor Advanced
    • Спецификация контроллеров UMC
    • Настройка контроллера UMC C2
    • Настройка контроллера UMC C3
    • Настройка контроллера HDL IntelliCenter 2 (UMC C4)
    Модули расширения
    • I-PX-RS1
    • I-PX-RS4
    • I-PX-IR3
    KNX
    • KNX Home Server
    • KNX IP Interface
    Панели управления
    • iRidium Panel 7
    • Touch Panel P3
    • Touch Panel P6
    • Touch Panel P8
    • Touch Panel P10
    • Tabletop Touch Panel 10
    • AV Remote Control
    ОБОРУДОВАНИЕ BUS77
    • Каталог Bus77 Pro
    • Каталог Bus77 Lite
    • Differences
Сайт iRidium mobile
Содержание
    Инструменты‌
    • Сведения о странице
    • Постоянная ссылка
    • Версия для печати
    • Спецстраницы
    • Связанные правки
    • Ссылки сюда
    Login / Create Account
    Материал из for iRidium developers
    Перейти к: навигация, поиск
    Эта страница является переводом страницы Shared data. Перевод выполнен на 100%.

    Other languages:
    English • ‎русский

    Содержание

    • 1 Организация совместных данных на сервере
      • 1.1 Описание примера
      • 1.2 Создание и настройка проекта сервера
      • 1.3 Создание и настройка проектов панелей
      • 1.4 Запуск проектов
      • 1.5 Синхронизация проектов

    Организация совместных данных на сервере


    Часто возникает задача - управлять общим оборудованием умного дома или здания с нескольких смартфонов или планшетов. При этом используется сервер, который обеспечивает управление оборудованием умного дома или здания в режиме 24/7, хранение информации в базе данных.

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

    Решение: В этом случае разрабатывается один проект для сервера и один или несколько проектов для панелей. Проект сервера интегрируется в каждый проект панели.


    Описание примера


    Скачать пример проекта

    На панели имеются два поля "Hours" и "Minutes" для ввода времени. При нажатии на ввод данные отправляются в iRidium server в виртуальные каналы, далее по событию запускается скрипт virtual_to_virtual(), который записывает полученные данные в виртуальные тэги. Время отображается на всех панелях, которые подписаны на данные в этих тэгах. Кроме того, виртуальные тэги сохраняются в базе данных сервера.

    Shared data(1).png

    Таким образом каждый клиент (панель) имеет возможность изменять время, все изменения сохраняются в базе данных и в реальном времени отображаются на экране каждого клиента.


    Создание и настройка проекта сервера

    1 Создайте проект для сервера.

    2 Перейдите на вкладку I/O и создать необходимое количество виртуальных каналов и виртуальных тэгов совместных данных (shared data). У каждого канала должен быть соответствующий тэг. Задайте одинаковые имена для соответствующих пар каналов и тэгов.

    Virtual.png

    3 Создайте скрипт для шлюзования.

    function virtual_to_virtual(in_Type, in_Name, in_Value) {  
       IR.SetVariable("Server.Tags." + in_Name, in_Value);
       return in_Value;
    }

    Подробнее:Шлюзование данных между виртуальным каналом и тэгом.

    4 В свойствах виртуальных каналов в параметре Script Modifier укажите функцию шлюзования virtual_to_virtual().

    Virtual channel params.png

    5 Настройте каждый виртуальный тэг в соответствии с требования задачи.

    Virtual tag params.png
    • Access: Public
    • Persist: Yes
    • Store in DB: None / Signed 32bit / Float 64bit / String UTF-8
    • DB Save Strategy: Deadband / Interval


    Подробнее: Переменные драйвера и сервера.

    Вы можете сохранять тэги в базу данных, но для организации совместных данных это не является обязательным.

    6 Сохраните проект сервера.


    Создание и настройка проектов панелей

    1 Создайте проект панели.

    2 Добавьте драйвер для связи с iRidium server и затем укажите файл проекта сервера (проект сервера должен открыт в iRidium studio в этот момент).

    Project integration.png

    3 Выделите драйвер сервера, станет доступна кнопка Sync With Server Project для получения списка всех виртуальных тэгов сервера. Нажмите эту кнопку.

    Sync with server project first.png

    Подробнее: Визуализация управления iRidium server

    4 Настройте параметр Save Value When Disconnected - желаемое поведение виртуальных тэгов в панели при отключении от сервера: True - запомнит последнее значение тэга, False - принудительно сделает значение тэга пустым.

    Feedback params.png

    5 Добавьте графические элементы:

    • элементы для ввода данных, например, типа Edit Box,
    • элементы для вывода данных, например, типа Label (Type: Button, Hit: PassThrough).


    Shared data GUI(1).png

    6 Путём перетаскивания виртуальных команд драйвера "iRidium Server" на графические элементы для изменения данных свяжите их друг с другом по событию Enter или Release (в зависимости от типа графического элемента).

    7 Путём перетаскивания виртуальных фидбеков драйвера "iRidium Server" на графические элементы для отображения данных свяжите их друг с другом с записью в свойства Text или Value (в зависимости от типа графического элемента).

    8 Задайте IP-адрес сервера.

    Iridium server address.png

    9 Сохраните проект.

    Вы можете создать несколько проектов панели, и можете использовать один и тот же проект для разных устройств, при этом конфликт не возникнет.


    Запуск проектов

    1 Запустите проекты на устройствах в любом порядке. Вы можете использовать для этого эмулятор i3 pro и iRidium server для Windows.

    2 Вы можете проверить, как ведет отображение данных в случае отключения и повторного подключения клиента к серверу.

    3 Вы можете также попробовать остановить сервер (закрыть приложение сервера), затем снова запустить его и убедиться, что совместные данные сохраняются (при условии, что Persist = Yes).


    Синхронизация проектов

    Рекомендуется сначала закончить разработку виртуальных каналов и тэгов в проекте сервера и затем начать использовать их в проекте панели. Однако в процессе разработки проекта панели можно вносить изменения в проекте сервера, благодаря следующим возможностям.

    • Обновление виртуальных каналов и тэгов в проекте панели (синхронизация проектов сервера и панели)

    Если в процессе разработки проектов панели и сервера изменился состав виртуальных каналов и тэгов в проекте сервера, то изменения не отразятся в проекте панели автоматически, не смотря на то, что проекты интегрированы. Для обновления списка каналов и тэгов необходимо в проекте панели выбрать драйвер сервера, станет доступна кнопка Sync With Server Project. Нажмите её и список виртуальных каналов и тэгов заново считается из проекта сервера.

    Sync with server project.png
    • Переименование каналов и тэгов в проекте сервера

    Вы можете свободно переименовывать каналы и проекты в проекте сервера. После синхронизации имена просто обновятся, при этом все настроенные ранее связи на стороне панели сохранятся.

    • Переименование файла проекта сервера

    После переименования файла проекта сервера откройте оба проекта в iRidium studio, затем просто обновите параметр Source Project драйвера сервера в проекте панели.

    Source project.png
    • Раздельная работа с файлами проектов

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

    Источник — «https://dev.iridi.com/index.php?title=Shared_data/ru&oldid=52958»
    О нас
    Компания
    Команда
    История
    Философия
    Награды
    Партнерство
    Наши партнеры
    Партнерские программы
    Подать заявку на партнерство
    Продукты
    iRidium pro
    iRidium lite
    iRidium gate
    iRidium server
    Загрузки
    iRidium pro
    iRidium lite
    Другие версии
    Маркетинговые материалы
    Поддержка
    Онлайн курсы/Видео
    Рекомендуемое оборудование
    Другие версии
    iRidium pro
    Документация
    FAQ
    Форум
    iRidium lite
    Документация
    Форум
    Проекты
    Типовые проекты
    Умные здания
    Умные дома
    Специальные решения
    Найти дилера
    Новости
    Youtube
    Twitter
    VK
    Logo
    contact@iridi.com
    +7 (499) 322-73-29

    Политика конфиденциальности