将mosaik模拟数据发送到zeromq套接字。
mosaik-zmq的Python项目详细描述
莫斯科ZMQ
这个适配器是用来将mosaik模拟数据发送到数据流管理系统Odysseus。 奥德修斯允许在模拟过程中在线处理和可视化模拟结果。 更多信息可以在mosaik documentation中找到。
但是由于使用了ZeroMQ,这是一个高性能的异步消息传递库, mosaik zmq适配器还可用于在任何支持zeromq套接字的软件中处理或存储模拟结果。
安装
mosaik zmq可以使用pip安装:
$ pip install mosaik-zmq
mosaik zmq使用pyzmq模块如果在安装过程中出现错误, 安装python 3头和python zmq包(例如sudo apt-get install python3-devpython-zmq)
如果安装仍然不起作用,则可能需要安装C编译器(例如sudo apt-get install build-essential)
使用量
mosaik zmq适配器可以像任何其他组件一样添加到模拟场景中。 首先,您必须将以下代码添加到sim_config:
sim_config={'ZMQ':{'cmd':'mosaik-zmq %(addr)s',},}
初始化
当您启动mosaik zmq时,必须提供step大小和duration 争论。step_size定义发送数据的频率。这个 duration是模拟结束时间(秒)
示例:
zmqModel=world.start('ZMQ',step_size=15*60,duration=15*60*24*30)
模型实例化
mosaik zmq的每个实例都允许您创建 socket模型。Socket具有以下参数:
- host(默认值:'tcp://*:')是数据将发送到的主机的地址。
- port(默认值:5558)是主机接收数据的端口
- socket_type(默认值:“PUB”)是要为适配器和主机之间的连接打开的ZeroMQ套接字的类型可以使用两种不同的模式。默认值是'pub',代表publish subscribe pattern。或者可以使用push pull pattern('push')。
示例代码:
zmq=zmqModel.Socket(host='tcp://*:',port=5558,socket_type='PUB')
连接
要将数据发送到主机,zmq模型必须连接到场景定义中的其他模型。 基于mosaik-demo,场景可能如下:
pvsim=world.start('CSV',sim_start=START,datafile=PV_DATA)pvs=pvsim.PV.create(20)zmqModel=world.start('ZMQ',step_size=15*60,duration=15*60*24*30)zmq=zmqModel.Socket(host='tcp://*:',port=5558,socket_type='PUB')connect_many_to_one(world,pvs,zmq,'P')
获得帮助
如果您需要帮助,请访问mosaik-users mailing list
变更日志
0.1.1–2016年1月20日
- 更新的文档
0.1–2015年12月16日
- 初始版本