STM32 + uIP + enc28j60

Долго облизывался на подключение МК к Ethernet, ходил вокруг цикла статей Lifelover'a, и решил попробовать. Но как в том анекдоте «не в лото, а в покер, не Волгу, а сто рублей и не выиграл, а проиграл» отличия от проекта Lifelover'a будут следующие:

  • камень stm32f103v, флеша у которого аж 512к. Меньше 64к у STM32 — редкость, что не может не радовать
  • tcp стек решил взять готовый, в частности uIP. Пробовал стек от Lifelover'a, но там много AVR-овских особенностей — раздельная адресация как минимум. В итоге запустил, погонял, но решил все-таки перейти на стандартный стек.
  • ОС, естественно, FreeRTOS,
  • Ну а Ethernet-контроллер все тот же enc28j60, подключенный через SPI

В этой статье мы соберем минимальное приложение, которое висит на порту 1000 и что-то там пишет.



Читать дальше

TCP/HTTP и тинька

Решил немного побаловаться и посмотреть насколько смогу ужать свой TCP/IP стек.


Читать дальше

Подключение микроконтроллера к локальной сети: Заключение

Уже почти всё. :)

Краткое содержание:

  • Мои кривые руки и баги
  • Немного о софте для компа
  • FAQ
  • Заключение


Читать дальше

Подключение микроконтроллера к локальной сети: тесты производительности и краткое описание API стека

В этой части будет просто формальное описание TCP/IP стека, который мы тут соорудили, по ходу дела.

Краткое содержание:
  • Бенчмарки (немножко)
  • Системные требования
  • Параметры конфигурации
  • Описание API
  • Заключение


Читать дальше

Подключение микроконтроллера к локальной сети: HTTP и CGI (заключение)

В прошлой части мы научились отдавать по HTTP достаточно жирную статику. Но всё, о чём я хотел написать в прошлую часть не влезло, так что эта часть будет маленьким дополнением. Добавим какие-нибудь элементы управления (проще говоря, гуй) для получения и отправки данных с сервера и на сервер.

Краткое содержание:

  • Идея
  • Сторона сервера
  • Сторона клиента
  • Заключение

Кроме того, в этой небольшой части мы коснёмся такой странной штуки, как javascript)


Читать дальше

Подключение микроконтроллера к локальной сети: TCP и HTTP (продолжение)

В этой части речь пойдёт в основном про отдачу относительно жирной статики по HTTP.

Краткое содержание

  • Еррата
  • Отдача статики, соображения
  • Пробуем отдавать картинку
  • TCP-ретрансмиссии
  • Пишем простенький HTTP-сервер
  • Заключение

Сорри за такую большую задержку)


Читать дальше

Подключение микроконтроллера к локальной сети: HTTP и CGI

В предыдущей части соотношение объёмов моего корявого быдлокода и интересной/полезной информации превысило всякие разумные пределы. Так что в этой я постараюсь исправиться)

Речь пойдёт о реализации простенького веб-сервера на базе TCP/IP стека, запиленного в предыдущей статье. Скорее, даже не сервера, а веб-интерфейса, который можно прикрутить к какому-нибудь сетевому девайсику на микроконтроллере.


Читать дальше

Подключение микроконтроллера к локальной сети: TCP-клиент

В этой части мы поговорим про TCP и напишем небольшое приложение, использующее этот протокол.

Краткое содержание:

  • Введение в TCP
  • Программный интерфейс и простенький пример
  • Реализация
  • Пример побольше
  • Заключение


Читать дальше

Подключение микроконтроллера к локальной сети: Широковещательные сообщения и DHCP

В этой части мы поговрим про широковещательные сообщения и, наконец-то, закончим с UDP.

Краткое содержание:

  • Широковещательные сообщения
  • Отправка и приём
  • DHCP
  • Заключение


Читать дальше

Подключение микроконтроллера к локальной сети: UDP-клиент

В этой части мы продолжим писать наш стек протоколов. Добавим возможность отправлять UDP-пакеты на любой IP-адрес и научимся получать данные с удалённого сервера.

Краткое содержание:

  • Введение в роутинг
  • ARP-ресолвер
  • Отправка пакетов
  • Пример работы со стеком
  • Заключение


Читать дальше