1

我想在 Apache 托管的网页和我在小型 Linux 设备(如Raspberry PiDD-Wrt )上运行的自定义 C++ 应用程序之间实现通信链接。

这里有一个 Raspberry Pi 教程,它使用网页上的按钮来控制 GPIO 引脚上的 LED。该示例使用 MySQL 作为网页和脚本之间的通信接口,并且脚本具有对 GPIO 的读/写访问权限。尽管 MySQL 为 Apache 托管网页和 C++ 提供了成熟/无处不在的接口的优势,但它可能会更慢并且具有比必要的更大的闪存和 RAM 占用空间。

为了找到比 MySQL 更小/更快的通信链接,我有一个使用 Javascript 对 C++ 应用程序执行 XML-RPC 的示例。但是,这篇 2012 年 2 月 24 日发布的帖子暗示 xmlrpc 已过时,可以被更现代的东西(JSON、REST)取代,但帖子缺少有关这些方法的详细信息。

另一个考虑的选项是Wt或其他嵌入式库,但它有一个学习曲线,Web 开发人员不太可能熟悉它。

我的问题是:在 Raspberry Pi 或其他嵌入式 Linux 设备等资源受限设备上为自定义 C++ 应用程序实现 Web 界面的良好架构是什么?

假设:

  • Apache 是首选,因为它适合内存并且 Web 开发人员熟悉它。
  • 界面应该是“现代的”
  • 页面是简单的纯文本,大约 10 页,90% 的数据字段是只读的,另外 10% 是可编辑的字段。
  • 网络服务器位于不超过 3 个用户的专用网络上。使用安全/登录来强制执行用户数量。
  • 从 SD 启动的嵌入式 ARM 平台
  • 假定 CGI(为每个事务启动一个进程)比必要的慢。FastCGI 可能没问题。

发现没有回答我的问题的类似问题: -嵌入式设备上 Web 界面的语言选择 -为嵌入式系统设计 Web 界面

4

2 回答 2

1

天啊。阿帕奇?你为什么要在嵌入式设备上使用这样一个过度杀伤的怪物?我建议使用较小的服务器,而不是使用 cgi,而是使用 rest api 处理程序。一个非常轻量级的设置是使用 uhttpd 和 ubus 插件,然后用 C 编写你的系统代码,并通过 ubus 上的 json api 公开它的功能。然后,您可以将 Web 界面与系统代码完全分离,并且可以通过仅提供静态 html 来最大程度地减少嵌入式服务器的压力,您可以使用 javascript 和 ajax 将其转换为动态应用程序。

没有解释器,没有 cgi,只有 ajax 和 ubus 后端。

于 2015-06-24T12:51:27.483 回答
0

我在我的 rPI 上使用带有 express、Socket.io、Mongojs 模块的 Nodejs

于 2013-01-29T18:05:39.623 回答