我有一组运行用 C++ 编写的软件的嵌入式设备。与设备通信的 API 很简单:获取/设置/获取参数和信号。
我想实现通用的 Web 应用程序以从一个点访问所有设备。
我的想法是向设备添加 XML RPC 接口,然后使用 ActiveResource 从 Web 服务器访问设备。在实践中似乎根本没有使用这种组合。
我可以自由选择设备内的任何协议。你有什么建议?
我有一组运行用 C++ 编写的软件的嵌入式设备。与设备通信的 API 很简单:获取/设置/获取参数和信号。
我想实现通用的 Web 应用程序以从一个点访问所有设备。
我的想法是向设备添加 XML RPC 接口,然后使用 ActiveResource 从 Web 服务器访问设备。在实践中似乎根本没有使用这种组合。
我可以自由选择设备内的任何协议。你有什么建议?
如果您已经在考虑 XML RPC,我假设您在设备上运行了某种 Web 服务器。我可能会选择基于 XML RPC 的 RESTful Web 服务。如果精心设计,您可以在 Rails 应用程序上提供相应的服务。
例如:
http://somedevice/signals.json
- 获取所有信号
http://yourrailsapp/somedevice/signals.json
- 获取某些设备的信号;http://yourrailsapp/devices/1/signals.json
如果这更有意义( ),您可以在此处使用 id 。
您可能在 Rails 社区中找不到太多 XML RPC 的东西。Rails 本身确实将您推向了 RESTful Web 服务。特别是面向资源的 RESTful 架构。那里有很多关于它的好书,但归结为使用 http 方法(get、put、post、delete)而不是传递参数和一些智能 URL。