Jump to content
Форум по продукции MOXA

Конфигурирование NPort 5110 из программы


Recommended Posts

Есть три замечательных сопособа для конфигрурования NPort 5110: NPort Admin Suite, Web Console, Telnet. Еще можно в каком-то настраивать NPort через вызовы IPSerial, но как-то IPSerial API ориентировано на непосредственную работу с NPort'ом из программы, а нам хочется только настройки прошить.

 

Все замечательные способы ориентированы на человека, и не подразумевают полностью автоматическую загрузку конфигурации, самое близкое к желаемому в NPort Admin - Confiration - Import Configuration, когда можно выделить несколько найденых NPort'ов, и в них загрузить одинаковые настройки. Но даже в этом случае, человек должен тыкать мышкой по птичкам и кнопкам.

 

Хотелось бы спецификацию на то, как NPort Admin общается с устройством, это реально?

 

Первое, что попробовал написать скрипт который через web console с помощью curl записывает нужные значения в нужные места, но что-то там не получилось, с двух этапной "прошивкой" в виде Submit на одной странице, а потом "Save/Reboot" на другой. Может быть тут есть какая-то тонкость, и можно обойтись этим способом?

 

Думаю, есть смысл пояснить, зачем нам это нужно.

 

Мы подключаем по несколько десятков разных устройств в рамках одного проекта. Сервер данных у нас примнимает TCP-соединения, устройства в основном Serial (некотоыре умеют tcp - там они напрямую). При подготовке проекта, создается конфигурация сети - какие устройства (NPort'ы) с какими IP-адресами будут, имена, настройки Serial портов (не всегда это 9600-8-N-1, иногда бывает старая экзотика с прошитыми 2400-7-E-2), и всё-всё-всё остальное.

 

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

Человек - в данном случае, источник ошибок, несмотря на то, что все они квалифицированные инженеры. Хочется избавиться от этой рутины полностью, избавиться от ошибок и свести ситуацию к следующей:

- инженер подключает десяток NPort'ов (хоть по одной, хоть все сразу)

- открывает web-консоль нашего конфигуратора, выбирает проект

- видит список MAC-адресов найденых в сети NPort'ов, ставит птички на тех, которые нужно сконфигурировать

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

- к описанию проекта добавятся MAC-адреса соответсвующих NPort'ов - кому что прошилось.

- наклеивает этикетки, устанавливает NPort'ы

 

утопия? мечты?

 

Если компания по каким-либо причинам не может публиковать спецификации протокола общения NPort Admin (это предпочтительнее, чем через web console и темболее telnet) - мы готовы подписать NDA.

 

Если никаких вариантов получить спецификацию нет, прийдется потратить время с tcpdump.

Не самое продуктивный путь, но получить желаниемое реально.

Link to comment

Добрый день!

Ваша задача ясна. Если можно, мы возьмём ещё пару дней на обсуждение возможного решения. Я дам Вам знать по результатам.

 

уточните, пожалуйста, Вы планируете заливать config-файлы из ОС Windows?

Edited by Komantsev
Link to comment

Спасибо большое!

Можно конечно столько, сколько нужно. На копание с tcpdump по-любому времени нужно много ;(

 

Windows и Linux обязательно нужны, с вероятностями 40/60.

Но лучше всего, если это будет платформонезависимый сопособ. Web-интерфейс-же, работает из любого браузера? И команды по UDP NPort обрабатывает без разницы, откуда их прислали.

 

Будь я более продвинут в использовании web-техноллогий, возможно вопрос-бы не возник вообще. Но мне более низкий уровень ближе, tcpdump помогал не раз, да и людей кто-бы смог автоматизировать хождение по формам web-console рядом нет.

 

Но если будет в каком-то виде формальное описание, по каким url'ям в web-console какие GET/POST делать, в каком порядке, может быть где-то принимать cookie, и кому потом их предъявлять - этого боеле чем устроит.

Link to comment

Добрый день!

Спасибо за уточнения!

Просто, если я не ошибаюсь, была у Моксы библиотечка под Windows для залития прошивки из своей программы. Это бы решила проблему с той точки зрения, что не надо было бы открывать протокол передачи данных. Но как обстоят дела с Линуксом - не помню, если честно.

Вобщем, уточняю у отдела разработок.

Link to comment
  • 4 weeks later...

готовые бинарные библиотеки, это окунание разработчика в ад зависимостей от системных библиотек и версий компилятора.

 

Боюсь показаться нудным и назойливым, но повторюсь - web-интерфейс работает независимо ни от чего. Наверное по современным меркам, лучше всего был бы REST-api для доступа через web. Это знают и умеют все. Это не требует ничего, кроме умения польвоаться протоколом http, для которого удобные реализации есть уже в любом средстве разработки.

 

Но в крайнем случае, даже бы устроило более-менее формальное описание, в по какому URL в web-консоли что делать POST, где ккие куки нужно принять (если нужно), и так далее.

Link to comment
  • 3 years later...
  • 3 years later...

Здравствуйте!

Есть ли какие-то результаты по данному вопросу? Необходимо скриптом изменить адрес TCP сервера на больом количестве конвертеров.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...