Создание AVR с HTTP-сервером и SNMP-агентом?
-
11-09-2019 - |
Вопрос
Мне нужно создать прототип простого устройства сбора данных с использованием микроконтроллера AVR.
Устройство в основном собирает данные датчиков и делает эти данные доступными через SNMP и HTTP-ответ.
Какие у меня есть варианты, когда дело доходит до программного обеспечения AVR, в котором уже есть встроенный HTTP-сервер и SNMP-агент?
Решение
Сетевой экран Arduino имеет аппаратное обеспечение и Программное обеспечение чтобы сделать такую вещь, и это работает на ATMEGA168.Если вам не нравится формат Arduino или программное обеспечение, вам должно быть легко перепроектировать код и аппаратное обеспечение для работы с вашими собственными проектами.
Похоже, что доступная библиотека программного обеспечения ориентирована на байты, как и последовательные соединения. Этот экран Wi-Fi похоже, с программным обеспечением все может быть сложнее.
Удачи вам!
Другие советы
Если вы используете AVR32, у Atmel есть дистрибутив buildroot вы можете использовать.Это будет включать в себя множество сетевых демонов.
Боюсь, с маленькими чипами я мало что делал.
avrlib Паскаля Станга предоставляет библиотеки для базовой работы в сети (ARP, IP, ICMP, DHCP и т. д.), которые можно использовать для обеспечения HTTP и SNMP, если вы не найдете ничего заранее закодированного.
uIP — это чрезвычайно маленькая реализация TCP/IP, которая может удовлетворить ваши потребности.Это не становится намного меньше этого.
Если у вас есть немного больше оперативной памяти (скажем, 100 КБ), вы можете попробовать lwIP Стек TCP/IP.
Оба проекта бесплатны и не связаны с AVR.
Какой у вас уровень низкоуровневого соединения?Ethernet или какой-то модем?Если вы идете через модем, возможно, вам нужен PPP.Мы решили использовать lwIP в конкретном проекте из-за его поддержки PPP.uIP не поддерживает PPP, который я проверял в последний раз.
я нашел эта немецкая веб-страница который показывает, как запустить веб-сервер на AtMega32 с подключенным сетевым адаптером.
Однажды я работал над аналогичным проектом, где мы переопределили стек TCP/IP до веб-сервера на AtMega128 с (отображенным в памяти) сетевым PHY RTL, называемым 8BitAmEth, но я не могу найти никаких следов в онлайн-банкомате.Я работаю над тем, чтобы вернуть его обратно.В противном случае я могу отправить вам то, что у меня есть, если вас это устроит.
Редактировать: Вот оно, грубые данные, печатная плата, схема и исходный код.
microchip предлагает стек tcp/ip для своих 8-битных микроконтроллеров, включая простой сервер snmp и http, исходный код доступен на их веб-сайте и представляет собой довольно общий язык C, вы сможете адаптировать его, если не найдете ничего другого.
если вы действительно используете это в производстве, обязательно проверьте лицензию, я полагаю, что она ограничивает ее использование PIC.
Существует полная среда для платы AVR с поддержкой TCP/IP и всем подобным, называемая ethersex (не обвиняйте меня в названии...Я не имею отношения к этому проекту).Есть вики http://www.ethersex.de/index.php/Main_Page.Хотя это адрес .de, похоже, что большая часть контента на английском языке.
Эта среда поставляется с отличным сценарием настройки сборки, похожим на сценарий ядра Linux, а загрузка непосредственно содержит всю цепочку инструментов.
Я использовал его для небольших вещей, и он работает очень хорошо.