Спасибо друг, у меня всегда сложности с начинанием. что? где? куда копать? с чего начать? и такие видео-краткие вводы в тему иногда очень помогают "стартануть", вы сэкономили мне кучу времени, большое спасибо!
Спасибо вам большое. Очень помогло ваше видео! Единственное чего в нем не хватает это функция чтения сокета! recv_size = recv(sock, buffer_ASCII, 128) - может кому то поможет. Еще раз спасибо вам большое за вашу работу!
Для работы на уровне сокетов, действительно, классное решение. Спасибо за обзор. В свое время начинал работать с W5100, у чипа был аппаратный баг, передаешь пару UDP пакетов и контроллер дальше ничего не передавал, тупо вис внутренний стек. TCP работал нормально. Поэтому пришлось в корзину визнет выкинуть, переписал все под PIC18F66J60. Для новых разработок конечно W6100 лучше рассмотреть, заявленный Network Performance повыше, жду когда на ali отладки появятся.
Большого сервера там не сделать. Чип поддерживает всего 8 сокетов. Современные браузеры любят качать данные в несколько соединений параллельно. Но этого, действительно, вполне достаточно, чтобы сделать web-сервер со страничкой конфигурации или для отображения статуса. Тем более, если у нас один клиент.
@@Romychs можно инлайново встроить все стили, скрипты и картинки внутрь HTML странички (через webpack), тогда на один запрос на страницу будет только одно соединение. На видео видно два соединения, это из-за того, что браузер ищет favicon в корне сайта, но это лечится если явно указать favicon закодированный в base64.
@@Владимир.П-е9о Абсолютно верно. Я минут 5 тупил не мог понять почему так происходит. В итоге написал receive и только в тексте запроса увидел что он иконку ищет...
Отличный обзор для быстрого старта. Греется он, конечно. Сам по себе проводной Ethernet, прожорливая штука. По даташиту, чип потребляет 132мА в режиме работы и 32мА в режиме StandBy. И меньше не получится, если мы хотим, чтоб чип просыпался по Wake On Lan. При проектировании надо это учитывать. Если только совсем убирать питание с чипа. Например, включаемся раз в сутки, отправляем что то по ftp или даже tftp или получаем. Например, это может быть обновление конфигурации и даже софта. Библиотека, кстати, поддерживает и клиента и сервер ftp. Фрагментация внутри одной сети не возникает. Фрагментируют пакеты маршрутизаторы и файерволлы, да и то, обычно, такими вещами не балуются, раньше такое было часто из за того, что на нижних двух уровнях модели oci могли быть весьма специфичные среды передачи, особенно лет 20 назад.
Vladimir Medintsev, Вы не сказали про главный недостаток 5500. Его встроенный стек содержит всего 8 сокетов!!! Это сильно ограничивает количество возможных подключений. А если кроме ТСР надо ещё пару UDP портов... Хотя вообще чип хороший, и мы его активно используем. Это отличное решение если надо в устройстве увеличить количество встроенных Ethernet портов.
Честно говоря я сильно удивился бы, поддерживай он больше 8 сокетов. Все-таки это большие ресурсы. Да и чип не новый. Вроде как сейчас есть и более модные.
Вопрос немного не по теме, но все же про связь - у вас был успешный опыт использования связки STM32 микроконтроллеров как ядра и ESP8266/ESPWhatever в качестве WiFi адаптера? Если да, то было бы круто посмотреть обзор на эту тему. P.S. PoE имплементации тоже очень интересны,!
Да 5500 чип очень итересный, тоже его использую. Но с библиотекой не всё так просто. По описанию очень красиво, но в реальности далеко не так. И ошибок многовато и нет HTTP поддержки, размещая страницу во FLASH память. Есть только поддержка SD карты а если HTTP страницу надо хранить в FLASH , код придётся самому написать. Но я начал свой проект четыре года назад, может быть сейчас дела уже обстоят по лучше.
Вы правы, там есть странные места, именно по этой причине я не использовал HTTP server из библиотеки, а показал в своем видео sockets. Но если понимать как работает сеть вполне можно эффективно писать приложения. Данный производитель дает такую библиотеку, у других нет и минимума.
@@VladimirMedintsev самому очень интересно... В любом случае очень благодарен, так как давно назрела необходимость использования проводного интернета в рабочих проектах.
Благодарю за видео, однозначный лайк) Подскажите, есть ли у библиотеки от вендора возможность "из коробки" обеспечивать несколько соединений на одном сокете, как это делается у больших братьев -- ПК? Почему спрашиваю: в примере, где вы показали приём соединения, не фигурирует функция accept, возвращающая "клиентский" сокет, и получается что "серверный" сокет занимается не только прослушиванием и приёмом соединений, но и их обработкой, что заставляет его закрывать прослушивание в конце цикла и открывать заново.
Спасибо большое! Имеет ли смысл DMA использовать или не стоит? Мы все таки не знаем сколько чего там есть в буфере предварительно или библиотека может это реализовать? И я еще не увидел как у Вас прерывание (w5500 int) используется при подключении W5500? PS микротик это по феншую-).
Благодарю, Владимир! Очень полезное видео! Подскажите, а сколько примерно памяти (и флэш, и ОЗУ) занимала библиотека в МК? Не проводили эксперименты с потоком данных? Нормально ли чип справится с обменом 1..2 Мбайт/с?
было бы неплохо узнать откуда вы берете какой код и в какой последовательности писать - а то не понятно берем то то пишем то то а что зачем почему с чего взяли не совсем понятно
Владимир, а не попадались ли Вам Ethernet-модули с развязывающими трансформаторами (как на маршрутизаторах)? Ведь любая высоковольтная помеха унесёт жизно не только модуля но и всего микроконтроллерного девайса. Хочется собрать устройство, работающее не только на столе, но и в реальных бытовых/офисных условиях, пусть даже и подороже...
В смысле реальное устройство. Там же развязывающий трансформатор внутри разъема установлен. Т.е. он есть и никуда не девался. Да и модули обычно мало кто использует это же не Ардуино. Вы на прототипе попробовали, протестировали, а потом схемотехнику себе на плату переносите. Там уже если хотите можете отказаться от трансформатора интегрированного в разъем и поставить отдельно.
Спасибо за видео, палец вверх, но я вот единственное не увидел, а где чипу, при выводе страницы в буфер загоняется "HTTP/1.1 200 OK"??? Вы просто отправляете сообщение с cnt. Как так?)
@@VladimirMedintsev хммм, я прикрутил это дело, действительно получается. Но честно говоря для меня вопрос остался пока открытым,я проверил так же отправку http/1.1 ok, вот с этим я получил пустой экран и в отладочном окне хрома, в хедере всё сообщение которое отправил. Спасибо, буду ковыряться
как-то необходимо было сделать согласование spi на высокой частоте и резистивные делители и транзисторные сборки не подходили для этого. в итоге было реализовано на микросхеме TXS0108E
Очень полезные видеоматериалы! А Вы не подскажете как соединится с сервером не через ip, а через host .А что-то сообразить не могу ...и найти примеров не могу ?
@@VladimirMedintsev спасибо что не оставили меня с вопросом! Буду разбираться DNS..Я так понял DNS получает ip с hostname , а далее этот ip вставляет в функцию connect?
А можете в описании под видео выложить ссылочки на чертежи к плате с чипом w5500? С того времени сайт несколько изменился и мне не ясно где там раздел с рекомендациями по проектированию
@@vadimvarlamov7907 Ну полноценно об этом нигде не пишут. Причина проста, это безопасность ваших проектов и с другой стороны это своеобразный экзамен на уровень владения технологиями. Вам же будет полезнее как профессионалу проделать этот путь самостоятельно. В принципе все что нужно для написание вами своего загрузчика на этом канале есть. Тут есть ролик про то, как размещать данные в памяти flash микроконтроллера или другой микросхемы. Тут есть ролик где подробно рассказан процесс передачи управления от одной программы - другой. Что вам потребуется для передачи управления от загрузчика к загруженной программе. Тут есть ролик про файловую систему и библиотеку FatFS. Вам остается только сесть с листом бумаги и продумать алгоритм работы загрузчика, метод или условия его активации. А потом отладить его составные части: научиться сохранять получаемые данные в память, раскодировать их, чтобы плохие люди не подменили вашу программу, передавать управление полученной новой прошивке и так далее. Куски кода вам тут ничего не дадут. Увы, на каждом микроконтроллере отличаются и размеры страниц и методы записи и те способы которыми мы хотим активировать загрузчик.
Thank you so much , your tutorial is useful. I have some questions about hardware of this tutorial. Do you connect STM32F4 with W5500 to router and connect router to PC by ethernet cables? I work with stm32h7 that it connect to w5500 and w5500 connect directly to Pc. I use static IP in PC like: IP: 192.168.88.100 subnet: 255.255.255.0 GW: 192.168.88.1 and I use below configuration in W5500: IP: 192.168.88.207 subnet: 255.255.255.0 GW: 192.168.88.1 Are they right?
Hello, I have two problems that need your help : 1. When I want to change IP Address, I must clear all code in while(1) part 2. when I load code for STM chip, I can't open Web with IP Address. After I start debug to run code, then I can open the web normally. Can you explain for me this problem, please? Thanks!
я просто скачал библиотеку с github. скачал в день сьемки видео и собрал этот пример чтобы посмотреть не изменилось ли чего. версия самого файла 1.0.1 Но похоже ее не меняли. На самом деле это определентя callback для массовых операций чтения записи.
W5500 на лапше - вполне способен работать. Будет небольшое количество ошибок, но это не критично. Физика на лапше даже не заведётся. Я вообще не понимаю, кому пришла в голову идея пустить через штырьковый разъём rmii интерфейс с тактовой в 50МГц. При таких частотах длинна проводников, а так-же их волновое сопротивление - уже начинают серьёзно пакостить.
В видео этого нет, но я игрался по разному переплетая и распуская провода RMII интерфейса. При некотором сочетании перестает нормально работать. Ну Китай он такой.
Проверял на 10см шлейфе. Все работает, есть правила в учебниках чередовать землю и сигнальные провода. А вот места сочленения разъема и шлейфа - зло. Импеданс, люфты и прочая бяка.
Your tutorial is great, I didn't understand the language but the way you demonstrate it is just amazing.....I have been stuck in a place if you can help me it will be great....I'm using stm32 and wiz5500 as http client it works perfectly for 2 days and then it stuck somewhere, so for that I'm using rest pin of wiz5500 to reset it but I'm confused as when I pull-down that pin the power of wiz5500 didn't off, I make the pin off for 1sec and then makes that pin pull-up..... could you please help me and tell whether the power led on wiz5500 will goes off when I reset the pin....or where I'm missing
Почему вы не показали как вы библиотуку подключили? Куда какие файлы и папки нужно разместить, Куда и что в IDE нужно прописать. Ну никак не хочет ваш пример стартовать. ((
Дело в том, что это не обучающий канал. Некоторые, вещи я конечно же пропускаю. Предполагается, что у людей которые встраивают ethernet в свои проекты есть минимальный опыт по работе с библиотеками.
Здравствуйте извините что не по теме но нигде не могу найти информацию, как сделать внешний вид вкладок с закругленными углами яндекс браузера как у вас. И интересно было бы конечно Http сервер работа с GET запросами.UDP. TCP сервер и клиент
@@VladimirMedintsev Обновлял уже десять раз не помогает и в настройках нет этой темы и в ютубе нет ответа.Спасибо за ответ.И могли бы вы осветить Клиента TCP на W5500 хочу сделать сеть через сервер на расбери пи
Поздравляю, ваше видео очень важно. Я хотел спросить вас, не могли бы вы помочь мне использовать приложение Blynk по локальной сети с картой W5500. БОЛЬШОЕ ВАМ СПАСИБО
Добрый вечер! Возможно ли сделать так, чтобы измеренное значение попадало в dma и тут же, незамедлительно направлялось на компьютер с помощью ethernet w5500?
На плате NUCLEO-F446ZE нет отдельного чипа поддержки сети. picua.org/images/2020/09/18/b7551fc2cc32e52a994ee1b30419c01e.png Как будет правильнее? С w5500 или без? Не могу определиться с комплектующими для проекта, в сети еще хвалят nano v3 ethernet shield - w5500 (v2) от RobotDyn. В проекте будет 7 модулей с 1 веб интерфейсом в локальной сети.
Вопрос, а если мне нужно передать текст ( json) на сервер одним запросом (tcp) который весит больше 2-х килобайт ,то этот модуль способен на это ? ( знаю что буфер у него ограничен)
@@adaminsanoff Ответ на ваш вопрос я дал в первом ролике по работе с сетью Ethernet. Там где я показываю табличку сравнения. Если необходим самый нижний уровень работы с сетью. Контроль на самом нижнем уровне и при этом есть ресурсы процессора, то конечно идеально подходят микросхемы типа LAN8720 и им подобным. А вот если необходимо сделать просто WEB-мордочку, то W5500 и подобные. Большая часть работы спрятана в самом чипе и процессор можно разгрузить. А вот чип ENC28J60 он находится по середине между перечисленными. Из недостатков с микроконтроллером этот чип работает по SPI, но внутри себя содержит только два уровня модели OSI. Т.е. до канального только. А как следствие все буфера вы должны держать в микроконтроллере как и в случае с LAN8720, а интерфейс связи не RMII, а уже SPI. Ну и слишком уж много на ENC28J60 жалоб. То греется, то сбоит. Не вижу я этот чип в своих устройствах. Ну реально нишевый продукт, устаревший. А так, купите, модули 100-200 рублей стоят, будет ваше личное мнение.
@@VladimirMedintsev Большое спасибо за подробный ответ. Я нашел ваш канал недавно и смотрю ваши видео каждый день. Я еще не смотрел первый ролик по работе с сетью. Еще раз спасибо за то, что поделились с нами своими знаниями и опытом.
Володимире, дуже дякую за ваші відео, вони дуже пізнавальні та дійсно мотивують. Ви один з небагатьох блогерів, які поєднали в своїх роликах програмування та схемотехнику: мені, як початківцю, цього дійсно бракує. Також дуже подобається як ви подаєте матеріал, відчувається як загальна обізнаність, так і дуже великий досвід в предметній області. Я тільки почав освоювати мікроконтроллери STM, тому багато чого здавалося якоюсь магією (особливо робота з TCP/IP). Після двох ваших роликів про роботу з мережевими інтерфейсами я замовив плати у китайців, щоб спробувати попрацювати з цією технологією, ну а від вас чекаю на нові відео.
@@VladimirMedintsev извините , но допустили много ошибок .В украинском языке нет аналогу русскому слову " спасибо " , используют взамен дякую ( благодарю по русски ) и вместо связки "большое спасибо " используют связку " искренне благодарю " ( щиро дякую ) .Надеюсь мой комментарий окажется полезным , а не оскорбительным .( спс за видео- как всегда "держите марку " )
@@doit6695 Не знал, я считал, что "дякую" это аналог "благодарю", а "спасибі" это аналог "спасибо". Спасибо вам большое. Так с вами и украинский выучу.
@@VladimirMedintsev Задача немного нестандартная) есть прогрмма на STMG0. Я не хочу нагружать ее Ethernet. Поэтому хочу поставить доп плату например на STM32F103 с W5500 и уже с ее помощью обновлять прошивку на STMG0. Я так понимаю что в моем случае нужна какая то флешка, куда будет записываться прошивка, и только потом из этой флешки G0 будет перепрошиваться с помощью Bootloader. поправьте меня пожалуйста, если иду не в том направлении. Заранее вам благодарен за ответ!
Спасибо, интересные модули. Интересно а какая область применения у всего этого? WiFi кажется более простым удобным решением почти всегда если нужна сеть.
В ответственных местах более предпочтительно проводное подключение. Например СКД (система контроля доступа), кто-то заглушит сигнал Wi-Fi и что в током случае делать? В некоторых государственных организациях запрещено использовать беспроводные сети.
Wi-Fi это исключительно домашние устройства и то с оговорками т.к. электромагнитное излучение не сильно полезно для живых организмов. В промышленной автоматике это запрещено из соображений надежности, в медицине - из-за надежности и излучения. Т. е. правильнее вопрос задавать наоборот, куда этот Wi-Fi применять. А уж для Ethernet мир открыт еще надолго.
Ethernet не то чтобы супернадежный и суперудобный протокол. Обычно найдется более простое и более надёжное решение. Поэтому и интересно где это в жизни используется.
Почти весь КИПиА на Ethernet. Modbus over Ethernet. Все промышленные предприятия, от молочного заводика и до котельной. От газотурбинной установки и до электростанции. Весь СКУД.
Подскажите пожалуйста, как обстоят дела с СТМ32. Я просто пока ковыряюсь с Ардуино и до СТМ ещё не дорос немного. Меня интересует конкретно вот какой вопрос: как написана библиотека, Вы случайно не ковырялись в ней? Под Ардуино библиотека написана совершенно отвратно: очень много бесконечных циклов, которые запросто вешают микроконтроллер при плохой связи. Мне под мою задачу пришлось переписывать библиотеку практически с нуля. Вот мне и интересно, если я перейду на СТМ, там тоже самое или все гораздо лучше?
Перейдя на STM32 Вы поймете, что для многих устройств проще открыть даташит и накидать свою библиотеку и это совсем не сложно :)))) Начать на СТМ сложенее чем на ардуино, но потом работать даже немного легче, особенно благодаря Кубу, возможности деббага и тд. Не бойтесь приходите к нам :))))) (Все это мое субъективное мнение которое может совершенно не совпадать с профессиональным мнением Владимира)
Ну не обязательно же всем рассказывать что у тебя получилось поковыряться в носу и слепить фигню. Верим что ты это умеешь. Можешь не отчитываться о проделанной работе.
@@VladimirMedintsev не смешите детским лепетом с козюлькой синхронного кода бесполезного. :))) Надо было, хотя бы, разобраться что вз работает в обмене в двух режимах: с фиксированной длинной команды или использует чс как конец команды. :))) Уже не говорю про дма...
@@RabiNet Вы этот кусок ассемблерного кода с инструкциями от AVR зачем привели? Чтобы показать как из GET запроса выделить запрашиваемое браузером? Так об этом и в видео сказано. Там показан максимально упрощенный пример. Не сильно имеющий вообще отношение к HTML хотя бы по тому, что я даже не передаю теги. Видео ведь не про формирование правильного ответа и полноценного HTTP. Видео про о, что нет ничего сложного и непреодолимого. Цель моих роликов - дать небольшой толчок и показать направление. Все равно до многих вещей людям придется доходить своими силами. С вами же у меня беседы не получится, я не люблю, когда человек ничего не знающий об уровне моей компетенции и знаниях начинает делать предположения в таком ключе.
Два запроса было на старте тк браузер очень часто самостоятельно запрашивает favicon.ico. Надо иметь в виду и не вешать просто на любой get экшены, даже если хочется) понятно, что автор скорее всего знает, просто коммент для поддержки канала
Hi ,I used the code you uploaded with spi1 and I used pll which makes the clock bus 30 mhz and I changed wiz_NetInfo gWIZNETINFO = { .mac = {0x00, 0x08, 0xdc, 0xab, 0xcd, 0xef}, .ip = {192, 168, 1, 27}, .sn = {255, 255, 255, 0}, .gw = {192, 168, 1, 1}, .dns = {0, 0, 0, 0}, .dhcp = NETINFO_STATIC }; this way.But the page is not loaded.Could it be power issue?Did you use 3.3 external power suply?
Спасибо друг, у меня всегда сложности с начинанием. что? где? куда копать? с чего начать? и такие видео-краткие вводы в тему иногда очень помогают "стартануть", вы сэкономили мне кучу времени, большое спасибо!
Спасибо. Очень полезная информация!
Спасибо вам большое. Очень помогло ваше видео! Единственное чего в нем не хватает это функция чтения сокета!
recv_size = recv(sock, buffer_ASCII, 128) - может кому то поможет.
Еще раз спасибо вам большое за вашу работу!
Для работы на уровне сокетов, действительно, классное решение. Спасибо за обзор. В свое время начинал работать с W5100, у чипа был аппаратный баг, передаешь пару UDP пакетов и контроллер дальше ничего не передавал, тупо вис внутренний стек. TCP работал нормально. Поэтому пришлось в корзину визнет выкинуть, переписал все под PIC18F66J60. Для новых разработок конечно W6100 лучше рассмотреть, заявленный Network Performance повыше, жду когда на ali отладки появятся.
спасибо за науку
Хочется посмотреть реализацию web сервера допустим с чекбоксами для управления ножками контроллера . Спасибо за Ваши видеролики.
Большого сервера там не сделать. Чип поддерживает всего 8 сокетов. Современные браузеры любят качать данные в несколько соединений параллельно. Но этого, действительно, вполне достаточно, чтобы сделать web-сервер со страничкой конфигурации или для отображения статуса. Тем более, если у нас один клиент.
@@Romychs можно инлайново встроить все стили, скрипты и картинки внутрь HTML странички (через webpack), тогда на один запрос на страницу будет только одно соединение.
На видео видно два соединения, это из-за того, что браузер ищет favicon в корне сайта, но это лечится если явно указать favicon закодированный в base64.
@@Владимир.П-е9о Абсолютно верно. Я минут 5 тупил не мог понять почему так происходит. В итоге написал receive и только в тексте запроса увидел что он иконку ищет...
Огромное спасибо! За все ваши видео и за это в отдельности! Все ясно и понятно!
Замечательный выпуск. Спасибо за подробный обзор!
Очень рад что нашёл Ваш канал. Огромное спасибо!
+
Дорогой Владимир, спасибо за знания!
Спасибо! Тема PoE тоже интересна.
Отличный обзор для быстрого старта. Греется он, конечно. Сам по себе проводной Ethernet, прожорливая штука. По даташиту, чип потребляет 132мА в режиме работы и 32мА в режиме StandBy. И меньше не получится, если мы хотим, чтоб чип просыпался по Wake On Lan. При проектировании надо это учитывать. Если только совсем убирать питание с чипа. Например, включаемся раз в сутки, отправляем что то по ftp или даже tftp или получаем. Например, это может быть обновление конфигурации и даже софта. Библиотека, кстати, поддерживает и клиента и сервер ftp.
Фрагментация внутри одной сети не возникает. Фрагментируют пакеты маршрутизаторы и файерволлы, да и то, обычно, такими вещами не балуются, раньше такое было часто из за того, что на нижних двух уровнях модели oci могли быть весьма специфичные среды передачи, особенно лет 20 назад.
У вас сетевой провод в коробку заходит, а коробка управляет кило_ватным потребителем - на кой чёт там энергосбережение?
Большое спасибо. Я многому научился из видео. Я смог сделать то, что думал!
- спасиба вам большое, у вас ценные видео, много интересного
Спасибо за видео! Жаль не было моего любимого модуля "для ленивых"
USR-TCP232-T2 :) Использую его и бед не знаю. Для большинства проектов более чем.
Интересная вещица для "проброса" rs232 по сети.
@@sergsapov2927 Так а я и не путаю, это Вы путаете. Какие 34 USD?
@@sergsapov2927 aliexpress.ru/item/4000203042692.html?spm=a2g0o.productlist.0.0.14a0577aC6EIcy&algo_pvid=75687f03-1133-4ae1-aeb2-8c5723235dea&algo_expid=75687f03-1133-4ae1-aeb2-8c5723235dea-0&btsid=0ab6f82315937794137328699e4e85&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_
Надо попробовать на досуге такой модуль. Выглядит интересно.
Отличный материал. Посмотрел с удовольствием ! Ну и сетку 192.168.88.0/24 глаз тоже мгновенно выхватил )))
Радиолюбители после общения говорят 73!, а мы после просмотра этого видео напишем 88! ))
Почему Вы не рассказали о роли таймера? Неделю кручу код и так и этак, - не пингуется. Выложите весь проект целиком .
Vladimir Medintsev, Вы не сказали про главный недостаток 5500. Его встроенный стек содержит всего 8 сокетов!!! Это сильно ограничивает количество возможных подключений. А если кроме ТСР надо ещё пару UDP портов... Хотя вообще чип хороший, и мы его активно используем. Это отличное решение если надо в устройстве увеличить количество встроенных Ethernet портов.
Честно говоря я сильно удивился бы, поддерживай он больше 8 сокетов. Все-таки это большие ресурсы. Да и чип не новый. Вроде как сейчас есть и более модные.
Я же пропагандой занимаюсь на самом деле, пытаюсь народу показать что это все не сложно, но жутко интересно.
Как будто enc28j60 имеет больше сокетов и не греется)
Можно передавать данные и рвать сессию. Тогда хоть миллион соединений можно поддерживать поочередно, по несколько миллисекунд на каждое.
@@SIM31r ага. И диспетчер будет тогда ругаться что связь рвется 1000 раз в сутки и у него на экране она моргает
Вопрос немного не по теме, но все же про связь - у вас был успешный опыт использования связки STM32 микроконтроллеров как ядра и ESP8266/ESPWhatever в качестве WiFi адаптера? Если да, то было бы круто посмотреть обзор на эту тему. P.S. PoE имплементации тоже очень интересны,!
Да 5500 чип очень итересный, тоже его использую. Но с библиотекой не всё так просто. По описанию очень красиво, но в реальности далеко не так. И ошибок многовато и нет HTTP поддержки, размещая страницу во FLASH память. Есть только поддержка SD карты а если HTTP страницу надо хранить в FLASH , код придётся самому написать. Но я начал свой проект четыре года назад, может быть сейчас дела уже обстоят по лучше.
Вы правы, там есть странные места, именно по этой причине я не использовал HTTP server из библиотеки, а показал в своем видео sockets. Но если понимать как работает сеть вполне можно эффективно писать приложения. Данный производитель дает такую библиотеку, у других нет и минимума.
Спасибо большое!!!
Ваш комментарий система отправила в спам. Интересно, с чего это мне пришлось его из спама выковыривать?
@@VladimirMedintsev самому очень интересно... В любом случае очень благодарен, так как давно назрела необходимость использования проводного интернета в рабочих проектах.
@@VladimirMedintsev я тоже выше писал комментарий (про 88!), и он пропал куда-то, написал через пару минут еще раз, прошло.
Благодарю за видео, однозначный лайк)
Подскажите, есть ли у библиотеки от вендора возможность "из коробки" обеспечивать несколько соединений на одном сокете, как это делается у больших братьев -- ПК? Почему спрашиваю: в примере, где вы показали приём соединения, не фигурирует функция accept, возвращающая "клиентский" сокет, и получается что "серверный" сокет занимается не только прослушиванием и приёмом соединений, но и их обработкой, что заставляет его закрывать прослушивание в конце цикла и открывать заново.
mqtt, очень распространенный протокол. Не планируете видео о нем?
Интересно узнать как вы делаете питание от PoE? Развязываете при этом питание?
Сделаю видео.
Спасибо большое! Имеет ли смысл DMA использовать или не стоит? Мы все таки не знаем сколько чего там есть в буфере предварительно или библиотека может это реализовать? И я еще не увидел как у Вас прерывание (w5500 int) используется при подключении W5500? PS микротик это по феншую-).
Благодарю, Владимир! Очень полезное видео! Подскажите, а сколько примерно памяти (и флэш, и ОЗУ) занимала библиотека в МК? Не проводили эксперименты с потоком данных? Нормально ли чип справится с обменом 1..2 Мбайт/с?
Проект на видео с HAL и выключенной оптимизацей.
Program Size: Code=12364 RO-data=448 RW-data=192 ZI-data=18728
было бы неплохо узнать откуда вы берете какой код и в какой последовательности писать - а то не понятно берем то то пишем то то а что зачем почему с чего взяли не совсем понятно
очень жду видео про POE
Замислився: теоретично на один 5500 можна повісити декілька датчиків: просто кожен буде слухати ногу CS та користуватися коли 5500 вільний.
На один интерфейс SPI микроконтроллера можно подключить W5500 и несколько датчиков. Все устройства на шине SPI должны иметь независимые выводы CS.
@@VladimirMedintsev ну я подумав за режим типу I2C: PULLUP/DOWN: до землі притискає той кому потрібен 5500.
Muy bueno el video...podrias activar subtitulos en español o italiano o inglés ? Desde ya muchas gracias....!!!!
Владимир, а не попадались ли Вам Ethernet-модули с развязывающими трансформаторами (как на маршрутизаторах)?
Ведь любая высоковольтная помеха унесёт жизно не только модуля но и всего микроконтроллерного девайса.
Хочется собрать устройство, работающее не только на столе, но и в реальных бытовых/офисных условиях, пусть даже и подороже...
В смысле реальное устройство. Там же развязывающий трансформатор внутри разъема установлен. Т.е. он есть и никуда не девался. Да и модули обычно мало кто использует это же не Ардуино. Вы на прототипе попробовали, протестировали, а потом схемотехнику себе на плату переносите. Там уже если хотите можете отказаться от трансформатора интегрированного в разъем и поставить отдельно.
Thank you
Спасибо.
А по обмену по UDP нет подобного примера?
Нет, не делал
Владимир, здравствуйте, о poe когда расскажите?
Вот дату я вам точно не назову. В ближайший месяц этой информации точно не будет, видео уже залиты.
По номеру сети очень часто можно понять какой маршрутизатор стоит.
Класс...
Не подскажете, в чем проблема? При работе программа пишет Creating socket... и на этом зависает, ошибку не выдает.
Спасибо за видео, палец вверх, но я вот единственное не увидел, а где чипу, при выводе страницы в буфер загоняется "HTTP/1.1 200 OK"???
Вы просто отправляете сообщение с cnt. Как так?)
Не должен ли чип выдать пустую страницу?
Если кратко, то все корректно. Так и должно было быть.
@@VladimirMedintsev хммм, я прикрутил это дело, действительно получается. Но честно говоря для меня вопрос остался пока открытым,я проверил так же отправку http/1.1 ok, вот с этим я получил пустой экран и в отладочном окне хрома, в хедере всё сообщение которое отправил.
Спасибо, буду ковыряться
Спасибо за лекцию. Вопрос не по теме. Как на практики делают логическое согласование 3.3В в STM с модулями которые работают на 5В
Чаще всего я делаю резисторами. В одну сторону делитель напряжения, в другую ничего не надо.
как-то необходимо было сделать согласование spi на высокой частоте и резистивные делители и транзисторные сборки не подходили для этого. в итоге было реализовано на микросхеме TXS0108E
5:51 - а как же HTTPS? Или это сложновато для STM32?
Очень полезные видеоматериалы! А Вы не подскажете как соединится с сервером не через ip, а через host .А что-то сообразить не могу ...и найти примеров не могу ?
Необходимо разрезолвить имя хоста. Для этого активируйте DNS.
@@VladimirMedintsev спасибо что не оставили меня с вопросом! Буду разбираться DNS..Я так понял DNS получает ip с hostname , а далее этот ip вставляет в функцию connect?
Ну примерно так.
@@VladimirMedintsev Был бы неплохой видеоурок на эту тему))
@@Avtovet Будем ждать. Просто я учебные материалы не снимаю, может кто и сделает.
А можете в описании под видео выложить ссылочки на чертежи к плате с чипом w5500? С того времени сайт несколько изменился и мне не ясно где там раздел с рекомендациями по проектированию
Если я не забегаюсь и не забуду, то выложу.
Добрый день Владимир! Вы случайно не делали перезашивку STM32 через Ethernet или вообще через TCP/IP?
Конечно делал. Рано или поздно каждый разработчик делает для себя и своих устройств нечто типа bootloader. В этом нет ничего сложного.
@@VladimirMedintsev Тогда не подскажете где об этом можно почитать?
@@vadimvarlamov7907 Ну полноценно об этом нигде не пишут. Причина проста, это безопасность ваших проектов и с другой стороны это своеобразный экзамен на уровень владения технологиями. Вам же будет полезнее как профессионалу проделать этот путь самостоятельно. В принципе все что нужно для написание вами своего загрузчика на этом канале есть. Тут есть ролик про то, как размещать данные в памяти flash микроконтроллера или другой микросхемы. Тут есть ролик где подробно рассказан процесс передачи управления от одной программы - другой. Что вам потребуется для передачи управления от загрузчика к загруженной программе. Тут есть ролик про файловую систему и библиотеку FatFS. Вам остается только сесть с листом бумаги и продумать алгоритм работы загрузчика, метод или условия его активации. А потом отладить его составные части: научиться сохранять получаемые данные в память, раскодировать их, чтобы плохие люди не подменили вашу программу, передавать управление полученной новой прошивке и так далее.
Куски кода вам тут ничего не дадут. Увы, на каждом микроконтроллере отличаются и размеры страниц и методы записи и те способы которыми мы хотим активировать загрузчик.
Thank you so much , your tutorial is useful. I have some questions about hardware of this tutorial. Do you connect STM32F4 with W5500 to router and connect router to PC by ethernet cables?
I work with stm32h7 that it connect to w5500 and w5500 connect directly to Pc. I use static IP in PC like:
IP: 192.168.88.100
subnet: 255.255.255.0
GW: 192.168.88.1
and I use below configuration in W5500:
IP: 192.168.88.207
subnet: 255.255.255.0
GW: 192.168.88.1
Are they right?
Hello, I have two problems that need your help :
1. When I want to change IP Address, I must clear all code in while(1) part
2. when I load code for STM chip, I can't open Web with IP Address. After I start debug to run code, then I can open the web normally.
Can you explain for me this problem, please? Thanks!
а почему когда через браузер был запрос, не указывался порт?
Порт 80 по умолчанию
@@VladimirMedintsev спасибо)
Добрый день Vladimir Medintsev! Скажите, а Wiznet не поддерживает динамические IP адреса? Я имею ввиду ему роутер не может адрес назначить?
Поддерживает, может.
@@VladimirMedintsev благодарю за информацию!
Вечер добрый Владимир. Откуда взялась reg_wizchip_spiburst_cbfunc() функция?
Заранее благодарен.
reg_wizchip_spiburst_cbfunc определена в файле wizchip_conf.c
@@VladimirMedintsev Разные версии wizchip_conf.c могут быть? У Вас какая?
я просто скачал библиотеку с github. скачал в день сьемки видео и собрал этот пример чтобы посмотреть не изменилось ли чего. версия самого файла 1.0.1 Но похоже ее не меняли. На самом деле это определентя callback для массовых операций чтения записи.
У меня библиотека с официального сайта. Версия 1.0.0. Спасибо огромное. Успехов Вам.
W5500 на лапше - вполне способен работать. Будет небольшое количество ошибок, но это не критично. Физика на лапше даже не заведётся. Я вообще не понимаю, кому пришла в голову идея пустить через штырьковый разъём rmii интерфейс с тактовой в 50МГц. При таких частотах длинна проводников, а так-же их волновое сопротивление - уже начинают серьёзно пакостить.
В видео этого нет, но я игрался по разному переплетая и распуская провода RMII интерфейса. При некотором сочетании перестает нормально работать. Ну Китай он такой.
Проверял на 10см шлейфе. Все работает, есть правила в учебниках чередовать землю и сигнальные провода. А вот места сочленения разъема и шлейфа - зло. Импеданс, люфты и прочая бяка.
166 строка повторяет 164?
Your tutorial is great, I didn't understand the language but the way you demonstrate it is just amazing.....I have been stuck in a place if you can help me it will be great....I'm using stm32 and wiz5500 as http client it works perfectly for 2 days and then it stuck somewhere, so for that I'm using rest pin of wiz5500 to reset it but I'm confused as when I pull-down that pin the power of wiz5500 didn't off, I make the pin off for 1sec and then makes that pin pull-up..... could you please help me and tell whether the power led on wiz5500 will goes off when I reset the pin....or where I'm missing
I used the code but it didnt work for me.Did you use external 3.3 power supply?
@Niko Sikharulidze Could you do this project?I used similar code but it didnt work.
Почему вы не показали как вы библиотуку подключили? Куда какие файлы и папки нужно разместить, Куда и что в IDE нужно прописать. Ну никак не хочет ваш пример стартовать. ((
Дело в том, что это не обучающий канал. Некоторые, вещи я конечно же пропускаю. Предполагается, что у людей которые встраивают ethernet в свои проекты есть минимальный опыт по работе с библиотеками.
Сколько одновременно клиентов можно подключить к этой микре?)
8 (восемь)
Здравствуйте извините что не по теме но нигде не могу найти информацию, как сделать внешний вид вкладок с закругленными углами яндекс браузера как у вас. И интересно было бы конечно Http сервер работа с GET запросами.UDP. TCP сервер и клиент
Звонил в Яндекс, говорят обновите браузер.
@@VladimirMedintsev Обновлял уже десять раз не помогает и в настройках нет этой темы и в ютубе нет ответа.Спасибо за ответ.И могли бы вы осветить Клиента TCP на W5500 хочу сделать сеть через сервер на расбери пи
Поздравляю, ваше видео очень важно. Я хотел спросить вас, не могли бы вы помочь мне использовать приложение Blynk по локальной сети с картой W5500. БОЛЬШОЕ ВАМ СПАСИБО
Очень интересно, но я не знаю что такое приложение Blink.
@@VladimirMedintsev У вас есть Telegram, чтобы мы стали друзьями, и я покажу вам.
У меня есть электронная почта, она указана в описании канала.
@@VladimirMedintsev Я отправил вам письмо.
Добрый вечер! Возможно ли сделать так, чтобы измеренное значение попадало в dma и тут же, незамедлительно направлялось на компьютер с помощью ethernet w5500?
Да, возможно
Расскажите про W5100.
Рассказываю - я ее не использую.
подскажите, какую STM32 плату вы используете?
Вот в этом видео рассказано что за отладочную плату я рекомендую - ruclips.net/video/vZVwv-EeHkI/видео.html
Владимир, добрый день! Я прислал Вам в почту письмо о контроллере для умного дома и охраны, Вы его не получили?
Получил. Благодарю. Я в размышлении отвечу обязательно
Поделитесь, что за микроконтроллер подскажите!?
На плате NUCLEO-F446ZE нет отдельного чипа поддержки сети. picua.org/images/2020/09/18/b7551fc2cc32e52a994ee1b30419c01e.png
Как будет правильнее? С w5500 или без? Не могу определиться с комплектующими для проекта, в сети еще хвалят nano v3 ethernet shield - w5500 (v2) от RobotDyn.
В проекте будет 7 модулей с 1 веб интерфейсом в локальной сети.
Подскажите. Где используется вывод INT?
Это прерывание. В документации расписано. Если не ошибаюсь, то можно использовать при получении данных модулем из сети.
@@ВладелецУстройства-ю3в правильно ли я понимаю, что в изложеном примере он не используеться?
Вопрос, а если мне нужно передать текст ( json) на сервер одним запросом (tcp) который весит больше 2-х килобайт ,то этот модуль способен на это ? ( знаю что буфер у него ограничен)
Вы про IP фрагментацию слышали? Запрос, пакет, блок это разные вещи и говорят о разном.
@@VladimirMedintsev то есть ,отправить пакет
А как насчет ENC28J60?
Я ее не использую. Так что видеоролика по ней не будет.
@@VladimirMedintsev Но есть ли конкретная причина или вы просто еще не пробовали? Просто я пытаюсь выбрать для своего проекта, не могу решить.
@@adaminsanoff Ответ на ваш вопрос я дал в первом ролике по работе с сетью Ethernet. Там где я показываю табличку сравнения.
Если необходим самый нижний уровень работы с сетью. Контроль на самом нижнем уровне и при этом есть ресурсы процессора, то конечно идеально подходят микросхемы типа LAN8720 и им подобным.
А вот если необходимо сделать просто WEB-мордочку, то W5500 и подобные. Большая часть работы спрятана в самом чипе и процессор можно разгрузить.
А вот чип ENC28J60 он находится по середине между перечисленными. Из недостатков с микроконтроллером этот чип работает по SPI, но внутри себя содержит только два уровня модели OSI. Т.е. до канального только. А как следствие все буфера вы должны держать в микроконтроллере как и в случае с LAN8720, а интерфейс связи не RMII, а уже SPI.
Ну и слишком уж много на ENC28J60 жалоб. То греется, то сбоит. Не вижу я этот чип в своих устройствах. Ну реально нишевый продукт, устаревший. А так, купите, модули 100-200 рублей стоят, будет ваше личное мнение.
@@VladimirMedintsev Большое спасибо за подробный ответ. Я нашел ваш канал недавно и смотрю ваши видео каждый день. Я еще не смотрел первый ролик по работе с сетью.
Еще раз спасибо за то, что поделились с нами своими знаниями и опытом.
Володимире, дуже дякую за ваші відео, вони дуже пізнавальні та дійсно мотивують. Ви один з небагатьох блогерів, які поєднали в своїх роликах програмування та схемотехнику: мені, як початківцю, цього дійсно бракує. Також дуже подобається як ви подаєте матеріал, відчувається як загальна обізнаність, так і дуже великий досвід в предметній області.
Я тільки почав освоювати мікроконтроллери STM, тому багато чого здавалося якоюсь магією (особливо робота з TCP/IP). Після двох ваших роликів про роботу з мережевими інтерфейсами я замовив плати у китайців, щоб спробувати попрацювати з цією технологією, ну а від вас чекаю на нові відео.
І вам велике спасибі за підтримку. Надеюсь написал без ошибок.
@@VladimirMedintsev извините , но допустили много ошибок .В украинском языке нет аналогу русскому слову " спасибо " , используют взамен дякую ( благодарю по русски ) и вместо связки "большое спасибо " используют связку " искренне благодарю " ( щиро дякую ) .Надеюсь мой комментарий окажется полезным , а не оскорбительным .( спс за видео- как всегда "держите марку " )
@@doit6695 Не знал, я считал, что "дякую" это аналог "благодарю", а "спасибі" это аналог "спасибо". Спасибо вам большое. Так с вами и украинский выучу.
Подскажите, а есть ли возможность перепрошивать STM32 с помощью такого модуля?
Есть. Напишите свой загрузчик и перепрошивайте. Сложного нету ничего
@@VladimirMedintsev Задача немного нестандартная)
есть прогрмма на STMG0. Я не хочу нагружать ее Ethernet. Поэтому хочу поставить доп плату например на STM32F103 с W5500 и уже с ее помощью обновлять прошивку на STMG0.
Я так понимаю что в моем случае нужна какая то флешка, куда будет записываться прошивка, и только потом из этой флешки G0 будет перепрошиваться с помощью Bootloader.
поправьте меня пожалуйста, если иду не в том направлении. Заранее вам благодарен за ответ!
Ну в любом случае вам нужен некий процессор который реализует в себе софтварную часть обслуживающую Ethernet
@@VladimirMedintsev спасибо, буду изучать!
Спасибо, интересные модули. Интересно а какая область применения у всего этого? WiFi кажется более простым удобным решением почти всегда если нужна сеть.
В ответственных местах более предпочтительно проводное подключение. Например СКД (система контроля доступа), кто-то заглушит сигнал Wi-Fi и что в током случае делать? В некоторых государственных организациях запрещено использовать беспроводные сети.
Wi-Fi это исключительно домашние устройства и то с оговорками т.к. электромагнитное излучение не сильно полезно для живых организмов. В промышленной автоматике это запрещено из соображений надежности, в медицине - из-за надежности и излучения. Т. е. правильнее вопрос задавать наоборот, куда этот Wi-Fi применять. А уж для Ethernet мир открыт еще надолго.
Ethernet не то чтобы супернадежный и суперудобный протокол. Обычно найдется более простое и более надёжное решение. Поэтому и интересно где это в жизни используется.
Почти весь КИПиА на Ethernet. Modbus over Ethernet. Все промышленные предприятия, от молочного заводика и до котельной. От газотурбинной установки и до электростанции. Весь СКУД.
@@Samiron Я с радостью и любопытством выслушаю какой протокол вы считаете более надежным и главное более простым.
Сетка 192.168.88.0/24. Думаю, локалка сделана на базе микротика. Обычно, это их дефолтные адреса...
Так в видео же показан микротик на столе... я его ради этого видео из чулана выковыривал.
@@VladimirMedintsev Я не досмотрел видео до этого момента и отписался. :-)
@@YuriyIY а чем вам cisca для бедных не угодила?
@@zsony2215 Ничем. Микробы мне нравятся.
@@YuriyIY простите, тупанул.
Владимир день добрый, есть вопрос. Куда написать вам лучше? Нужна помощь по wiz550web
Адрес указан в описании канала, но писать лучше не надо. Не факт что я смогу чем-то помочь.
@@VladimirMedintsev даже если не бесплатно?
А что можно подобное найти с wifi?
Как-нибудь сделаю и с Wi-Fi.
Подскажите пожалуйста, как обстоят дела с СТМ32. Я просто пока ковыряюсь с Ардуино и до СТМ ещё не дорос немного. Меня интересует конкретно вот какой вопрос: как написана библиотека, Вы случайно не ковырялись в ней? Под Ардуино библиотека написана совершенно отвратно: очень много бесконечных циклов, которые запросто вешают микроконтроллер при плохой связи. Мне под мою задачу пришлось переписывать библиотеку практически с нуля. Вот мне и интересно, если я перейду на СТМ, там тоже самое или все гораздо лучше?
Перейдя на STM32 Вы поймете, что для многих устройств проще открыть даташит и накидать свою библиотеку и это совсем не сложно :)))) Начать на СТМ сложенее чем на ардуино, но потом работать даже немного легче, особенно благодаря Кубу, возможности деббага и тд. Не бойтесь приходите к нам :))))) (Все это мое субъективное мнение которое может совершенно не совпадать с профессиональным мнением Владимира)
Слишком много ошибок, новичкам после такого урока прямиком в барбершоп.
Не о чём, поковырялся в носу, слепил фигню... :)
Ну не обязательно же всем рассказывать что у тебя получилось поковыряться в носу и слепить фигню. Верим что ты это умеешь. Можешь не отчитываться о проделанной работе.
@@VladimirMedintsev не смешите детским лепетом с козюлькой синхронного кода бесполезного. :))) Надо было, хотя бы, разобраться что вз работает в обмене в двух режимах: с фиксированной длинной команды или использует чс как конец команды. :))) Уже не говорю про дма...
А, простите, не сразу понял что пришел очередной мудрейший учитель.
Плохой обзор. Автор просто накручивает хронометраж, скорее всего не владея реальными знаниями передачи веб страничек между W5500 и браузером.
Поставил лайк, чтоб поржать! Пишите еще!
=====================
;HTTP Server Response
;=====================
;
;поиск имени файла или команды после "GET /"
ldiX RAMweb
ldi r17,16 ;ограничение на длинну поиска
sGET: ld r16,X+
cpi r16,'/'
breq sGETok
dec r17
brne sGET
rjmp ResetSocket ;не понятный запрос
sGETok: ld r16,X
cpi r16,' '
brne GetResponse
rjmp DefaultPage ;запрос страницы по умолчанию
;
GetResponse:
pushX
ldi r17,16
sGetA: ld r16,X+
cpi r16,'*' ;признак ajax запроса
breq GetAJAX
dec r17
brne sGetA
popX
rjmp CopyNameToFileName
;
GetAJAX:
;
pop r16
pop r16 ;выровнять стек
@@RabiNet Вы этот кусок ассемблерного кода с инструкциями от AVR зачем привели? Чтобы показать как из GET запроса выделить запрашиваемое браузером? Так об этом и в видео сказано. Там показан максимально упрощенный пример. Не сильно имеющий вообще отношение к HTML хотя бы по тому, что я даже не передаю теги. Видео ведь не про формирование правильного ответа и полноценного HTTP. Видео про о, что нет ничего сложного и непреодолимого. Цель моих роликов - дать небольшой толчок и показать направление. Все равно до многих вещей людям придется доходить своими силами. С вами же у меня беседы не получится, я не люблю, когда человек ничего не знающий об уровне моей компетенции и знаниях начинает делать предположения в таком ключе.
Два запроса было на старте тк браузер очень часто самостоятельно запрашивает favicon.ico. Надо иметь в виду и не вешать просто на любой get экшены, даже если хочется) понятно, что автор скорее всего знает, просто коммент для поддержки канала
Hi ,I used the code you uploaded with spi1 and I used pll which makes the clock bus 30 mhz and I changed
wiz_NetInfo gWIZNETINFO = { .mac = {0x00, 0x08, 0xdc, 0xab, 0xcd, 0xef},
.ip = {192, 168, 1, 27},
.sn = {255, 255, 255, 0},
.gw = {192, 168, 1, 1},
.dns = {0, 0, 0, 0},
.dhcp = NETINFO_STATIC };
this way.But the page is not loaded.Could it be power issue?Did you use 3.3 external power suply?
??
w5500 does not get ip address.
Try another MAC-address