2009-03-14 3 views
3

Я начинаю новый проект, и я пытаюсь выяснить, какие технологии я должен использовать. Вот сделка, я пишу какое-то программное обеспечение, которое будет работать на беспроводном маршрутизаторе, и я хотел бы предоставить веб-интерфейс. Поэтому, скорее всего, мне придется сделать некоторые серверные веб-разработки. Единственная проблема заключается в том, что устройство, которое я буду развертывать, имеет только 16 МБ ОЗУ (Ubiquiti Bullet). Вот еще одна информация:Какие серверные технологии следует использовать во встроенной системе?

1.) Я буду использовать openwrt (linux). 2.) Очевидно, что он должен быть легким 3.) Это школьный проект, поэтому я могу использовать любые технологии, которые мне бы хотелось.

Очевидно, что PHP является очевидным выбором, но есть ли что-нибудь еще более захватывающее (я не сумасшедший о PHP).

Заранее спасибо!

ответ

7

Некоторые из более поздних версий OpenWRT поставляются с интерфейсом, написанным полностью в lua (LuCi). Вы проверили это, чтобы узнать, применяется ли это? Он работает через стандартный CGI и вызывается встроенным веб-сервером, который уже запущен на OpenWRT (это означает, что вам не нужно добавлять еще один пакет программного обеспечения).

Проверьте свой сайт luci.freifunk-halle.net, это, по-видимому, полнофункциональная веб-среда, включая MVC, чтобы вы могли быстрее начать работу!

LuCI - это коллекция бесплатного программного обеспечения Lua для встроенных устройств. Он включает в себя несколько полезных инструментов и библиотек для разработчиков, а также MVC-Webframework и веб-интерфейс пользователя, который является частью OpenWrt Kamikaze начиная с версии 8.09. Целью проекта LuCI является создание и поддержка удобных для пользователя, стабильных и надежных пользовательских интерфейсов и инфраструктур разработки.

PHP довольно большой для маршрутизатора, и я думаю, что он не совсем обеспечит скорость, которую вы ищете! Lua не является сложным языком для написания сценариев, и он начинается с него, но это не так, как в PHP, и сайт Lua очень хорош и имеет нагрузки documentation!

2

Write it in C.

легкий вес веб-сервер и либо встроенные модули или FastCGI. Фактический веб-материал, написанный на C. Вы научитесь ценить языки более высокого уровня, и вы, вероятно, будете использовать меньше ОЗУ.

Или найти хорошую небольшую библиотеку HTTP и встроить сервер HTTP в веб-интерфейсе.

+0

Ха-ха, я бы хотел, чтобы более SO ответы были исполнены мне. – DBedrenko

0

Я нахожусь в лагере C - идите с самым маленьким сервером, который вы можете найти, что также позволяет подключать собственный API для управления маршрутизатором. Выгрузите столько логики, сколько сможете, в браузер, используя javascript, чтобы проверять команды, отправляемые на задний план, и сохраняйте ваш дизайн простой обработкой форма/URL на задней панели.

Эта ссылка содержит список серверов, на которые вы можете посмотреть.Однажды заявляет, что это всего лишь 1k строк кода, который является небольшим размером http://www.ibm.com/developerworks/web/library/wa-ltwebserv/

0

Веб-сервер не является проблемой. Какие бы облегченные варианты httpd, поддерживающие CGI, не справились с этой задачей. И для генерации контента я бы определенно НЕ делал этого в C. Используйте инфраструктуру LuCI и создавайте хороший интерфейс!

0

Рассмотрите возможность создания плагина Webmin. Webmin:

  • поставляется с собственным веб-сервер, который может сделать SSL
  • , вероятно, втиснуть в 16Мб не пот
  • специально сделан для того, чтобы быть GUI фронт-енд для изменения систем Unix и Linux
  • имеет хорошо документированный плагин API
  • имеет массу примеров модулей (плагинов), вы можете узнать из

Это не серебряная пуля, но для НИК он он служит, он удовлетворяет ему 100%. Единственный недостаток заключается в том, что API, имеющий длинное наследие, не очень элегантен, и вы не выиграете никаких наград с модным словом.