Полная версия этой страницы:
SNMP lwip
Доброго дня!
Есть система медленного контроля: с одной стороны CAN, с другой - Ethernet.
Помимо мониторинга (для коего очень бы подошёл SNMP), есть задача конфигурирования и размер передаваемых железке атомарных конфигурационных данных довольно велик - 200КБайт (это проект для ПЛИС).
С CANbus всё определено, а вот что будет бегать по Ethernet - нет: писать ли свой протокол или использовать SNMP из lwip, или разделять на сетевом уровне систему конфигурирования от мониторинга?.
С SNMP я бы уже имел в кармане множество готового пользовательского софта для мониторинга.
Посоветуйте, друге!
SNMP из lwip я не использовал (может быть, зря), чем-то он мне на первый взгляд не понравился. Взял фрискейловский MQX и выпилил SNMP оттуда. Кстати, он там весьма толково сделан.
Если мне не изменяет память, для передачи большого куска данных SNMP плохо подходит. Посмотрите в сторону TFTP: реализуется очень легко и с задачей должен справиться удовлетворительно.
Спасибо за ответ.
Вопрос по большей части касался именно самой технологии SNMP. Наверное, придётся разделять сервисы.
SNMP в lwip рабочий, правда реализован только v1. Непонятно, что такое "атомарные конфигурационные данные", если это прошивка плис, то видимо удобнее использовать tftp, а если это словарь объектов can, то можно сочинить правило преобразования его в MIB SNMP и работать с CAN устройством через Ethernet. Опять же не нужно эти 200kB в mcu хранить, разбирать и отсылать устройству CAN.
SNMP из lwip не использовали, так как на наш взгляд как-то странно он сделан. Могу порекомендовать bsnmp - там довольно легко выпилить платформенно-независимый код SNMP. Мы его используем на разных процессорах, в т.ч. с lwip - работает отлично.
Для загрузки конфигурации - TFTP. Реализацию TFTP позаимствовали из исходных кодов OpenBSD или NetBSD, не помню - не хотелось изобретать велосипед.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.