我想在Apache托管的网页和在Raspberry Pi或DD-Wrt等小型Linux设备上运行的自定义C ++应用之间实现通信链接。
Raspberry Pi有一个教程here,它使用网页上的按钮来控制GPIO引脚上的LED。该示例使用MySQL作为网页和脚本之间的通信接口,脚本具有对GPIO的读/写访问权限。虽然MySQL提供了与Apache托管网页和C ++成熟/无处不在的接口的优势,但它可能会更慢并且具有更大的闪存和更大的闪存。 RAM足迹超过必要。
为了找到比MySQL更小/更快的通信链接,我有一个使用Javascript的例子,它将XML-RPC用于C ++应用程序。但是,this post回到2012年2月24日,暗示xmlrpc已经过时,可以被更现代的东西(JSON,REST)取代,但帖子缺乏关于这些方法的详细信息。
考虑的另一个选项是Wt或其他嵌入式库,但它会有一个学习曲线,Web开发人员可能不熟悉它。
我的问题是:在资源受限的设备(如Raspberry Pi或其他嵌入式Linux设备)上为自定义C ++应用实现Web界面的优秀架构是什么?
假设:
类似的问题发现没有回答我的问题: - Language Choice for Web interface on embedded device - Designing Web Interface for Embedded System
答案 0 :(得分:0)
我使用带有快速,Socket.io,Mongojs模块的Nodejs在我的rPI上做了更多和更多
答案 1 :(得分:0)
天啊。 Apache的?你为什么要在嵌入式设备上想要这样一个矫枉过正的怪物?我建议使用较小的服务器而不是使用cgi使用rest api处理程序。一个非常轻量级的设置是将uhttpd与ubus插件一起使用,然后用C编写系统代码,并通过ubus上的json api公开它的功能。然后,您可以将Web界面与系统代码完全分离,只需提供静态html即可最大限度地减少嵌入式服务器的压力,您可以使用javascript和ajax将其转换为动态应用程序。
没有解释器,没有cgi,只有ajax和ubus后端。