Всем привет, прочел отличную статью по работе с enc28j60 на этом сайте состоящую из 4 частей, и очень захотелось добавить в нее поддержку udp протокола, но знаний по C не хватает, кто мог бы помочь в этом вопросе?
Привет, блин был проект под UDP, тогда еще, когда те статьи писал. Но что-то отвлекло, не было времени статью написать пятую, а теперь и проект почему-то не нашел 🤔 Если прямо совсем не срочно, то в течение 3-4 недель могу постараться время выкроить - статью добавить с UDP.
Был бы очень признателен, мне лично не обязательно прям целую статью с описанием, достаточно увидеть основную концепцию протокола, в любом случае, буду ждать, заранее спасибо 🙂
@timur приветствую ) Свои ENC28J60 поставил в одном проекте, пришлось новые заказывать, доставку ждать... Набросал демо-проект с UDP, принимается пакет, данные инкрементируются, затем отправляются обратно:
@aveal Спасибо большое за 5 часть, оказывается не так все сложно было 👍
Думаю теперь можно попробовать реализовать еще одну важную часть драйвера ENC, это генерация своих UDP пакетов. К примеру, сбор каких либо данных с датчиков температуры и т.п. устройств, формирование UDP пакета и отправка по сети на сервер 🤔 тут понадобится ещё функция арп кеширования, в общем надо нормально изучить этот Си 😀
@aveal а и еще один вопрос, я попробовал отправить по udp через микроскрипт написанный на питоне 212 байт цифр вида 111111..., контроллер вернул мне 22222..., окей работает, но если я пробую отправить больше чем 212 байт, то в ответе получаю 212 байт вида 22222... а после набор случайных байт.
Провел дебаг в STM32CuneIDE (st-link v2 + stm32f103c8t6), данные в переменной data udp кадра правильные, все 22222.... они идут через SPI в ENC, но wireshark показывает мне лабуду после 212 байта.
Можете по возможности проверить почему такое ограничение в длине ответа?
@timur решилось после изменения uint8_t на uint16_t? Для тех, кто читает - это в комментариях.
@aveal да, отправил 1000 букв А, получил 1000 букв В, до этого после 213 буквы был бардак, а и еще насчёт глюка четности длины кадра, пробовал разную длину, что-то его не словил или может в модуле enc 6 версии исправили это 🤨
Продолжая тему udp рассылки, а можно замутить статью про mpeg ts?Вроде есть библиотека lame и скорости stm32 должно хватить для кодирования звука в стрим например от fm радио и отправка в интернет как поток или просто передача звука по сети 🤔
@timur Да тут всегда все в одно упирается... Идей много, времени чисто физически не хватает.
@aveal Понимаю, ну, по возможности, может быть, как нибудь, сделаем 😎
@timur Я может не так понял сообщение ) Если сам вдруг захочешь статью написать и опубликовать, то всячески приветствуется ) Тема-то интересная 👍
Мне кажется гораздо проще использовать связку stm32 и W5500. Есть сайт http://freelimelectronic.com/development/w5500%20f4discovery.html там рабочий проект, на его основе сделал проект stm32f103 и w5500. Там все расписано. Сначала повторил его проект, а затем переделал под stm32f103, работает прекрасно.