Ethernet for the microchips W5500 and ENC28J60. MQTT
ฝัง
- เผยแพร่เมื่อ 29 ก.ย. 2024
- Group VK: electro...
Instagram: / electronics_in_focus
Links to products:
1) Ethernet module on WIZnet W5500: goo.gl/nQUvm0
2) Ethernet module on the Microchip ENC28J60: goo.gl/idCXhy
The project's source code for AVR + W5500 (IAR): bitbucket.org/...
Source code for STM32 + W5500 (IAR): bitbucket.org/...
The source for the project for AVR + ENC28J60 (IAR): bitbucket.org/...
Source code for STM32 + ENC28J60 (IAR): bitbucket.org/...
Licenses for music:
Copyright Owner (Created by): "Awards Media Group Limited Partnership" www.dewolfemusi...
Лучшее видео, в котором чётко и ясно представлена модель сетевых уровней, спасибо за проделанную работу !
Однозначно лайк и подписка, с нетерпением жду другие толковые видео по теме связи МК с внешним миром.
P.S. видео про Wi-Fi модули уже смотрел, хорошие. )
После того как увидел и услышал, что на физическом уровне передаются какие-то фреймы, дальше даже не смотрел. Физический уровень - это радио соединение, проводное или еще какое, но не более.
Ты сейчас говоришь о среде передачи данных )
Не путай это с сетевыми уровнями )
Обзор супер. Давно пытаюсь сделать корректную связку AVR + ENC28J60 + MQTT. А когда в приложении увидел еще и связку с STM32 радости не было предела:)) Огромное СПАСИБО за такие уроки!!!
Your video is very interesting. I've been experimenting with my stm32 Blue Pill for a month. I was able to connect via the Ethernet ENC28j60 but I can not control the outputs via the Blynk App application. to manage relays. I program it with Arduino Ide. By chance you could give me a hand in my relay management project because I just can not get the outputs going. Thank you very much for the attention .
Для более больших и стабильных проектов стоит брать w5500,
а для маленьких проектов enc28j60,но лучше поставить к нему хотя бы 30мм кулер
Тогда уж просто радиатор налепить, тише и надёжнее.
Согласен, не понятно почему ENC греется как скотина.
w5500 пока не пробовал.но enc28j60 достаточно медлителен. использовал библиотеку UIPEthernet.h, слишком долго устанавливает соединение с web-сервером - уходит не менее 500 мс. на исполнение строчки client.connect(server, 80). причем часто это время превышает 1 секунду или соединение совсем не устанавливается.
жаль что нельзя один раз установить соединение, и потом передавать/принимать данные произвольное количество раз
заказал w5500, надеюсь пошустрее будет.
В описании чипа w5500 однако написано, ядро RTOS с поддержкой TCP/IP
Жаль автор не использовал HAL на stm32. Кто нить собирал?
Подскажи, пожалуйста, есть ли готовые платы с микроконтроллером и ethernet-интерфейсом, питанием по тому же ethernet и небольшого размера? Хочу разместить такую плату в подрозетнике.
Я не встречал такие
Вот:
www.aliexpress.com/store/product/Leonardo-ETH-V2-with-ATmega32U4-W5500-Ethernet/1950989_32906566843.html
И вот еще:
www.aliexpress.com/item/Keyestudio-W5500-ETHERNET-DEVELOPMENT-BOARD-For-Arduino-Project-WITHOUT-POE/32849752167.html
И зачем я год сидел на парах по компьютерным сетям? Всё то разрозненное и неявное, посредством этого видео объединилось в хоть и рыхлую, но всё же более-менее цельную кучку))
где это можно использовать?
TCP/IP не модель, а семейство протоколов на 3-4 уровне.
Модель, стек, семейство - всё это верно.
ru.wikipedia.org/wiki/TCP/IP
По-моему, "стек" - самое меткое название.
а есть чисто wifi модуль,без програмирование ну как ethernet модуль?
Ну да, все модули на базе esp8266 с заводской прошивкой
В чем делаете такие схемы? Какая-то специальная программа или фотошоп
В программах для создания презентаций. MS PowerPoint, Google Презентации и т.д.
шикарно объяснил про сетевой стек уровней, как всегда качественный контент!)
Приветствую! Подскажите, Вы писали программы для пк. Для взаимодействие с аппаратной частью пк к примеру RS232, Ethernet, USB, чтобы взаимодействовать с микроконтроллером?
11:39 - Есть еще почему-то не упомянутое решение от Wiznet - W7100 - встроенное PHY+8051 ядро, W7500 и W7500P - Cortex-M0 без и с внешним PHY(P), когда-то был еще W7200 - скрещенный еж с ужем для получения колючей проволоки из STM32F103CB и W5200, соединенных между собой по SPI внутри одного корпуса.
На w5500 Получение данных из буфера инициализируются по SPI , или они автоматически уходят и могут быть не приняты при загрузке внешнего устройства ?
а на какой версии ИАР созданы проекты? При попытке открыть сыпет ошибками, конечно это не сильно существенная проблема, расковыряю по файлам и пересоберу в кубе.
а на видео какая STM32? по плате видно что STM32f103 48pin. в проекте указана STM32F103VB и размер файла для пошивки лошадиный в С8 версию не влазит
Так печально, что я ничего толком не понял...
Нашел отличия ENC28J60 от W5500 в интернете, но было приятно еще раз послушать различия и вспомнить уровни сетевой модели...
Спасибо автору. В топ.
А как реализовать Modbus TCP server с использованием W5500? Нужна специальная прошивка для W5500 или все реализуемо просто внешним МК через SPI?
W5500 будет просто управлять TCP-соединениями, всё Modbus-наполнение потока ляжет на внешний МК
Жирнющий лайк за качественное объяснение с графикой. Вот так бы все давали всеобъемлющую и простую к пониманию информацию 👍
Хороший обзор я даже не знал про маленькую версию ethernet порта, спасибо)
8p8c вообще-то. Интересует вопрос: можно ли соединить такой с esp8266 и сделать вай-фай роутер типа
тормозной - можно
респект что без ардуино
Я из-за ошибок так и не запустил модуль enc28j60, благо были другие модули(без стабилизатора)
Как всегда, очень подробно и хорошо объяснено. Но даже для меня, с утра тяжело :)
Топ контент! Детальнее и нагляднее бы по библиотекам
while (temp == PHY_LINK_OFF);
i can not get PHY status
подскажите пожалуйста эти модули могут работать самостоятельно, то есть залить в него прошивку чтоб он мог получать адрес от дхцп и все.. т.е. чтоб роутер на него реагировал, выдавал адрес и думал что к нему подключено полноценное сетевое устройство?
Нет, они так не могут. Только под управлением отдельного микроконтроллера
в чипе W5500 стоит ядро Cortex-M0.
А еще через него нельзя передавать большие пакеты (стандартной длины без проблем) из-за особенностей распределения памяти.
пожалуйста помогите как перенести/собрать этот проект в полноценной официальной бесплатной CubeIDE вместо триального огрызка IAR?
Спасибо за проделанную работу единственный вопрос. Получается транспортный и сетевые протоколы придётся реализовать самому программно (на примере enc28j60 чипа)? Или как понял микрочип предоставляет свою реализацию tcp/ip которой надо пользоваться?
Спасибо! Познавательное видео. Помог разобраться с распиновкой enc28j60.
Не за что
Спс за информацию. Стоит задача данные принятые STM32 по LORA передать в систему умного дома. Буду пробовать вариант с MQTT + W5500
when the impostor is sus
Спасибо за код. Все работает. Только вот не могу понять как хандлить сообщения? Как использовать функцию которая есть в коде- handle_message()?
th-cam.com/video/LwDDEIx63cA/w-d-xo.html Насколько я помню, у W5100 есть и параллельные интерфейсы. Не думаю, что имеет смысл проводить параллели между доступным разработчику уровнем протокола и интерфейсом.
Ох, это бы видео да пол годика назад, я бы не стал городить MAC прямо в FPGA и сделал бы через SPI мост.
Есть что нибудь копеечное с Али с rs485 на ethernet ?
Sir your channel is a wealth of info, thank you for adding english subtitles
Thank you. You are welcome
Автор ты крут. Хорошо подготовился. Лучший видосик
Отличное видео, но порог вхождения понимания высокий конечно. Есть много китайских решений на одной плате клон ардуино нано+Ethernet модуль. Что можете сказать если сравнить все эти решения? Ещё я не понял зачем вы в своей демке используете 2 роутера? Неужели MQQTT, нельзя было подключить к тому же роутеру? Так же непонятно зачем вы ваши Ethernet-модули подключаете в микроконроллерам STM32 и ATmega? Разве на самих Ethernet-модулях нет своего микроконтроллера, который как раз и может обрабатывать что кто приходит в порт? Возможно вопросы поставлены некоректно, я нуб в этом деле пока ещё, но всё же надеюсь на ответы, спасибо.
Второй (старый) роутер я использовал просто как обычный switch, чтобы не тянуть от обоих устройств кабели к основному роутеру. На ethernet-модулях из видео никаких микроконтроллеров нет, поэтому и пришлось подключать их к отдельным микроконтроллерам.
По поводу сравнения решений для ethernet - ну видео как раз и посвящено этому.
Из представленных я бы выбрал первое (с вынесенным PHY) - если обмен достаточно активный.
Если при этом ещё и нужна максимальная интеграция и минимальное количество микросхем - то лучше посмотреть на 4 вариант.
Если обмен не активный, то - enc28j60 либо w5500. Лучше w5500, особенно если обмен планируется протоколами поверх UDP или TCP.
Lantronix XPort - для случая когда надо прокинуть по сети удаленный COM-порт до устройства, у которого нет ресурсов на сетевой обмен, а обмен через UART уже реализован и UART порт свободен.
Спасибо за развёрнутый ответ. Подскажите ещё, что бы вы использовали к примеру если по Ethernet нужно передавать данные с нескольких датчиков и переключать состояние реле к примеру? Я говорю о простой схеме включения\выключения света при открытии двери и других простых проектах для домашней автоматизиции, которые как правило связаны с управлением питания (освещение, бытовые приборы итд). Ещё вопрос, можно ли писать скетчи в Ардуино ИДЕ под эти модули? На сколько я понимаю главное что бы это поддерживал микроконтролер, а какие модули я к нему подключил это не имеет значения? Или я ошибаюсь?
Ну вот демо проекты из описания к видео вполне подойдут как заготовка для решения этих задач.
Можно дописать управление реле по входящим MQTT-сообщениям и чтение из датчиков и публикацию MQTT-сообщений с измерениями и событиями.
Оба ethernet-модуля из видео тут отлично подходят.
ясно, спасибо, а на счёт ИДЕ, я так понимаю ваш код не заработает в ардуино ИДЕ?
Не заработает
Отличный обзор, заказал себе такие на w5500, правда выглядят по другому
Материал примерно 3го курса вуза. Спасибо!
замеряли ток по питанию, какой модуль экономичней ?
Нет, вечером замерю
w5500 - 109 мА
enc28j60 - 150 мА
enc ещё и греется прилично, градусов до 50
у меня enc28j60 грелся до 80 и очень быстро умер. модуль был как в видео
может проблема в питании? точно 3,3В ?
Электроника в объективе, на разных кабелях и расстояния разный ток потребления будет.
Excelent explanation!.
Thanks)
Will you put english subtitles on the new videos you release? I tried to saw some from last year and they had no subs. Thanks for the efford and time expended on adding the subs tho.
English subtitles will be in new videos, but not in all. Subtitle preparation is very time consuming, but I'll try.
English subtitles are an experiment for me, I do not know how many English-speaking viewers on my channel.
Great to know, thanks for trying to add subs to some videos, i understand is very time consuming. I haven't saw much comments on English but i guess i can't be the only one.
Отличный материал, большое спасибо!
Хотелось бы узнать скорость передачи еще. Например 500кб на компьютер за сколько мс прилетит на комп. Нужно быстрое решение, есть мысли что посоветовать?
Зависит от того, как вы реализуете операции с SPI. Если задействуете DMA, то возможно это поможет в достижении требуемых скоростей. На сайте Wiznet даже страница сравнения типов реализаций была.
Несколько лет назад пробовал к уже готовому и отлаженному устройству прикрутить W5100 для опроса по SNMP, но сам модуль зависал 2-3 раза в неделю, решение по-быстрому не нашлось и прицепил RasPi (тогда ещё 1-й только вышел). Учитывая что устройство существовало в единственном экземпляре, разница в цене была несущественна, а удобство и возможности в разы выше. Интересно, а как у W5500 со стабильностью работы?
W5100 Надо периодически сбрасывать. Лучше это делать по каким то признакам. У меня он в очень активной сети, зависает буквально за несколько минут. W5500 у меня есть, но пока не проверял.
Присоединяюсь к вопросу
Влада Жданова:
- Как принимать (подписаться) и обрабатывать
топики от брокера?
PubSubClient.h
Ни один ролик автора не смог досмотреть до конца. Толерантность, буферизация---ничего не понял, а жаль. Я всего лишь столяр, увлекающийся ARDUINO!!!
Здравствуйте. Можно ли w5500 заставить работать на esp-32?
С любым микроконтроллером можно
Спасибо Руслан, очень доходчиво разъяснил!
Спасибо, доступно)))
Cool
А что озночаеть в разьеме 15/10?
10+10
спасибо - всё понятно
как всегда, отличное видео! спасибо.
PIC18F97J60 применяются в дорогущих модулях связи охранной аппаратуры Дунай производства НВФ Венбест:
1) Ethernet модуль связи Дунай-ЕТ: venbest.org.ua/index.php?id_product=19&controller=product
2) Программно- аппаратный драйвер Дунай-ЕСОМ18: venbest.org.ua/index.php?id_product=57&controller=product&search_query=dunaj+ecom&results=6
Это не ethernet контроллер. Хоть в него и включён физический интерфейс, без трансформатора.
А что это?
Дополнил.
Это микроконтроллер, а то так можно договориться до того, что это флешь-память.
На счет глюка с ENC28. У меня так же было, но мне удалось решить ето заменою питания от внешнего стабилизатора на 3.3V
У меня при тестировании использовался тот стабилизатор 1117 3.3В, который стоит на плате модуля. А у вас какой использовался?
Электроника в объективе на ардуино такой же, но тем не менее проблемы с зависанием есть. Использовал такой же 1117 стабилизатор. Чтобы увидеть что проблема в питании можно добавить нагрузку на несколько ножек МК, тогда зависания будут чаще
спасибо, очень интересные видео
Как вы делали свою презентацию и эти цветные квадратики поверх поверх даташита? очень красиво и аккуратно - мне понравилось.
В любом видеоредакторе типа sony vegas. Но, что-то мне кажется, что именно тут не вегас.
Да, это обычный MS PowerPoint
какая разница, что напоминает? В итоге приятно смотреть и слушать, спасибо автору!
Отлично! Спасибо.
Отказался от таких устройств в пользу emc 8266. Нет кучи проводов, все передается-принимается по воздуху. И самый очевидный плюс - встроенный контроллер, с 4 Мб памяти, что позволяет использовать его как автономное устройство. Да и цена всего 200 рублей. Но лайкнул однозначно! :)
+Иван Кипелов, надёжно работает?
Молодец! Все отлично изложил!