Есть три замечательных сопособа для конфигрурования 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.
Не самое продуктивный путь, но получить желаниемое реально.