在volttron之外调用@RPC方法

时间:2017-07-27 20:15:15

标签: volttron

假设我有一个带有@RPC修饰方法的运行伏特器代理(如果相关的话)。有没有办法从伏特通平台外部调用该方法? (在我的情况下来自django网络服务器)

2 个答案:

答案 0 :(得分:0)

代理可以在VOLTTRON Web服务上注册端点。可以根据需要为端点设置回调。

必须启用Web服务,并且代理需要将“enable_web = True”传递给基本代理构造函数。

您可以在此处找到文档和示例:http://volttron.readthedocs.io/en/develop/specifications/webframework.html

答案 1 :(得分:0)

除了kyle-monson提到的内容外,还必须使用bind参数运行Volttron。这将在给定的绑定arg上公开已注册的端点。 例如`volttron -vv --bind-web-address“ https://127.0.0.1:7080

在〜/ .volttron / config

中指定bind-web-address
[volttron]
message-bus = rmq
bind-web-address = https://127.0.0.1:7080

然后,您可以将HTTP POST请求发送到https://127.0.0.1:7080/rpc-method-name

请求URL中的

rpc-method-name是使用self.vip.web.register_endpoint("/rpc-method-name", self.call_back_method_for_endpoint)

的注册方法

回调方法采用两个参数“ env”和“ data”

有关这两个参数的更多详细信息,请检查文档here