使python函数易于从node red访问
pynodered的Python项目详细描述
Pynodered
关于
使用一个简单的decorator使python函数在node red中可用。
pynodered是一个与node red通信的服务器,以使python函数作为node red中的块可用。pynodered读取模块和python文件,其中包含用“node_red”修饰的函数,并将它们注册为node red中的块。然后,pynodred处理node red(在javascript中)之间的通信,以便在块接收到消息时运行函数。
快速启动
需要python>;=3.5
$ pip install pynodered
示例
将消息的有效负载小写的简单示例:
frompynoderedimportnode_red@node_red(category="pyfuncs")deflower_case(node,msg):msg['payload']=str(msg['payload']).lower()returnmsg
将此代码片段放入“example.py”文件中,使用以下命令运行pynodered服务器:
$ pynodered example.py
在另一个控制台中:
$ node-red
在node red中,现在有了一个新的类别“pyfuncs”,其中有一个小写的函数。它可以在流中用作任何其他块:
通过在decorator中定义一个属性,可以添加块属性(由用户以节点红色提供的常量参数):
frompynoderedimportnode_red,NodeProperty@node_red(category="pyfuncs",properties=dict(number=NodeProperty("Number",value="1")))defrepeat(node,msg):msg['payload']=msg['payload']*int(node.number.value)returnmsg
每次python文件更改时,不要忘记重新启动pynodered服务器。node red也需要重新启动,但仅当函数名或属性更改或添加新函数时才需要重新启动。然后需要刷新浏览器。
默认情况下,pynodered导出node red包“pynodered”和类别“default”中的函数。可以使用decorator可选参数更改类别名称。对于包的名称和信息,包含函数的python模块可以声明如下的“package”命令:
package={"name":"FFT filters","version":"0.01","description":"Nodes written in Python for signal processing",}
许可证
版权所有(c)2019 Ghislain Picard
自由软件:GNU通用公共许可v3
这个包是toma_solc for sigfox工具箱最初编写的代码的重写和扩展。 https://github.com/sensorlab/sigfox-toolbox/tree/master/node-red-python。 版权所有(2017)SensorLab,Jo_ef Stefan Institutehttp://sensorlab.ijs.si,并根据GPL版本3获得许可
历史记录
0.1.0(2019-01-08)
- pypi上的第一个版本。