Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Web server for ARM
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
evgen2
Граждане, кто-нибудь пользует Web server/http ?
(проц lpc2378, но это не очень принципиально)
Весь моск обломал: есть три варианта и все плохие.

Хочется:
* чтоб отдавал страницы более одного ip пакета,
* чтоб принимал страницы запросы более одного пакета и было где эту страницу проанализировать
* чтоб все было в исходниках
MiniMax
http://mmarm.dyndns.org/
evgen2
Цитата(MiniMax @ Dec 6 2008, 13:57) *

Замечательно. Только где исходники ?
MiniMax
Цитата(evgen2 @ Dec 6 2008, 15:24) *
Замечательно. Только где исходники ?


http://www.bipom.com/armdev.php
Релиз бесплатный. После установки в директорию по умолчанию
все исходники и примеры ( включая WEB сервер) в C:\bipom\devtools\GCC
доп. информацию можно почерпнуть отсюда
http://forum.ixbt.com/topic.cgi?id=48:6017
evgen2
Цитата(MiniMax @ Dec 6 2008, 14:30) *
http://www.bipom.com/armdev.php
Релиз бесплатный.


спасибо. Теперь имею четвертый вариант. cranky.gif
mkalexey
Поделитесь, пожалуйста, вариантами... smile.gif
evgen2
Цитата(mkalexey @ Dec 8 2008, 12:27) *
Поделитесь, пожалуйста, вариантами... smile.gif
  1. EasyWEB
  2. NicheLite
  3. WebCat
  4. FreeRTOS\Demo (с десяток примеров)
defunct
Цитата(evgen2 @ Dec 9 2008, 11:59) *
[*]EasyWEB
[*]NicheLite
[*]WebCat
[*]FreeRTOS\Demo (с десяток примеров)

Вы варианты собираете или для какой более конкретной цели?
если второе - кончайте надеяться на миценатов - читайте соотв. RFC и реализовывайте, то чего не хватает, самостоятельно.
evgen2
Цитата(defunct @ Dec 9 2008, 18:09) *
Вы варианты собираете или для какой более конкретной цели?
если второе - кончайте надеяться на миценатов - читайте соотв. RFC и реализовывайте, то чего не хватает, самостоятельно.

Шо - все сразу читать ? А голова не опухнет ? апач-то явно не залезет внутрь :-/

Мне б чтоб хоть как-то работало б... Вот два имеющихся в моих лапах варианта EasyWEB оказались нерабочими.
defunct
Цитата(evgen2 @ Dec 9 2008, 18:05) *
Шо - все сразу читать ? А голова не опухнет ? апач-то явно не залезет внутрь :-/

Нет не все. Что-то мне подсказывает, что для Ваших требований хатит почитать только RFC793 (по TCP), и подправить любой из имеющихся у Вас примеров.
Потому что именно от реализации TCP зависит макс объем пакета, и количество пакетов/страницу.
Ну а третий пункт - Вы сами реализуете - и все у Вас будет в исходниках smile.gif

Цитата
Вот два имеющихся в моих лапах варианта EasyWEB оказались нерабочими.

EasyWeb 100% рабочий пример! Разбирайтесь, что не так. Может чего не хватает или чего забыли задать.
evgen2
Цитата(defunct @ Dec 10 2008, 02:44) *
EasyWeb 100% рабочий пример! Разбирайтесь, что не так. Может чего не хватает или чего забыли задать.

уже четыре. неработающих. Причем один раз оно заработало, я что-то поменял - перестало, вернул обратно - все равно не работает. :-( как будто какой-то проводок внутри этой неонки не контачит...или переменная неинициализированная...
evgen2
Цитата(evgen2 @ Dec 10 2008, 05:33) *
уже четыре. неработающих.


Чудеса. Если соединить напрямую кабелем с компьютером - работает, если пересоединится на ходу и воткнуть компьютер и плату в хабо-свитч - тоже работает, пока ресет не нажмешь...а вот Ничлайту (или Нихлайту?) этот хаб Lantech SOHO hub 8 800XD не страшен.
etoja
Без чтения RFC и тщательного изучения исходников не обойтись. Сетевое взаимодействие с кавалерийского наскока не берётся.
Странник
Цитата(evgen2 @ Dec 9 2008, 12:59) *
  1. EasyWEB
  2. NicheLite
  3. WebCat
  4. FreeRTOS\Demo (с десяток примеров)

Занимаюсь сейчас схожей задачей, вот что нарыл http://en.wikipedia.org/wiki/Tiny_web_servers

До связи...
dch
boa считается нормальным, входит в дистрибутив uclinux-а uclinux.org
evgen2
Цитата(Странник @ Dec 11 2008, 19:49) *
Занимаюсь сейчас схожей задачей, вот что нарыл http://en.wikipedia.org/wiki/Tiny_web_servers

До связи...

чего-то там все в одну кучу понамешано, но всё рано - любопытно, спасибо за ссылку
evgen2
Цитата(etoja @ Dec 10 2008, 19:19) *
Без чтения RFC и тщательного изучения исходников не обойтись. Сетевое взаимодействие с кавалерийского наскока не берётся.

Ну и какие RFC прикажете читать ?

Easy Web -> EMAC.c -> void Init_EMAC(void)

Код
/* Configure Full/Half Duplex mode. */
//  if (regv & 0x0004) {
    regv = read_PHY (0x1f);
//^^^^^^^^^^^^^^^^^^^^^^^^^
    pcf8531_printf(0,3,"Reg x%x ",regv);
    regv=(regv>>2)&7;
  if ((regv==5)||(regv==6)) {
    /* Full duplex is enabled. */
    MAC_MAC2    |= MAC2_FULL_DUP;
    MAC_COMMAND |= CR_FULL_DUP;
    MAC_IPGT     = IPGT_FULL_DUP;
//    pcf8531_printf(0,3,"F ");
  }
  else {
    /* Half duplex mode. */
    MAC_IPGT = IPGT_HALF_DUP;
//    pcf8531_printf(0,3,"H ");
  }


Вот это regv в случае втыкания напрямую в сетевуху компьютера = 0x1598, а в случае хаба - 0x1588
причем на хабе при этом загорается лампочка 100 Мbit
Странник
Есть такая вот задачка:
На арм платформе нужно поднять WEB сервер, который бы генерил страницу с информацией о состоянии датчиков. Чтоб была возможность вводить конфигурационные параметры.(что то похожее на роутеры с ихним веб интерфейсом)
В наличии: собственно ARM-400MHz; 256Mb RAM; 128Mb ROM
Подскажите какие для этого обычно средства используют? (linux-apache-php-lsql?)

До связи...
ClockworkOrange
апач -слишком тяжеловесно и избыточно для такой железяки как роутер

а начать можно с того, чтобы посмотреть что же, собственно, в роутерах используется, благо исходники линукс-прошивок большинcтва доступны по GPL
RW9UAO
Цитата
Вот это regv в случае втыкания напрямую в сетевуху компьютера = 0x1598, а в случае хаба - 0x1588

а доку на PHY посмотреть? кабель поди один и тот же. для прямого соединения нужен кросс, а в хаб - прямой. сработало автоопределение, вот он и сообщает, что прямым кабелем воткнули не в хаб, а другую PHY.
ababkin
http://www.eluaproject.net/en/Example_Programs

smotri v samom nizy. Sirovat, no vse zhe variant.
AlexandrY
WEB сервер по сути должен просто парсить CGI запросы и перекачивать файлы и больше ничего.
С тех пор как появилась AJAX технология, отпадает даже необходимость с сриптах на стороне сервера.
Такой WEB сервер пишется с нуля за день если однопоточный. Это буквально несколько сот строк кода.
Главное надежный вандалоустойчивый TCP/IP стек и быстрая файловая система. Это есть у Micrium-а

Основная работа заключается в разработке на JavaScript-е собственно страниц основаных на AJAX вызовах. Но это тема совсем не этого форума.


Цитата(Странник @ Dec 15 2008, 18:27) *
Есть такая вот задачка:
На арм платформе нужно поднять WEB сервер, который бы генерил страницу с информацией о состоянии датчиков. Чтоб была возможность вводить конфигурационные параметры.(что то похожее на роутеры с ихним веб интерфейсом)
В наличии: собственно ARM-400MHz; 256Mb RAM; 128Mb ROM
Подскажите какие для этого обычно средства используют? (linux-apache-php-lsql?)

До связи...
KonstantinT
Отличный вариант LWIP + FatFs.
AlexandrY
Вариант реальный, но я бы назвал его крайним.
Т.е. ну когда уже ничего лучше не достали.

Сейчас самый писк это RLARM340 от Keil-а.
Без преувеличения движок RTOS там реактивный.
Для Cortex очень неплохо используют особенности ядра.
Есть профайлер задач, т.е. можно видеть в работе состояния задач, стек и т.д.
Это покруче чем Probe в uCOS-е
В последней версии WEB сервера они реализовали технологию AJAX, причем настоящего AJAX именно на XML, а не скажем AJAH основанного на HTML-е.

Цитата(KonstantinT @ Dec 26 2008, 15:21) *
Отличный вариант LWIP + FatFs.
prottoss
Цитата(AlexandrY @ Dec 26 2008, 18:38) *
В последней версии WEB сервера они реализовали технологию AJAX, причем настоящего AJAX именно на XML, а не скажем AJAH основанного на HTML-е.
smile.gif А зачем оно надо...настоящщщее-то? Я вот использую AJAX (не знаю, настоящий или нетsmile.gif) в двух реализациях WEB-сервера , одна на AVR (ATmega128) вторая на ARM (AT91SAM7X256). В обоих случаях самописный TCPIP + FatFS(ChaN). AJAX нужна для уменьшения объема данных, гоняемых между клиентами и сервером, а что там, XML или еще чего, маленькому серверу должно быть по барабану, большой клиент пусть все разжевывает.
AlexandrY
XML и прочие навороты действительно не нужны если вы все делаете сам и для себя либо для узкого круга применений.
Если же планировать что ваш движок AJAX будет доступен как сервис, скажем для развиваемых Google интернет приложений, то стоило бы подумать.
Опять же сами WEB сайты дивайсов не в notepade разрабатываются. Наверно какие-то либы применяются. Большинство будет расчитано на XML.
Уменьшение объема данных с AJAX я бы не акцентировал.
Чаще наоборот бывает.
Поскольку страницы с AJAX стараются делать динамическими, т.е. постоянно обновляемыми, то AJAX приводит к тому, что непрерывно перекачиваются данные. В итоге перекачаных данных гораздо больше чем со статическими страницами.
Кардинальным способом сжатия пожалуй будет gzip или deflate, но тут уж никто из дешевых WEB серверов не поможет ;(




Цитата(prottoss @ Dec 26 2008, 18:02) *
smile.gif А зачем оно надо...настоящщщее-то? Я вот использую AJAX (не знаю, настоящий или нетsmile.gif) в двух реализациях WEB-сервера , одна на AVR (ATmega128) вторая на ARM (AT91SAM7X256). В обоих случаях самописный TCPIP + FatFS(ChaN). AJAX нужна для уменьшения объема данных, гоняемых между клиентами и сервером, а что там, XML или еще чего, маленькому серверу должно быть по барабану, большой клиент пусть все разжевывает.
uriy
Я разрабатываю контент для конфигурации железки черезе веб-сервер. Использую ucLinux, boa, cgihtml.
Не могу сообразить как сделать страничку с авторизацией как это сделано в домашних роутерах.
Надо чтобы при попытке зайти на какую-нибудь страничку веб-сервер откидывал на страницу ввода пароля пока тот не был введен.
boa похоже поддерживает авторизацию, но не могу найти толковой документации. Может быть кто-то расскажет как это сделать.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.