Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ср апр 14, 2021 19:44:40
Всем привет!
Идея такая - уже имеется ethernet-UART bridge, на выходе которого TTL-уровни RX/TX.
Хочу на МК (может на Arduino, или на esp866, если он умеет не по wi-fi отдавать пакеты, а через UART) реализовать SNMP агент, который бы отдавал состояние цифровых или аналоговых входов.
Т.к. данных там немного, скорости UART должно хватить. Или не получится?
Ср апр 14, 2021 20:06:21
Ethernet - это сетевой стандарт нижнего уровня, который может работать поверх любого подходящего интерфейса. UART - это просто интерфейс. SNMP в качестве канала передачи использует Ethernet. Так вот отсюда вопрос: что будет "превращать" пакеты из UART в SNMP, как того требует стандарт на данный протокол?
Чт апр 15, 2021 03:01:33
В общем случае, пакет SNMP это набор байтов, который идёт от одного устройства к другому, оформленный всякими заголовками и т.д.. Я думал, что МК можно заставить сформировать эти байты нужным образом, чтобы передать через адаптер UART в Ethernet,
Телнет ведь успешно передаёт туда-обратно байты меж МК и компьютером в данной схеме. Послал строку с компа - получил её в МК.
Чт апр 15, 2021 10:06:46
оформленный всякими заголовками и т.д..
Так вот у меня и родился вопрос - для UART преобразователя все входящие пакеты не являются Ethernet пакетами, поэтому он их оформит всеми необходимыми заголовками. И что-то мне подсказывает, что невозможно его заставить отличить обычный UART пакет от SNMP пакета. Выход один - вещать сразу в Ethernet.
Чт апр 15, 2021 10:47:24
Я думал почему-то, что любой байт, который посылается в этот преобразователь со стороны Ethernet, таким же и передаётся в МК.
Т.е. передали 0x11 - этот символ и выйдет из UART, т.е. поступит в МК.
Разве не так?
Чт апр 15, 2021 16:38:26
Я думал почему-то, что любой байт, который посылается в этот преобразователь со стороны Ethernet, таким же и передаётся в МК.
Т.е. передали 0x11 - этот символ и выйдет из UART, т.е. поступит в МК.
Разве не так?
Нет. Не так.
Вопервых, обмен по сети идет кадрами. Не по одному байту.
То есть ваш байт попадает в преобразователь. Затем он оборачевается в ip-заголовки. Потом это все оборачивается в ethernet заголовки. И только тогда передается в сеть.
На приемном конце процедура обратная.
Обычно, ещё там буфера имеются. Чтобы не по одному байту в пакете отправлять. Накопили скажем 16 байт, обернули заголовками - и отправили по сети.
Каждый ethernet кадр что-то вроде этого.
http://admindoc.ru/wp-content/uploads/2 ... -802.3.png
Чт апр 15, 2021 19:41:20
Всё верно. Пусть пакет SNMP со всеми заголовками будет, он придёт в Ethernet и преобразуется в последовательность байтов. Которую примет МК. Это же маленький пакет.
Но ведь микросхема Ethernet, когда общается с МК, тоже ведь передаёт и принимает данные через входы и выходы МК. А у МК иного пути, чем через UART, нет. Хотя, возможно, на более продвинутых МК, чем Atmega328P, под общение с ethernet микросхемой выделены какие-то специальные входы/выходы.
Эх, посмотрел на шилд W5100 - он подключается по шине SPI...
Пт апр 16, 2021 01:21:58
Что тут вообще обсуждают ? не пойму))
AonMaster писал(а):Хочу на МК (может на Arduino, или на esp866, если он умеет не по wi-fi отдавать пакеты, а через UART) реализовать SNMP агент, который бы отдавал состояние цифровых или аналоговых входов.
В чём проблема ?
W5500 лучше))
Пт апр 16, 2021 14:21:41
Эх, посмотрел на шилд W5100 - он подключается по шине SPI...
Возьми ESP32 и LAN8720. Будет хороший контроллер с кучей ресурсов и нормальным Ethernet.
Документации и примеров работы масса. Цена вопроса не велика (али). Зато 100Мбит и какие угодно "агенты" напишешь.
https://aliexpress.ru/item/32920096903. ... 6048109379https://aliexpress.ru/item/100500206088 ... web201603_В 500 руб уложишься.
Пт апр 16, 2021 15:28:40
Спасибо. Просто конвертер Lan -> UART уже имеется внешний, вот и думал - раз скорость обмена при запросах невелика - может, удастся как-нибудь через uart пропихнуть.
Может так и возможно, видимо, никто ранее не задавался этим вопросом.
Кстати, где-то встречал и реализацию SPI через UART
Пт апр 16, 2021 16:17:21
Спасибо. Просто конвертер Lan -> UART уже имеется внешний, вот и думал - раз скорость обмена при запросах невелика - может, удастся как-нибудь через uart пропихнуть.
Может так и возможно, видимо, никто ранее не задавался этим вопросом.
Кстати, где-то встречал и реализацию SPI через UART
Spi и uart это байториентированные усройства.
Ethernet это пакетный протокол.
Формат пакета нельзя изменить.
Пт апр 16, 2021 17:52:15
Кстати, где-то встречал и реализацию SPI через UART
На AVR делается аппаратно
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.