Хочу освоить ethernet в стм32, подскажите путь по вашему опыту. Примерно понял что сайтик не смогу хранить во внутренней флэш и потому нужна внешняя флэш типа микросд.
Какие модули удобны кроме микрочипа ?
STM32 и ethernet
Сообщений 1 страница 28 из 28
Поделиться12019-05-20 18:39:12
Поделиться22019-05-20 19:46:21
Хочу освоить ethernet в стм32
А хочет ли STMicroelectronics, чтобы ты освоил ethernet в stm32 ?
Судя по тому, что они сделали для того, чтоб в этом помочь, то мне кажется, что не хочет )
Поделиться32019-05-21 03:14:14
попробуем,попытка не пытка . Правда нужно переходит на 4хх серию,а это время которого нет
Как то странно у них сделано,интерфейс не законченный,надо дополнительно физику LAN8742A . На микрочипе там проще сетевой штекер и все напрямую...
Как вариант это Wiznet W5500 Ссылка Ссылка
Тему буду дополнять по ходу изучения.
Поделиться42019-05-21 08:06:03
Как вариант это Wiznet W5500
Разные варианты могут быть, смотря для чего
Но stm32 только если хочется трудностей )
Поделиться52019-05-21 08:58:55
Но stm32 только если хочется трудностей )
Не только. СТМ - если так же хочется контроля того, что творится в TCP/IP стеке. Wiznet и Ко. имеют свои встроенные TCP/IP стеки, зачастую со своими ВебМордами для настройки самих себя, на некоторых таких модулях нет возможности эти вебморды отключить. Для пользователя, что работает с этими подулями по последовательным интерфейсам, как правило доступно один - два порта наружу.
В случае вашего собственного TCP/IP стека вам доступны все 65535 портов одновременно. Можно прикомипилировать те или иные "слои" стека то как ARP, IP, TCP, ICMP и т.д.
В общем все зависит от уровня вашей паранойи.
И, кстати, в F4xx вполне себе влазит сайтик небольшой (это помимо основного функционала), и даже с некоторым набором JavaScript-ов, в пределах, в меру сложный. (мы так свои железки настраиваем, там 4е страницы с динамическим наполнением).
Поделиться62019-05-21 09:14:05
В случае вашего собственного TCP/IP стека вам доступны все 65535 портов одновременно. Можно прикомипилировать те или иные "слои" стека то как ARP, IP, TCP, ICMP и т.д.
В общем все зависит от уровня вашей паранойи.И, кстати, в F4xx вполне себе влазит сайтик небольшой (это помимо основного функционала), и даже с некоторым набором JavaScript-ов, в пределах, в меру сложный. (мы так свои железки настраиваем, там 4е страницы с динамическим наполнением).
хорошо надо поискать платку в китае F4xx с ethernet портом по цене не бешеной.
Нету не дорогих плат в китае с ethernet портом,да и нафига мне куча портов ? 80 порт вот сайт в памяти простенький без графики.
Поделиться72019-05-21 10:19:14
хорошо надо поискать платку в китае F4xx с ethernet портом по цене не бешеной.
Ну можно поискать и просто DP83848
Но, допустим, вот у тебя уже есть stm32 с mac и есть phy, что дальше ? )
Поделиться82019-05-21 10:28:36
Да нафиг мучиться с подъемом ethernet на STM32, если за 1000 рублей можно взять нормальную "апельсинку" с человеческим линуксом на борту? Там и будет вся вебня... А микроконтроллер присобачить по UART/I2C/SPI и рилтаймовые/ногодрыгательные задачи им решать.
Я даже не представляю себе, во сколько времени выльется портирование libwebsockets на STM32!!! А под линуксом — бери, да пользуйся! И получается аккуратная веб-морда с честным асинхронным соединением с МК.
Поделиться92019-05-21 13:21:40
phy, что дальше ?
Дальше ищешь подходящий стек.
Из бесплатного - вроде как LwIp более менее допиленный, но в нем там веб сервер жутко вплетен. Хрен отделишь. Так же как и свои сокеты сложно добавить.
Ну то было лет 5 назад. Сейчас мож они чего там и исправили в этом плане. Из дорогих - мы пользуем Segger'овский стек. Очень хорошо работает. Единственная в нем проблема - он работает как отдельная задача РТОСи. Для SuperLoop там надо одну функцию пополам "резать", что я уже делал.
Все это "женишь" со своими драйверами ETH модуля чипа...
И, собственно, все.
Поделиться102019-05-21 13:26:39
Да нафиг мучиться с подъемом ethernet на STM32, если за 1000 рублей можно взять нормальную "апельсинку" с человеческим линуксом на борту? Там и будет вся вебня... А микроконтроллер присобачить по UART/I2C/SPI и рилтаймовые/ногодрыгательные задачи им решать.
Я даже не представляю себе, во сколько времени выльется портирование libwebsockets на STM32!!! А под линуксом — бери, да пользуйся! И получается аккуратная веб-морда с честным асинхронным соединением с МК.
Ну тут все зависит от многих параметров, как то - время старта - 1 секунда против 1-2х минут (Распи 3Б+ стартует за 50 секунд у меня), потребления железки - (Распи 3Б+ жрет 1.2 А (5 Вольт) на 90% загрузки у меня. Распи Зеро, вроде как около 500 мА было). Ну и потом - надо еще рабираться с линуксом и его средой разработки, если ранее не делал этого
И потом - будет два проекта, один для распи, один для микроконтроллера, вместо одного для только микроконтроллера...
Ну и прочих минусов там можно наскрести еще тележку.
Для СТМ ничего портировать не надо - все уже спортированно и "поднимается" на раз. LwIP с или без FreeRTOS прекрасно работают. И примеров в сети валом.
Отредактировано MasterAlexei (2019-05-21 13:29:23)
Поделиться112019-05-21 13:42:05
да и нафига мне куча портов ? 80 порт вот сайт в памяти простенький без графики.
Кстати - на одном из модулей, как раз таки 80й порт самим модулем занят (сейчас не скажу какой именно модуль), Отключался в настройках на веб морде того же модуля.
А нахрена много портов? Ну для примера - наша железка по 80-му порту настраивается, с миром общается по MODBUS 502-му, по 1024-му - апдейтится, по 1025-му - статус апдейта.
Ну это я для себя делал для моего удобства, но как-то оно так и пошло в "мир"
Поделиться122019-05-21 13:54:38
Ну и потом - надо еще рабираться с линуксом и его средой разработки
А не был бы ты геймером, такой "проблемы" бы не возникло!
И потом - будет два проекта, один для распи, один для микроконтроллера, вместо одного для только микроконтроллера...
Не два. Пот ПК надо будет а) написать демона вебсокетов, б) веб-морду. Это — разные вещи, т.к. первое пишется на нормальных сях, а второе на жабоскрипте с хытымлем. Можно, конечно, интегрировать веб-морду с демоном, но это муторно и противоречит философии UNIX. Каждый демон должен хорошо делать свою задачу и не лезть в чужие дела! Вот пусть nginx вебней занимается, а сишный демон стыкует вебсокеты и железяку.
Для СТМ ничего портировать не надо - все уже спортированно и "поднимается" на раз. LwIP с или без FreeRTOS прекрасно работают. И примеров в сети валом.
Обычно примеры на SPL/калокубе/еще каком говне — их ценность ниже плинтуса! Ну и/или ртось туда суют, которая тоже нафиг не сплющилась!
Поделиться132019-05-21 14:13:47
А не был бы ты геймером, такой "проблемы" бы не возникло!
Попрошу не обзываться
И .. реальней на вещи поглядите.
Не я определяю проблематичность, а клиенты, что деньги платят. Они хотят все "еще вчера", и чтоб у них работало, и у их клиентов, которые, в свою очередь им деньги дают.
И хочу заметить, тут речь идет не о просто деньгах, а о Деньгах с 6-тью нулями.
И они, эти клиенты, как то не очень будут слушать вас и ваши доводы про ваш линукс, если у них стоит 10-ка. Одно заикание про линукс и пару месяцев на настройку всего и вся у них на их "святых" компах, и вы в пролете, можете дальше клепать свои термометры.
Как то так.
Отредактировано MasterAlexei (2019-05-21 14:14:22)
Поделиться142019-05-21 16:02:56
Да насрать мне на вантузоидов с высокой колокольни! Как и вообще на проприетастов в целом!!!
Поделиться152019-05-21 16:07:26
Для СТМ ничего портировать не надо - все уже спортированно и "поднимается" на раз. LwIP с или без FreeRTOS прекрасно работают. И примеров в сети валом.
Теоретически )
Ну, и примеры, по-хорошему, не в сети должны быть, а в firmware вендора
Поделиться162019-05-21 17:53:05
Да насрать мне на вантузоидов с высокой колокольни! Как и вообще на проприетастов в целом!!!
Ну.... тут либо вы всех учите как надо (по вашему, заметьте), а вас посылают лесом, так как остальные не разделяют ваше мнение, ну или банят на всяких форумах, либо вы все же делаете что то полезное с использованием последних технологий (это не про винду, а про железо, для которого разработки все ведутся почему то под винду)
Ну как-то так.
Вам решать, конечно же.
Отредактировано MasterAlexei (2019-05-21 17:56:04)
Поделиться172019-05-21 18:05:43
Теоретически
Ну у меня, вроде как, и практически тоже подтвердилось в свое время. И даже на своей плате. Причем с модулями WLAN, которые по RMII (один) и MII(второй) подключались к процу. А так же с PHY и обычным LAN по MII. Все работает. (один из: http://masteralexei.fun-electronic.net/ … ure_Logger ).
Поделиться182019-05-21 18:06:26
Начнем с w5500 там посмотрем.
Поделиться192019-05-21 19:14:01
Ну у меня, вроде как, и практически тоже подтвердилось в свое время.
MasterAlexei, да я не сомневаюсь, что это возможно и тоже могу рассказать истории успеха
Вопрос в том, что конкретно делать CERGEI [или кому другому] с stm32
Пробовать создавать с нуля проект в сubemx с ethernet, lwip и freertos ?
Гуглить "stm32 ethernet lwip freertos" ?
Поделиться202019-05-21 19:48:25
Вопрос в том, что конкретно делать CERGEI [или кому другому] с stm32
Пробовать создавать с нуля проект в сubemx с ethernet, lwip и freertos ?
Гуглить "stm32 ethernet lwip freertos" ?
Само собой. Гуглить, искать, читать. А как же еще то узнать?
Если еще нет схемы и платы - погуглить схемы девборд, на которых этот элемент уже распаян, загуглить даташитки к чипам и смотреть в них типовое подключение, какие пины, как сединяются, зачем они так соединяются. (Просто мне было интересно плату самому сделать, я так и искал)
Глядеть исходники тех, кто уже такое заводил, и смотреть, как они сделали, какие грабли и т.д. Многие и много уже понаписали, еще раз писать смысла нет особого.
Куб можно конечно использовать, но только как напопробовать, что плата все же живая, да и то не факт, что он это покажет. Скорее можно просто как референс взять за пример, что там надо настраивать, и переделать по своему.
FreeRTOS не совсем обязательно, если с ним нет опыта работы.
LwIP и без осей работает, на сколько я помню. Но лучше с осью. Если с FreeRTOS уже что то делали и оно работало нормально - тогда лучше с ним.
Поделиться212019-05-21 20:08:23
Вот про это вот всё я и говорю - теоретически
А практически ST оставляет пользователя один на один с проблемой
И пользователь либо должен стать хакером, либо плюнуть на ST и выбрать вендора с нормальной техподдержкой
Поделиться222019-05-21 20:43:24
Вот про это вот всё я и говорю - теоретически
Хмм. Теория, теория. Кому нафиг она здалась. Давай нам, панимаишь сразу практику, да такую чтоб сразу ух.... чтоб сразу всех догнать и перегнать нафиг...
Ну ну.
Не поняв теории, больновато будет сразу шишки то на лоб отхватывать.
А как познавать теорию? Видимо чтением толстых мануалов. И у производителя их ну просто валом завались. Так же как и примеров.
Я даже не знаю, что вам еще посоветовать. Могу предложить алфавит. С его помощью читать можно научиться. Еще вот гугль есть. Ищет просто прекрассно. Если не нравится, что история поиска сохраняется, могу предложить дук дук го. Я прям даже потерялся в догадках.
Добавлю тут мыслю...
Не поняв, как оно работает в теории, никакие готовые примеры, или рабочие программы вам не помогут, если произойдет какой то затык, типа того, что именно на вашей плате вдруг что то по другому запаянно (а затык произойдет, 99% что произойдет).
А поняв теорию, уже не так важна поддержка производителя - из готовых примеров можно состряпать на коленке свое что-то, что можно под свои стандарты причесать.
И, скорее всего, именно по этой вот причине я не часто выкладываю в широкий доступ именно исходники свои и схемы. Все в основном только в теории. Только так из начинающих получаются профессионалы. А иначе - это только потребители.
Ну эт мое мнение. Ему можно не следовать.
Отредактировано MasterAlexei (2019-05-21 20:49:55)
Поделиться232019-05-21 21:13:40
Я даже не знаю, что вам еще посоветовать. Могу предложить алфавит. С его помощью читать можно научиться. Еще вот гугль есть. Ищет просто прекрассно. Если не нравится, что история поиска сохраняется, могу предложить дук дук го.
Так я вроде не просил ни советов, ни предложений, или это обобщённое "вам", в смысле "вам всем" ? )
И сам ничего не предлагал пока не выяснится для чего
Но кого-то сразу понесло в hi-end с 65535 портами
В hi-end кроме ST есть, как минимум, NXP и TI, с теми же кортексами, но с техподдержкой не из гугла
А в low-end вообще другие игроки и другие правила
Поделиться242019-05-22 10:00:05
Но кого-то сразу понесло в hi-end с 65535 портами
вообще то это не HiEnd. Количество портов указал просто для примера, что они вам доступны. А так открыть можно и один. Например 80й.
Ну и потом - работа с портами, это самое что нинаесть LOW End. Ниже только UDP, насколько я знаю, может и ошибаюсь.
Если не знать того, что есть порты, то можно и не начинать вовсе работать с езернетом.
Это, кстати, из теории.
А вот w5500 - это и есть как раз тот самый Hi End, где пользователь, тот, что с этим модулем по SPI общаться будет, получит уже готовый Link, и поток последовательных данных от того, кто к этому модулю по езернет соединится. Т.е. ему вовсе не нужно будет знать, что есть какие то там TCP/IP стеки, какие то протколы типа UPD / IP / TCP.
Вот номер порта, все же, надо будет указать.
Правда не помню точно, но у меня были сложности с выковыриванием из LwIP вебсервера, чтоб у него на входе был тот последовательный поток запросов, а на выходе - последовательный поток ответов клиенту. Тогда (лет 5 назад) вебсервер был жутко сильно встроен в TcpIp стек, что его сложно было применять с вот такими вот модулями.
Для работы с модулями такого типа (со своим встроенным TcpIP стеком и подсоединением к МК через последовательный интерфейс) надо искать веб сервер или сервер сокектов, которые отделены от TcpIp стека.
Поделиться252019-05-22 10:25:09
Путаешь hi/low-end [маркетинг] и hi/low level [уровень детализации]
Ну и по поводу пассажа про начинающих и профессионалов
Прямая аналогия - начинающие, любительницы и профессионалки
Лично мне больше нравятся любительницы )
Поделиться262019-05-22 10:40:10
И причем тут маркетинг?
По вашей логике все равно не сходится. Так как по маркетингу сейчас тренд идет именно что в упрощение, от сложного к простому, от своего стека к встроенному в модуль, так чтоб пользователь даже и не знал, что там какие то стеки есть, порты и протоколы.
И это у них называется Hi end, если в маркетинге. В общем - всеобщее отупление. eddy em расскажет, вон.
Отредактировано MasterAlexei (2019-05-22 10:46:40)
Поделиться272019-05-22 10:48:26
И причем тут маркетинг?
Поделиться282019-05-22 11:10:09
И причем тут маркетинг?
По вашей логике все равно не сходится. Так как по маркетингу сейчас тренд идет именно что в упрощение, от сложного к простому, от своего стека к встроенному в модуль, так чтоб пользователь даже и не знал, что там какие то стеки есть, порты и протоколы.
И это у них называется Hi end, если в маркетинге. В общем - всеобщее отупление. eddy em расскажет, вон.Отредактировано MasterAlexei (Сегодня 15:46:40)
Наверно я с вами согласен ))