Тема: Настройка взаимосвязей 4 контроллеров SiP-BSC3
Мы делаем HTTP_GET запросы с контролера S1 контроллеру М1 с целью включить/выключить выход relay3.
Запрос на включение такой: insadm:passwd@192.168.0.127/outputs.html?relay3_inverse=1.
Запрос на выключение такой: insadm:passwd@192.168.0.127/outputs.html?relay3_inverse=0.
В результате выход не изменяет своё состояние. Меняется лишь его настройка с нормально замкнутого на нормально разомкнутый тип и наоборот.
А нам нужно физически замыкать и размыкать реле подключенное к выходу relay3
Может надо вместо “relay3_inverse” применить другой ключ. Или вообще удалённое управление выходом осуществляется как-то иначе?
Извиняемся, разобрались с управлением реле, от одного контроллера на другой. В локальной сети работает. Делаем следующий запрос:
admin:password@192.168.0.127/control.html?relay3=1 замыкаем реле
admin:password@192.168.0.127/control.html?relay3=0 размыкаем реле
При быстром физическом замыкании реле на контроллере примерно на 7 раз происходит или полное зависание контроллера или отключение линка 2-3 секунды. Видео прилагаем.
Если подключаем контроллеры друг к другу через 4G IPSec VPN, то физическое замыкание реле на одном контроллере не приводит к замыканию реле на другом, т. е. перестает работать.
Проверяли прохождение команды управления из командной строки с компьютера подключенного к тому же роутеру что и BSC. Делали такой же запрос с помощью утилиты CURL. Все работает нормально, реле включается и выключается. Т.е. команда не проходит конкретно от BSC. Дамп обмена контроллеров по 80 порту из WireShark в приложении.
https://disk.yandex.ru/d/PIUUPXq5WlOHhQ
Алгоритм работы HTTP запросов у нас не рассчитан на одновременную отправку нескольких запросов. Чтобы это было возможно, нужно переделывать, чтобы они накапливались в очередь и выполнялись последовательно с паузой. Сейчас можно на выходе, срабатывающем на размыкание, установить время удержания в несколько секунд, чтобы запросы выполнялись последовательно и друг друга не перебивали. Переделать алгоритм сможем в январе после праздников, это большой объем работы.
Через VPN единичный запрос проходит?
Да, проверяли на единичном запросе. Но предполагается, что могут ходить несколько запросов, во время трансляции, например, от С1,2,3 на М1 должын прийти запрос- замыкание реле, о том, что оповещение прошло успешно.
Как временное решение - задержка на размыкание.
Не много не понял, у нас в VPN туннеле, вообще не проходят команды на размыкание и замыкание, если их посылает контроллер, если из слать просто из приложения, то проходят. Там в дампе видно, что , что-то происходит с пакетом, там он битый почему -то приходит.
Видео с зависанием, но прохождением запроса, это проверяли в локальной сети, без VPN, там запросы проходят без проблем, проблема была, та, что обозначенна на видео, как поняли, решается пока, только паузами. У нас просто объекты разнесены и работать будут через 4g Vpn, мы просто настраиваем сначала в локальной сети все.
Отличие приложения в том, что оно посылает сразу с авторизацией, а контроллер посылает без авторизации, чтобы выяснить тип авторизации автоматически, а другой контроллер ему отвечает authorization required basic и т.д. Если вы в приложении сделаете авторизацию авто или что-то типа того, то оно скорее всего тоже не заработает. WEB интерфейс контроллера, которым вы управляете, на том же компьютере открывается?
И еще есть мысль, в настройках VPN сделайте MTU 1500. То что ругается fragmentation needed, может быть с этим связано.
Да, заметили, что если компьютер подключить к роутеру к которому подключен контроллер, то WEB интерфейс нормально открывается, если через VPN, то нет. На компьютере, с которого делаем запросы, WEB интерфейс контроллера открывается.
И еще есть мысль, в настройках VPN сделайте MTU 1500. То что ругается fragmentation needed, может быть с этим связано.
Спасибо, попробуем
2 вопроса связанные с возможностями удалённого обновления в сети 4G IPSec VPN (в которой сейчас есть проблемы с авторизацией):
- Есть возможность обновлять прошивку удалённо без WEB интерфейса?
- Можно ли выпустить сейчас (временно. для нас) версию прошивки, которая работает без HTTP авторизации.
Это нам надо для того чтобы в январе после праздников удалённо обновиться на исправленные прошивки
Прошивка обновляется удаленно только через web интерфейс. Для того, чтобы обновлять прошивку удаленно, нужно убедиться в стабильности связи, например загрузка больших баз проходит без ошибок.
Насчет каких-либо доработок в этом году, скорее нет, чем да. Если будет возможность, сделаем и сообщим. Стоит рассчитывать середину января.
Приветствую! Сегодня Вы разговаривали с Сергеем и в разговоре упомянули, что батарейка влияет только на расписание, мы сегодня посмотрели даташит на этот микроконтроллер и увидели, что если подано питание от батарейки на пин VBAT, то батарейка питает 4KB BKP SRAM по адресу 0x40024000, может вытаскивание батарейки как раз сбрасывает какие-то записи по адресам 0x40024000 - 0x40024FFF и как раз это влияет, на то, что он (контроллер) снова начинает работать ?
В этой памяти только одна переменная для NTP запроса, она не участвует в циклах, потому не может вызвать зацикливание. Если вы считаете, что есть четкая зависимость от батарейки, то ее можно вытащить из контроллера насовсем, в вашей конфигурации она не нужна.