STM32 + Ethernet / Как выбрать Ethernet контроллер / Настройка библиотеки LWIP / LAN8720 / Часть 1.

Sdílet
Vložit
  • čas přidán 8. 09. 2024

Komentáře • 104

  • @kardanium
    @kardanium Před 4 lety +8

    Я разбивал web API на три части:
    1. Запросы, возвращающие web страницы.
    2. Запросы, возвращающие JSON строки с данными для элементов интерфейса.
    3. Запросы, отправляющие данные устройству.
    Механизм такой: При запросе страницы возвращается страница с JS скриптом, который (если необходимо на странице отобразить состояние или иную динамическую инфу) выполняет уже запрос данных сам, преобразует их и управляет элементами интерфейса на странице.
    За чем это нужно: А чтобы у устройства был технический web API, если к примеру, нужно будет написать приложение для смартфона или связать устройство с другим по http протоколу и так далее. Почему JSON в качестве формата данных? Да потому что у JS есть штатные средства для его сериализации/десериализации. Формат простой, строку в микроконтроллере можно собрать с помощью функций sprintf() и strcat из stdlib.
    Еще я часто практикую генерацию элементов интерфейса на странице силами js скрипта. Например, устройство работает с датчиками на шине 1-wire. Датчиков может быть разное количество, в зависимости от того, сколько контроллер их нашел в шине. Возникает вопрос, как генерировать содержимое страницы с индикаторами. Сегодня датчик один, а завтра еще пять подключили. Тогда, после загрузки этой страницы, ее JS скрипт спросит у сервера, сколько у него есть датчиков и после получения ответа, создаст нужное количество элементов на странице для отображения данных. А потом уже запросит json массив с данными и заполнит ими созданные элементы. Я для упрощения часто создаю скрытый блок div с элементами для одного датчика, предназначенный тупо для копирования скриптом его innerHtml в innerHtml созданного блока. И делаю это столько раз, сколько надо. Вот и получается динамическая страница, для генерации которой не требуются силы микроконтроллера.

    • @igorm6585
      @igorm6585 Před 4 lety

      А Вы реализуете на своем сервере на микроконтроллере обработку Ajax-запросов?

    • @kardanium
      @kardanium Před 4 lety +1

      @@igorm6585 Описанный в конце пример очень похож на ajax. Просто я использую в качестве ответа JSON, а не XML. Его проще формировать программно. Например, я сделал в форме настроек wifi кнопку поиска доступных сетей. Работает так: При нажатии на кнопку, срабатывает обработчик JS, который отправляет серверу команду поиска сетей с большим таймаутом ожидания ответа. Сервер выполняет поиск и по его окончанию возвращает json со списком найденных ssid. Со стороны фронтэнда, на странице срабатывает обработчик принятых данных, где парсится этот JSON, скрывается поле ввода SSID и вместо него отображается выпадающий список найденных сетей. Страница при этом не перезагружается. Просто скрипт выполняет все необходимые действия по мере поступления событий.
      Данный механизм хорош тем, что вся нагрузка по интерактивности страницы возлагается на браузер, а не на хилый микроконтроллер, у которого 64 килобайта оперативки, два мегабайта ПЗУ и ядро с тактовой частотой в 80МГц. Генерация html страниц - это слишком сложная для него задача. Ему легче читать из ПЗУ готовые данные и отправлять клиенту. Формирование простой JSON строки тоже не так тяжело для него. XML потяжелее будет, так как там там много лишних данных, определяющих формат (data и так далее). В JSON их меньше - { } : , " [ ] и в принципе этого хватит.

  • @user-pi8nu3xu4m
    @user-pi8nu3xu4m Před 4 lety +3

    Один из крутых дядек-стмщиков на Ютубе ) вдохновляете меня на проектирование устройств на стм)

  • @ajdarseidzade688
    @ajdarseidzade688 Před 4 lety +5

    Спасибо большое за ролик. Ролик не просто великолепный, но мало того Вы настолько все в нем продумали заранее (снимать видео не так легко как может кому-то показаться), но и проставили тут, в ролике, все метки по времени, поделив ролик на части и описания, что в каждой из этих частей происходит (!). Не каждый раз такое увидишь. У меня также есть вопросы к Вам:
    1. 11:21 - это скорее не "кол-во PHY-контроллеров снаружи", а именно адрес (также как и в шине I2C скажем) подключенного внешнего контроллера. На NUCLEO-144 (не важно какое семейство т.к. вроде у всех стандартная схема на таких платах) нужно прописывать этот адрес как '0', а не '1 например';
    2. у Вас заработала 'makefsdata.exe' на 64-ти битном ПК? Если нет, то у меня есть рабочая версия - могу выложить где-то ее и у меня самого тоже 64-ти битная ОС. Возможно что-то еще настраивал у себя и если не заработает эта рабочая "exe"-шка, то посмотрю у себя и дополню как настраивал (но помню ничего такого не настраивал);
    3. на самом деле это, мне кажется, очень интересная тема (про LwIP и пр.) и будет очень интересно как отреагирует тут аудитория (интересно это или все-таки простые контроллеры как F103 и пр. интереснее);
    4. и самое главное, что хотел спросить - я конечно понимаю, что это "отвлечение" и возможно не нужная вещь и пр., но все-таки, по-моему стоит обратить и возможно неплохая вещь - недавно обнаружил, что MS выпускает бесплатно ПО и множество примеров под 'IOT' устройства для самых различных архитектур и фирм контроллеров. Это т.н. "Azure RTOS" вот некоторые ссылки: docs.microsoft.com/en-us/azure/rtos/guix/ и github.com/azure-rtos . Просто, MS недавно приобрела компанию 'Express Logic' которая выпускала свою RTOS т.н. 'ThreadX', но как проприетарное ПО. В вышеуказанных примерах теперь сама MS сделала, как мне кажется великое дело, она просто выложила их в открытый доступ. Мне кажется стоит посмотреть хотя бы что это и может оказаться гораздо полезнее это и подойдет (и может сделаете обзор на это хотя и не надеюсь :), а так даже сам хотел какой-то обзор на форуме выложить). Там примеры, правда под конкретные платы и возможно Вы не сможете их запустить т.к. нет таких плат у Вас (там для 'ST' 2 платы кажется и обе DISCOVERY), но может и сможете проверить. В этой Azure RTOS уже есть свой TCP, USB и файловая система (вплоть до exFAT), а также встроенная GUI библиотека для виджетов, а также ПО для их создания. Мне самому не очень пока что нравится LwIP (хотя наверно пока что) т.к. переусложнен по-моему излишне (скорее всего из-за универсальности) и возможно данная RTOS и ПО в этом плане получше будет, но надо изучать и смотреть (и пока так и делаю).
    Вот что хотел пока что написать Вам кратко.

    • @VladimirMedintsev
      @VladimirMedintsev  Před 4 lety +1

      Да, с PHYaddress в ролике ошибка, к сожалению ляпнул и не заметил что именно этот фрагмент ушел в финальную версию.
      С утилитой конвертером мне повезло и моя версия запускается, но это был долгий процесс поиска в гугле, но в итоге мне больше нравится использовать скрипт на перле.
      3. Про azure я слышал, но у меня есть некоторое предубеждение против продуктов microsoft. Но я посмотрю обязательно.

    • @VladimirMedintsev
      @VladimirMedintsev  Před 4 lety +1

      А вообще огромное Вам спасибо за поддержку и всегда интересные комментарии. Мне очень нравится общаться с людьми и это очень часто приносит новую и крайне интересную информацию.

    • @porvutin464
      @porvutin464 Před 4 lety

      3. Интересует больше, чем малые контроллеры. Спасибо за ссылку.

  • @user-ey4qp4mq4q
    @user-ey4qp4mq4q Před 4 lety +2

    Класс! Спасибо! То что нужно! 👍

  • @user-ww6gh6mm7n
    @user-ww6gh6mm7n Před 4 lety +2

    Спасибо, долго ждал эту тему

  • @aynutdinov
    @aynutdinov Před 4 lety +1

    Как раз интересовался данной темой) Спасибо.

  • @user-fe8tp5jx7y
    @user-fe8tp5jx7y Před 4 lety +1

    Есть весьма годные модули преобразователей интерфейсов c Cortex-ядрами на борту, кроме одного: USR-K6 (Eth-TTL), USR-K7 (Eth-TTL), USR-ES1 (Eth-SPI, кстати на чипе W5500), USR-E2 etc. Были ещё USR-K2 и USR-K3, но в продаже найти не получается. Производится это всё китайской конторой USR IOT. Мы на работе используем USR-K3 для производства приборов внутреннего пользования.

  • @user-hs7jm3nc2e
    @user-hs7jm3nc2e Před 3 lety

    О! Как же долго я искал что-то подобное. Спасибо огромное очень позновательно!

  • @kalobyte
    @kalobyte Před 4 lety +3

    сейчас правильней делать страницу + яваскрипт и всю обработку на клиенте, потом хтмл жс и цсс паковать в фс, чтобы оно загрузилось один раз из памяти контроллера
    а обен данными идет через джейсона с минимальной нагрузкой на контроллер и расходом озу
    это касается контроллеров и серверов
    ну и упрощает разработку, потому что жс можно отлаживать в браузере и не заливать каждый раз в контроллер
    кстати еще было бы полезным показать, как передавать данные без ип адресов, только через мак
    я все хочу сделать сетевые релешки для моего серверного шкафа и чтобы адрес не выдавать, т.к. все это будет в одном свитче сидеть и смысла нет напрягать контроллер в 8 бит
    но я использую ардуину и что-то там в ихних библиотеках есть функция для работы с л2 только для мелкасхемы в5500
    библиотеки ардуиновские сделаны так, что проще байты гонять через удп и заодно запилить ssdp сервер, чтобы виндовс находил устройство автоматом

  • @FILEAHOLIC
    @FILEAHOLIC Před 4 lety +3

    Следовало обратить внимание, что ENC28J60 поддерживает подключение только по 10Мб/с. 😖

  • @user-ji2sb4tg4t
    @user-ji2sb4tg4t Před 4 lety +7

    PHY_Address - это не количество интерфейсов, а адрес физики. Детальней в даташите.

  • @user-ds2uk9vi1k
    @user-ds2uk9vi1k Před 4 lety +1

    Владимир, спасибо! Вы прекрасно излагаете теорию, но уж очень не хватает простых практических примеров в конце, особенно когда нужно решить какую-нибудь конкретную задачу и начинаешь рыскать по интернету в поисках ответа на вопрос. В качестве примера что-нибудь совсем рутинное, принять/передать переменную, общение двух МК по локальной (и не только) сети.. Или, например для многих очень популярно сейчас подключение к mqtt брокеру, в домашней автоматизации этот протокол сейчас очень популярен. Но это уже сложное, состоящее из простого, и можно самостоятельно додуматься со временем)

    • @VladimirMedintsev
      @VladimirMedintsev  Před 4 lety +2

      До многих вещей необходимо доходить своим умом. Это своего рода тест на профессиональную пригодность. Необходимый минимум есть в каждом видео и демонстрация работы тоже.

    • @user-ds2uk9vi1k
      @user-ds2uk9vi1k Před 4 lety +1

      @@VladimirMedintsev согласен, думать никто не отменял, даже если ты профессионал из другой области. В любом случае спасибо Вам.

  • @Romychs
    @Romychs Před 4 lety +2

    Хорошая тема. Интересно продолжение про w5500, не всегда же в распоряжении жирный F4 или F7.

    • @VladimirMedintsev
      @VladimirMedintsev  Před 4 lety +3

      О, нет, совсем не жирный. Интерфейс Ethernet доступен и в контроллерах попроще. Например, STM32F107 и STM32F207, 217.

    • @Romychs
      @Romychs Před 4 lety

      @@VladimirMedintsev У меня есть F207, можно будет попробовать. Я имел в виду не только сам интерфейс, а тот, что полный стек TCP/IP, ещё и по памяти требовательный. Как там с этим?

    • @VladimirMedintsev
      @VladimirMedintsev  Před 4 lety +2

      Ну библиотека для W5500 хоть и гораздо компактнее, но в любом случае буфера на пакет всем нужны. Да будет еще видео по ней. Просто лето, и искупаться охота и заказчиков много, не дают расслабиться.

  • @bul2012
    @bul2012 Před 4 lety +2

    Однако годнота! Не рассматривали вопрос подключения микросхем/модулей беспроводной связи (wifi), вместо той же lan8720? Сам этот вопрос не изучал, решил сразу у вас спросить.

    • @VladimirMedintsev
      @VladimirMedintsev  Před 4 lety +2

      Wi-Fi не всегда уместен. С его подключением и использованием сложностей нет, но это не всегда уместно, а иногда, как в случае с промавтоматикой и вовсе запрещено.

  • @SlavicTechnologies
    @SlavicTechnologies Před 3 lety +1

    Интересно. Обязательно попробую. Правда, я совершенно забыл сетевые технологии

  • @VAscetic
    @VAscetic Před 3 lety

    Гыыг.. жалко я поздно наткнулся на Ваш канал :) Нужен был Ethernet и не найдя толковой инструкции (хотя может плохо искал), поднял его от регистров контроллера. Всё написал ручками, хотя выясняется, что можно было этим и не заниматься :)

  • @Avtovet
    @Avtovet Před 4 lety +2

    Спасибо!!!

  • @woy_woy6602
    @woy_woy6602 Před 4 lety +2

    Добрый день! Вопрос не по видео. Используете ли вы git? Если да, то было бы интересно узнать как вы его используете в связки git + cubeIDE, например. Если нет, то почему нет? Спасибо заранее )

    • @VladimirMedintsev
      @VladimirMedintsev  Před 4 lety +4

      Мы командой делаем коммерческие проекты. Сели, сделали, отдали. В них какое-то управление версиями является излишним. Версия одна - та за которую заплатил заказчик. После завершения и передачи заказа заказчику мы архивируем проект и удаляем его с компьютеров. Если это свои и долговременные проекты то у нас у каждого свои облака и есть механизмы межоблачной синхронизации.
      На самом деле мне часто задают вопросы про гит, это хорошая технология когда разработчиков больше чем много, но это не единственный способ контроля версий и управления проектом.

    • @woy_woy6602
      @woy_woy6602 Před 4 lety

      @@VladimirMedintsev спасибо за ответ

  • @SovMan
    @SovMan Před 3 lety

    Спасибо, Друг!

  • @zateeman
    @zateeman Před 4 lety +4

    Спасибо за полезный материал, планируется ли выпуск подобного ролика по разбору W5500?
    Было бы интересно узнать, с какой стороны подступаться к сложным микросхемам.

    • @VladimirMedintsev
      @VladimirMedintsev  Před 4 lety +2

      Скорее всего будет такое видео. Просто сейчас лето, время больше отдыхать.

  • @VAscetic
    @VAscetic Před 3 lety

    18:09 если пакет больше 2кБ, то он не влезает в FIFO буфер MAC контроллера, отсюда ещё вытекает необходимость вычисления контрольных сумм ядром, в то время как у пакетов до 2кБ могут MAC может проверять CRC автоматически...

  • @chukgek2371
    @chukgek2371 Před 4 lety +2

    Интересно рассказываете, хорошее пособие для начинающих (и не только). В одном проекте использовал LAN8720 - на мелких пакетах работает хорошо, однако, если загрузить пакетами по мегабайту - подвисает физика, требуя ресета. Такой же эффект и на других демоплатах (от того же мастеркит, к примеру). Немного сглаживают ошибки последовательные резисторы в РМ2 интерфейсе, но не до конца.
    Решение на RTL8201 на М2 - надёжное, как автомат Калашникова. Ни одной запинки. Так, просто как совет.
    Вопрос - нашли ли доступный по цене разъём со встроенным трансформатором?

    • @VladimirMedintsev
      @VladimirMedintsev  Před 4 lety

      Спасибо, буду думать.

    • @t966rt
      @t966rt Před 3 lety

      Использую его в двух серийных платах, проблем нет. На максимальных нагрузках, стресс-тест сутками на пролет в "печках и морозилках". Прибором МАКС-ЕМ. В различных режимах, рандомный размер пакетов, рост размера и т.п.
      Хотел уточнить что значит "...однако, если загрузить пакетами по мегабайту..."? Какой пакет имеется ввиду?

    • @chukgek2371
      @chukgek2371 Před 3 lety

      @@t966rt Имелось ввиду постоянная передача данных, к примеру, экранный скрин-шот.
      (Сжатие в jpeg на 429 экрана 800*480 - почти секунда, поэтому решил просто bmp c rle упаковкой).
      Интересен дизайн платы и настройки интерфейса - возможно, в погоне за максимальной скоростью что-то где-то "перекрутил"...

    • @t966rt
      @t966rt Před 3 lety

      @@chukgek2371 Приветствую! Процессор stm32f407ve, кварц для него 25MHz, на LAN8720 кварца нет, тактируется частотой 25MHz с процессора. Плата 2-ух слойная.
      Если интересно могу показать схему включения и разводку, там все просто.
      Изначально пользовался самописным стеком TCP/IP, т.к. многократно проект перетаскивался с других процессоров.
      Сейчас пользую библиотеку CycloneTCP, инициализация их же, работает "из коробки".

    • @chukgek2371
      @chukgek2371 Před 3 lety

      @@t966rt благодарю за ответ, возможно, именно в библиотеке ТСР стека и таится глюк. В схемотехнике используете последовательно резисторы? Один и тот же мой проект глючил как на моей, так и на 4-х слойке КИТа (их демопроект был "основой")

  • @CoolAliexpress
    @CoolAliexpress Před 3 lety +1

    Здравствуйте,спасибо за урок. А как узнать IP адрес своей платы на 12:30?

  • @oleksiimarchenko5334
    @oleksiimarchenko5334 Před 3 lety

    Владимир, а можете подсказать, по поводу буфера под пакеты, где конкретно необходимо внести изменения для его увеличения?

  • @malkin_laboratory4692
    @malkin_laboratory4692 Před 2 lety

    В своё время подключал к пикам ENC28j60) А в stm'ах аппаратный ethernet используется или всегда проще через внешние микросхемы?

  • @SaihoS1
    @SaihoS1 Před 4 lety

    Спасибо за интересную тему. Возврат к Кейлу временный или Cube IDE разочаровал?

    • @VladimirMedintsev
      @VladimirMedintsev  Před 4 lety +1

      Я всегда говорил, что для роликов на ютубе останется кейл. Куб на текущий момент используется для большей части коммерческих проектов. Ну скажем так 60-70%.

  • @Snayper44
    @Snayper44 Před 4 lety +2

    CubeIDE не пошёл? Давно на канале не был

    • @VladimirMedintsev
      @VladimirMedintsev  Před 4 lety +2

      Я как бы всегда говорил, что для роликов останется Keil.

  • @user-ex4lr5kl9h
    @user-ex4lr5kl9h Před 26 dny

    Тоже, ничего не получилось. Очень поверхностное изложение материала! Временами, не понятно, что откуда берется. После пинга, можно было сделать функцию "эхо". А файлы со страницами сервера можно было выложить отдельно, что бы, публика могла скачать их и повторить. Бьюсь третий день,- и всё никак!

  • @rmatveev
    @rmatveev Před 3 lety

    Владимир, правильно ли я понимаю, что хардверная поддержка Ethernet микроконтроллером нужна только при использовании микросхемы LAN8720?
    В случае с ENC28K60 и W5500 общение по сети происходит через обычный SPI?

  • @eamonhannon1103
    @eamonhannon1103 Před 3 lety +1

    Can add subtitles to this video ? Very interesting by my Russian is non existent .

  • @nikotinesmola
    @nikotinesmola Před rokem +1

    А в качестве чего выступает внешняя микросхема? Разве нельзя сразу напрямую подключать МК к Ethernet разъему (включая согласующий трансформатор обвязку)?

    • @VladimirMedintsev
      @VladimirMedintsev  Před rokem +3

      Можно и напрямую подключить, можно и через трансформатор, но работать не будет.

    • @nikotinesmola
      @nikotinesmola Před rokem

      @@VladimirMedintsev а почему не будет? Или хотя бы наведите на информацию пожалуйста.

    • @VladimirMedintsev
      @VladimirMedintsev  Před rokem +1

      @@nikotinesmola Потому, что в STM32 не реализован физический уровень. Смотреть в модель OSI. На самом деле в двух роликах под одним из которых вы и пишете модель OSI прекрасно показана.

    • @nikotinesmola
      @nikotinesmola Před rokem

      @@VladimirMedintsev спасибо, тогда буду думать.

    • @anatoliyv5607
      @anatoliyv5607 Před rokem

      @@nikotinesmola модуляция там специальная

  • @frankenstein8512
    @frankenstein8512 Před rokem

    Настроил все как по примеру. Проц f476. Собрал, запустил. Почему то на пинг нет ответа. Может ли это быть связано с тем что у меня провод из двух пар состоит?
    Чип ethernet'a LAN8710AI

  • @user-yg9jv9nt4r
    @user-yg9jv9nt4r Před 4 lety

    Спасибо огромное за ролик! Не могу разобраться, почему ip не пингуется( У вас случайно нету схемы подключения lan8720 к stm32? Я был бы очень благодарен!

    • @VladimirMedintsev
      @VladimirMedintsev  Před 4 lety

      В CubeMx открыть выбранный вами микроконтроллер и активировать Eth интерфейс. Выбрать RMII. Схема перед вами...

  • @MrStaska
    @MrStaska Před 2 lety

    А как по Вашему, сделать на STM32 конвертер AES67 to I2S реально?

  • @user-ey4qp4mq4q
    @user-ey4qp4mq4q Před 4 lety

    Добрый день, Владимир. Подскажите, пожалуйста, где найти информацию по lwip. Все что мне удолось найти это um1713 на 40 страниц, в котором толком ничего нет. Хотелось бы что-то на уровне um1725 (мануал по hal and ll), чтобы так же подробно все было описано.

    • @VladimirMedintsev
      @VladimirMedintsev  Před 4 lety

      А комментарии в теле самой библиотеки и документация на официальном сайте проекта вас чем конкретно не устраивает?

    • @user-ey4qp4mq4q
      @user-ey4qp4mq4q Před 4 lety +1

      @@VladimirMedintsev , спасибо за ответ. Посмотрел на офицальном сайте действительно все хорошо описано. По поводу комментариев в теле самой библиотеки - мне комфортнее изучать по документации (оформление, шрифт более приятные для глаз, удобная навигация и т.п.)

  • @user-vj8zl9pg4k
    @user-vj8zl9pg4k Před 4 lety

    Здравствуйте! Хочу использовать данную микросхему в своём проекте. На схеме на 6 ноге микросхемы есть жёлтый круг
    . Не подскажите что он обозначает. И ещё если не сложно как правильно организовать питание. Там несколько вариантов и не пойму что откуда берётся. Прошу сильно тапками не кидать, я ещё только начал познавать сетевые технологии.

    • @VladimirMedintsev
      @VladimirMedintsev  Před 4 lety

      Желтый кружок обозначает - test point.
      Если вы действительно хотите разобраться то прочитайте datasheet там все написано. Поверьте, это лучший способ. А потом, если вопросы останутся, добро пожаловать.

    • @user-vj8zl9pg4k
      @user-vj8zl9pg4k Před 4 lety +1

      @@VladimirMedintsevСпасибо. Сейчас же этим и займусь:)

  • @ibrag2012
    @ibrag2012 Před 4 lety +1

    Була проблема: підключити датчик руху до промислової мережі, якби тоді знав за ці модулі проблему вирішив легко а тоді просто поставили IP-камеру, дякую! Гідний огляд.

  • @alexmorozov2988
    @alexmorozov2988 Před 4 lety

    Здравствуйте. Есть устройство на STM32F103vet6. Менюшка только на английском и китайском.
    Перевод меню на русский есть. Насколько проблемно заменить один из языков на русский?
    Если реально, сколько будет стоить? хотя бы от.. до...

    • @VladimirMedintsev
      @VladimirMedintsev  Před 4 lety

      Зависит от нескольких факторов, закрыт ли в микроконтроллере доступ к интерфейсу отладки. Если закрыт, то операция не возможна.
      Вторая проблема это в поддержке экраном устройства русских шрифтов. Есть она или нет, никто не знает и выяснять надо уже по факту.
      Ну и третья проблема это время на все эти движения. Так, что ради одного устройства смысла нет вообще.

    • @alexmorozov2988
      @alexmorozov2988 Před 4 lety

      @@VladimirMedintsev Дисплей тачскрин, то бишь скорей всего все рисуется все попиксельно.
      В устройсте есть возможность обновлять прошивку. Но сделать бэкап опции нет.
      не знаю насколько поможет эта информация, ну, что есть)))
      В похожих устройствах где была возможность сделать бакап я его прям в блокноте открывал и английский текст и все другие языки на латинице я видел. Что бы увидеть русский наверно нужно было в другом редакторе открывать так как кирилица наверно двумя байтами кодируется.

  • @BarVados
    @BarVados Před 3 lety

    Подскажите из-за чего нет возможности в cubeide выбрать ethernet и lwIp? этих галочек просто нет... Плата nucleo-32 stm32L432

    • @VladimirMedintsev
      @VladimirMedintsev  Před 3 lety +1

      А разве у этого чипа есть Ethernet???

    • @BarVados
      @BarVados Před 3 lety

      @@VladimirMedintsev я представлял себе так, что если я подключу ethernet-модуль, то будет...

    • @shadurskysergey
      @shadurskysergey Před rokem

      @@VladimirMedintsev правильнее наверное будет - А разве у этих чипов есть RMII???

  • @user-zv2bg6fu5h
    @user-zv2bg6fu5h Před 4 lety

    Справедливости ради компания WIZnet - корейская, в видео назвали китайской.

    • @VladimirMedintsev
      @VladimirMedintsev  Před 4 lety

      Кирилл, а разве на отметке времени (04:32) czcams.com/video/PTDoDJadyi0/video.html говорится не это же самое?????

  • @quantrieu4157
    @quantrieu4157 Před rokem +1

    пинг ответил только в режиме дебаг :(

    • @user-cz9ws6th6f
      @user-cz9ws6th6f Před 6 měsíci +1

      та же проблема, в дебаге пингуется, после ресета - нет

  • @user-sf5vo2pe3n
    @user-sf5vo2pe3n Před 3 lety

    Подскажите есть у вас видео или может создадите , как можно проверить изернет Т.Е, к кампьютеру подсоединяется электронный блок через изернет, как определить неисправность и настройки изернет
    Спасибо

    • @VladimirMedintsev
      @VladimirMedintsev  Před 3 lety

      Простите, я не понял вопроса.

    • @user-sf5vo2pe3n
      @user-sf5vo2pe3n Před 3 lety

      @@VladimirMedintsev Добрый вечер, с рождеством, может сможете мне подсказать- есть электронная стойка (блок) он подключается к компьютеру через порт Ethernet , для настроеек пораметров блока. На данный момент нет подключения , не устанавливается связь. Как можно проверить исправна ли сетевая карта, исправлен ли порт в блоке. Может у вас уже есть видео на эту тему или вы собираетесь снимать
      Спасибо за ваш ответ
      спасибо за ваш труд и видео, за ваш канал.

    • @VladimirMedintsev
      @VladimirMedintsev  Před 3 lety

      @@user-sf5vo2pe3n Возле разъема ethernet обычно располагаются два светодиода. Один горит при наличии физического интерфейса, второй при наличии сетевой активности. По ним можно с определенной долей вероятности судить о работоспособности железа. Если индикация в норме, то дальше проверять настройки IP адреса, маски подсети и шлюза по умолчанию, а также адреса DHCP и DNS серверов если они используются. Если же индикация отсутствует то проверить порт и пачкорд.

    • @user-sf5vo2pe3n
      @user-sf5vo2pe3n Před 3 lety

      @@VladimirMedintsev Спасибо!

  • @user-ou1eo7bf9z
    @user-ou1eo7bf9z Před 2 lety

    При подключении библиотеки LWIP размер кода, который генерит Keil получается больше 32 кБ. Бесплатная версия Keil не работает в этом случае. У автора расширенная?

  • @porvutin464
    @porvutin464 Před 4 lety

    Сама винда нарежет пакет согласно своему MTU

    • @VladimirMedintsev
      @VladimirMedintsev  Před 4 lety

      А это тут при чем? Даже если нарежет и в сети пойдет фрагментированный пакет, на узле - получателе его надо собрать, а буфера под это нет.... Пакет ведь надо не только физически получить, надо его разбирать от уровня к уровню.

    • @porvutin464
      @porvutin464 Před 4 lety

      @@VladimirMedintsev Совершенно верно. Я без претензий. Только в качестве уточнения, дополнения и объяснения того, почему в буфер 2048 не влезла посылка 2048.

    • @porvutin464
      @porvutin464 Před 4 lety

      @@VladimirMedintsev И, кстати, канал хороший.

  • @alexandera.s.9763
    @alexandera.s.9763 Před 4 lety

    ае, здравствуйте господа stm программисты... Помогите разобраться. В течении двух месяцев пытаюсь запустить ethernet на stm 32.
    по порядку:
    1) пытаюсь запустить простейший пример, который реализовывает ping. использую камень h473zi nucleo физика lan 8742.
    все описываю по документации, перекинул область памяти в нужный участок, увеличил стэк кучу, подключаю ethernet lwip, добавляю в main структуру gnetif, в цикле прописываю все как показано в видео и ничего. При пинге я вижу запросы от компа, но ответов от платы не вижу.
    2)Ладно подумал я что возможно плата неисправна. Закупил камень f407vg disco1, и физику waveshare 8720, все конфигурирую в кубе как в этом видео, прописываю в main все тоже самое, и ничего, ответов так же нет... в wireshark ничего нет... в дебаге адресс в структуре есть, маска и тд..
    помогите разобраться, потратил очень много времени, хочу уже чтобы наконец-то заработало.

    • @alexandera.s.9763
      @alexandera.s.9763 Před 4 lety

      плата подключена к компу через, свитч(глупый), свитч подключен к роутеру.. экспериментировал, со динамическим получением адреса, начинаю видеть в wireshark от устройства какие-то dhcp пакеты(на этом все получить их в контроллере не могу, а следовательно адрес мой остается нулевым, да и dhcp мне не нужен, хочется статическую адресацию использовать)... Дома примерно такая же топология, пробовал подключать напрямую к компу, на разные ос (win, lin, mac) тоже ничего.
      С платой nucleo идет пример, hhtp сервер, реализован он там с использованием freertos, и работает он только с динамической адресацией, при изменении кода, и присвоению в структуре gnetif ip,mac, и шлюза, пример работать прекращает, в дебагере все выставляется, код выполняется соответственно.

    • @alexandera.s.9763
      @alexandera.s.9763 Před 4 lety

      link есть тоесть я могу проверить подключен ли я к сети, но при всем при этом, получается физику то микроконтроллер видит, но пропинговать плату не получается, не понимаю в чем может быть проблема... куда копать, не ужели никто не сталкивался с подобной проблемой.
      В документации написано перенаправить область памяти в оперативке в нужный адресс(сделал), настроить MPU(сделал), кароч все сделал как в документации написано но не фига не работает(это на h7), на ф4 тоже не работает...

  • @user-eq8tk4bm4n
    @user-eq8tk4bm4n Před 4 lety +1

    Сейчас создать webserver чтоб внутри локалки светодиодом мигать уже большого ума не надо. Если по чесноку это не актуально.

    • @VladimirMedintsev
      @VladimirMedintsev  Před 4 lety +5

      А что по вашему актуально? Ну вот просто интересно?

    • @MyHHuk
      @MyHHuk Před 4 lety +2

      Тебе не актуально, не смотри, а мне например актуально. Дядька толково всё объясняет, таких мало. Так что не надо своими комментами отбивать у автора желание продолжать делать хорошие сюжеты.

    • @user-yg9jv9nt4r
      @user-yg9jv9nt4r Před 4 lety +1

      Для меня только это сейчас и актуально. Я сам не понимаю как настроить(

    • @user-eq8tk4bm4n
      @user-eq8tk4bm4n Před 4 lety

      @@user-yg9jv9nt4r MyHHuk Vladimir Medintsev Например MQTT прикрутить. А лучше учите ЦОС потом скажите совет был дельный. Желание у автора я не отбиваю, а направить могу.