Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: html в микроконтроллере
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры
juvf
Требуется конфигурировать разработанное устройство. Нужно писать для компьютера кокойто конфигуратор и по какому-то протоколу через UART (USB, RS-232, RS-485, CMOS) или SPI общаться с железкой. Есть мысль не писать ни какой конфигуратор и в железке, а написать html и по tcp/ip через последовательный интерфейс любым браузером конфигурировать железку. Вопрос: реально ли на UART-е реализовать в железке tcp/ip или придется использовать преобразователь Ethernet<->UART(SPI)? Какие ресурсы потребуются для html, т.е. сколько памяти нужно?
uriy
Цитата
Вопрос: реально ли на UART-е реализовать в железке tcp/ip или придется использовать преобразователь Ethernet<->UART(SPI)? Какие ресурсы потребуются для html, т.е. сколько памяти нужно?
Конечно нужно что-то подцепить. Например Wiznet через SPI. Сколько будут весить ваши страницы столько памяти и потребуется.
MrYuran
Цитата(juvf @ Sep 28 2010, 08:18) *
Вопрос: реально ли на UART-е реализовать в железке tcp/ip или придется использовать преобразователь Ethernet<->UART(SPI)? Какие ресурсы потребуются для html, т.е. сколько памяти нужно?

Реально. Называется это Serial Line Internet Protocol (SLIP).
iosifk
Цитата(juvf @ Sep 28 2010, 08:18) *
... или SPI общаться с железкой. .... Какие ресурсы потребуются для html, т.е. сколько памяти нужно?


http://www.eltech.spb.ru/micrel_ethernet.html

Контроллер KSZ8851SNL это как раз SPI...

И статьи про Ethernet у меня на сайте.
scifi
Размер кода для реализации TCP+HTTPD - от 5 до 40 кБайт (навскидку, в зависимости от навороченности функционала). Требуемый объём ОЗУ (на буферы) - от 2 кБайт до десятков кБайт (для скорости на соединениях с медленным пингом).
Один из самых "обезжиренных" стеков TCP/IP - uIP
juvf
Цитата
Реально. Называется это Serial Line Internet Protocol (SLIP).

Ага, спасибо за курс,,,,,, почитал в вики. Устаревший протокол. Вместо него сейчас используют РРР. Т.е. если соеденяться по rs-232, то придется програмно реализовывать стек протокола TCP/IP (PPP или SLIP). Не очень радует (( Ну допустим реализую я РРР и будет страничка html в железке. Как комп подключится к ней? если я подключусь 232-ым к железке и напишу в браузере нужный ip-адрес - то как комп перенаправит запрос не в сетевую карту а в сом порт? Как это работает например в Windows? Нужно будет добавлять в "Деспетчере устройств" какой-нибудь нуль-модем и задавать ему ip-адрес? Или ещё как? А как это работает в *nix-ах?
vesago
В свое время я делал трекер на m128 и кроме всего прочего занимался подключением по GPRS. Соответсвенно написал свой вариант ppp + tcp/ip естественно отбросив лишнее. Отлаживал на компе. Через мастер новых подключений/установить прямое подключение к другому компьютеру/подключиться напрямую к другому компьютеру/ выбираете ведомый, ведущий, com порт. Далее в один шлет клиентклиент другой отвечает клиентсервер и начинают валить пакеты ppp, котрорые надо обработать, пройти инициализацию передать свой ip и потом поверх ppp пойдут уже ip пакеты и можно использовать html. В общем сложного особого нету, но гемор определенный имеется. Если надо устройство побыстрее, то тогда лучше обычным путем через джамперы или уарт (допустим командной строкой через гипертерминал). Ну а если есть желание повозиться, то тогда можно и погемориться.
AlexandrY
Цитата(juvf @ Sep 28 2010, 08:54) *
Ага, спасибо за курс,,,,,, почитал в вики. Устаревший протокол. Вместо него сейчас используют РРР. Т.е. если соеденяться по rs-232, то придется програмно реализовывать стек протокола TCP/IP (PPP или SLIP). Не очень радует (( Ну допустим реализую я РРР и будет страничка html в железке. Как комп подключится к ней? если я подключусь 232-ым к железке и напишу в браузере нужный ip-адрес - то как комп перенаправит запрос не в сетевую карту а в сом порт? Как это работает например в Windows? Нужно будет добавлять в "Деспетчере устройств" какой-нибудь нуль-модем и задавать ему ip-адрес? Или ещё как? А как это работает в *nix-ах?


Дела нынче обстоят так.
К примеру мои платформы все поддерживают такой интерфейc.
Из последних вот эта: http://www.alylab.eu/OpenProjects/ARMGeoSpyder2/ARMGS2.htm

Она не имеет Ethernet-а, но имеет USB и RS232 порты.

Через RS232 по протоколу TCP/IP в Windows XP можно подключится двумя способами к дивайсу:
как к клиенту и тогда дивайс первый долбит в PC текстовый запрсос "CLIENT" (его даже можно поменять в каком-то ini файле в XP ),
как к серверу и тогда PC долбит дивайс текстовым запросом "CLIENT" , а дивайс должен ответить "CLIENTSERVER"

Все. После этого наступила PPP сессия. В течении этой сесии либо дивайс может предложить PC свой IP адрес либо PC назначает IP адрес из пула назначенного при настройке прямого соединения. Это будет локальный сетевой адрес. По окончании сеанса PPP в PC в таблице маршрутизации появляется запись с IP-адресом подключенного дивайса.
В строке броузера вводится адрес дивайса (его можно узнать из статуса нового появившенгося значка сетевого соединения) и дальше уже WEB сервер дивайса рулит.

Аналогично можно устроить виртуальный COM порт в дивайсе на USB и таким же ровно способом работать по USB но только значительно быстрее.

Плохая новость в том, что в Windows 7 прямое подключение по PPP через RS232 полностью снесли (оно и в XP работало не сильно надежно), оставили только беспроводные конекты.

И тогда сделать реально хороший коннект к дивайсу можно через USB внедрив в дивайсе профиль RNDIS, но это уже другая тема wink.gif

Ну а самый толковый открытый TCP стек с PPP протоколом ищите у Freescale в RTOS MQX.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.