Recent Changes - Search:

Главная страница

Загрузки

Домашний WiFi роутер

Проекты

Статьи

Брошенные проекты

GitHub

SourceForge

edit SideBar

SWWSEUY3

Выключатель механический

Сделан на базе выключателя MOES SW-WS-EUY3. Может быть в исполнении с одной, двумя или тремя клавишами.

Switch WS-Y

Конструктивно представляет собой две платы:

  • плата блока питания с блоком реле;
  • плата контроллера (Tuya WiFi) с индикаторными светодиодами и клавишами.

Печатные платы универсальные для всех трех исполнений и отличаются только наличием (или отсуствием) определенных компонентов, да прошивкой микроконтроллера.

В качестве переделки была переработана плата контроллера, где, вместо модуля Tuya WiFi, был поставлен модуль Bluetooth 5 c NFR5281.

Switch WS-Y Control Board front Switch WS-Y Control Board back Switch WS-Y Power Board front Switch WS-Y Power Board back

Ссылки

Список реализованных моделей

Received composition:
        Feature support:
                relay: yes
                proxy: yes
                friend: yes
                lpn: no
         Element 0:
                location: 0000
                SIG defined models:
                  Model ID      0000 "Configuration Server"
                  Model ID      0002 "Health Server"
                  Model ID      1004 "Generic Default Transition Time Server"
                  Model ID      1000 "Generic OnOff Server"
                  Model ID      1006 "Generic Power OnOff Server"
                  Model ID      1007 "Generic Power OnOff Setup Server"
                  Model ID      1203 "Scene Server"
                  Model ID      1204 "Scene Setup Server"
                  Model ID      1001 "Generic OnOff Client"
         Element 1:
                location: 0000
                SIG defined models:
                  Model ID      1004 "Generic Default Transition Time Server"
                  Model ID      1000 "Generic OnOff Server"
                  Model ID      1006 "Generic Power OnOff Server"
                  Model ID      1007 "Generic Power OnOff Setup Server"
                  Model ID      1203 "Scene Server"
                  Model ID      1204 "Scene Setup Server"
                  Model ID      1001 "Generic OnOff Client"

Особенность реализации ревизии 1

В рамках одного канала управления (а их может быть до трех - я напомю), реализованы модели Generic On Off сервер и клиент. К клиенту привязана клавиша, а к серверу: реле и светодиод состояния.

В случае нажатия на клавишу, клиент:

  1. запрашивает состояние у сервера, на который настроена публикация;
  2. меняет это состояние на противоположное;
  3. отправляет команду серверу изменить свое состояние на навое.

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

У данной схемы есть ряд преимуществ:

  • Светодиод указывает состояние нагрузки именно того выключателя, на котором он располагается. То есть, глядя на него мы вседа смодет понять: включена нагрузка или нет.
  • Запрос статуса происходит только когда будет нажата клавиша: в остальных случаях узнавать текущий статус сервера нет необходимости.

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

Прект реализации ревизии 2

Предлагается привязать светодиод статуса нагрузки к клиенту, а не серверу. В случае нажатия клавиши клиент:

  1. запрашивает состояние у сервера, на который настроена публикация;
  2. меняет это состояние на противоположное;
  3. отображает новое состояние на светодиодном индикаторе;
  4. отправляет команду серверу (напомним: на который настроена публикация) изменить свое состояние на навое.

Периодически:

  1. запрашивает состояние у сервера, на который настроена публикация;
  2. отображает это состояние на светодиодном индикаторе.

Ну и последнее, в случае подписки клиента на получение Generic OnOff Status сообщений:

  1. дополительный клиент получает сообщение Generic OnOff Status с текущим статусом от другого коиента;
  2. отображает это состояние на светодиодном индикаторе.

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

Возможен и альтернативный вариант в этой реализации:

  1. все клиенты (которые должны управлять данным сервером) добавляются в одну группу (подписываются на адрес группы);
  2. все клиенты настраивают публикацию на уникальный адрес сервера;
  3. а вот сервер настраивает публикацию на адрес группы.

В этом случае при нажалии клавиши:

  1. клиент запрашивает состояние у сервера, на который настроена публикация;
  2. меняет это состояние на противоположное;
  3. отображает новое состояние на светодиодном индикаторе;
  4. отправляет команду серверу (напомним: на который настроена публикация) изменить свое состояние на навое;
  5. сервер принимает это состояние, и устанавливает его для нагрузки;
  6. сервер публикет это состояние на адрес группы;
  7. все клиенты группы принимают это состояние и отображают его на своих светодиодных индикаторах.

Поскольку, публикация на сервере может быть периодической, то пункт, в котором клиенты периодически должны запрашивать состояние сервера можно исключить.

То есть: реальные изменения в прошивке будут выглядет так:

  • светодиод теперь отображает состояние клиента;
  • клиент способен получать сообщение Generic OnOff Status и менять свое состояние.
Edit - History - Print - Recent Changes - Search
Page last modified on February 17, 2024, at 08:44 PM