【问题标题】:A Router like Web Interface for a SBC (TS-7500)用于 SBC (TS-7500) 的类似路由器的 Web 界面
【发布时间】:2025-12-23 13:20:29
【问题描述】:

我有一台 SBC(小板计算机)(准确地说是运行 Debian linux 2.6.24 的 TS-7500)和几个在其中运行的 C 程序。现在我必须为此板提供一个 Web 界面,以便让我们说更改一些参数等(以便 SBC 充当黑盒)。我想这就是每个路由器所做的 - 为用户提供几个配置参数!

现在请提出什么是实现这一目标的简单方法,前提是,

  1. 我只需要配置几个参数(少于 10 个)
  2. 每个参数都可以建模为下拉菜单以避免输入错误
  3. SBC 上的 RAM 非常有限 - 因此首选更简单的。

我遇到了几个主题,建议使用 Servlet、JSP、CGI 等来实现相同的目标。请提出一个更好更简单的选择(假设我不熟悉这些概念中的任何一个)。任何相同的链接也很感激。

提前致谢!

【问题讨论】:

  • 我看不出为什么调整的 Apache / PHP 设置在这里不起作用。用于验证/保存参数的 SQLite 或平面文件
  • @JonathonReinhart,您能否详细说明(可能带有链接)。你刚才说的话对我来说完全陌生。我从哪里开始?
  • 老实说,只用 google 搜索 Apache 和 PHP。有数以万计的例子。然后搜索如何调整它们以使用最少的资源。 SQLite 是一个精简的数据库引擎。而平面文件只是意味着纯文本文件。您正在运行 linux,所以这应该不难。
  • @JonathonReinhart,感谢您的意见。只是一个澄清 - 这个 Apache & PHP 选项,它比 CGI with Perl 更好吗?当我现在开始时......在这里指导我!

标签: jsp servlets cgi web-frontend


【解决方案1】:

您首先需要一个网络服务器。由于您正在运行 linux,因此第一个也是最明显的答案是 Apache httpd。这里另一个不错的选择可能是Lighttpd

现在您需要一种提供动态内容的方法。我个人的首选是PHP。很多时候,您只需几个软件包即可安装 Apache+PHP。看起来 Lighttpd 也支持 PHP。

此链接将解释 CGI、Perl 等。What is CGI?

最后,您需要一种方法让您开发的 Web 应用程序影响黑盒的其余部分。 SQLite 提供了一种以有组织的方式存储数据的轻量级方式。您的 PHP Web 应用程序可以使用 C 程序从中读取参数的同一数据库!另一种选择是简单地读取和写入平面文本文件。

【讨论】:

  • 很高兴我能帮上忙。当你得到这个工作时,你应该考虑回信,也许用你自己的答案,解释你选择了哪些选项以及为什么。
【解决方案2】:

注意:成功完成工作后更新状态。

我选择了 Apache + PHP,因为这似乎是解决上述问题的最简单直接的解决方案。对于安装,我遵循this 链接并安装了提供 Apache、PHP 和 SQL(用于存储密码)的 LAMP 服务器。一些关于 PHP 的在线教程足以让所需的程序启动并运行。

我必须在 TS-7500 的 /var/www/ 目录中部署 php 脚本(比如 settings.php)。因此,当我从另一个系统(在同一局域网上)使用 ip_address/settings.php(TS-7500 的 IP 地址)从浏览器访问它时,会弹出所需的 html 页面!

非常感谢您的建议。

【讨论】: