Форум » » Управление с нескольких тачпанелей » Ответить

Управление с нескольких тачпанелей

skpro2021: Подскажите, пожалуйста, как правильно реализуется (строится) схема работы умного дома под управлением нескольких тачпанелей. В доме установлены 2 тачпанели. Написана рабочая программа, которая благополучно управляет всеми домашними системами (в процессе создания все тестировалось на айпаде). После переноса интерфейса на тачпанели, все действия на одном из устройств зеркалятся на остальных (IP-ID устройств разные). Как избавиться от зеркалки? Как это решают знающие люди?

Ответов - 4

Admin: Существует надежный инструмент - CrossPoint применительно к такой задаче. Также можно применить логическую привязку iPad например, к помещению.

skpro2021: Спасибо большое за ответ. Однако, либо я не понял, как именно использование CrossPoint решает мою проблему, либо я неверно изложил суть вопроса. Попробую конкретизировать: - Интерфейс содержит одну кнопку с Press join = 1 и Visibility join = 2, которая, например, управляет одним единственным реле Задача сделать так, чтобы на одной тачпанели эта кнопка была видна, а на другой нет Или чуть иначе: один пользователь на своей тачпанели находится в разделе "Освещение в спальне", в то время, как другой на своей панели хочет зайти в раздел "Освещение на кухне". Сейчас в моей ситуации получается так, что как только второй пользователь зайдет в раздел "Кухня" на устройстве первого пользователя автоматом высветится "кухня", а не "спальня". Получается, что при выборе зоны, не важно с какого из устройств управления, единая программа всем тачпанелям транслирует, что активна именно та зона, которую выбрал последний пользователь. Как это предотвратить? С помощью CRossPoint?

Admin: Попробуйте разделить логику управления интерфейсами, чтобы у каждого iPad был свой независимый обработчик действий пользователя.


Вячеслав: Минимально затрат по времени потребует вариант использования для кнопок выбора помещения использование свойства кнопки PageFlip (для перехода на нужную страницу управления). Т.о. нажатие кнопки не будет передаваться в саму программу, а обрабатываться локально самим интерфейсом. Будет меняться страница только на той панели на которой выполнили переход. Т.е. если на первой панели пользователь находился на странице КУНЯ, то выбор помещения СПАЛЬНЯ на другой панели ничего не изменит на панели первого пользователя. Недостаток данного метода только в том, что придется отказаться и от фидбека для подсветки выбора кнопки помещения. Иначе будет выглядеть не шибко красиво, что подсвечена кнопка СПАЛЬНЯ, а вы при этом остались на странице помещения КУХНЯ. Можно установить SHOW LOCAL FEEDBACK на кнопки типа ADVANCED BUTTON для сохранения визуализации момента нажатия. Да, глобально решает проблему элементы Crosspoint Routing-га, но вносят кучу путаницы, появляются проблемы с аналоговыми значениями для FB и полностью лишают наглядности маршрутизацию логики кнопок. Одним словом можно заморочиться, но в будущем нахождение в программе таких инструментов вызовет гримасу отвращения у программера, который этим проектом полгода не занимался. Да и третий вариант, использование не пересекающихся join для для управления отображением страниц и подстраниц на разных панелях, но это тоже нагромождение логики в которой потом не приятно разбираться.



полная версия страницы