How to control a Pixotope service
To read from or control any Pixotope Service, or do general data integration, you can do a
direct integration using ZeroMQ
OR a relayed integration via HTTP requests using Pixotope Gateway
Our message scheme is based on ZeroMQ.
Not interested in reading documentation? Check out Pixotope API - Examples and come back when you get stuck.
Using ZeroMQ
Set up Zero MQ
Checkout ZeroMQ’s Get started page - https://zeromq.org/get-started/
Specify network settings
The subscriber binds to (listening)
Port 16201
The publisher binds to (sending)
Port 16202
Data hub PX_Datahub.exe
, which is auto started by Pixotope, is expected to run on your machine.
How to control?
The Pixotope API provides additional to the standard Get, Set, Reset, Update commands also commands for more advanced use cases.
Learn more about the Pixotope API - Message Scheme and the available message types
What to control?
The Pixotope API allows to control almost all aspects of a Pixotope network.
Learn more about the different Pixotope services, their states and their custom RPC calls
Python example
In this example setting of two different parameters is showcased (only one of them used)
Setting the shadow strength on a chroma key parameter of a VideoIO element
Setting custom data on the Pixotope Store state
import zmq
import time
import json
import math
def jsonToSendable(input):
return json.dumps(input, separators=(',', ':')).encode()
context = zmq.Context()
pub = context.socket(zmq.PUB)
pub.connect("tcp://localhost:16202")
testParam = "State.MyExampleData"
keyVal = "State.VideoIO.86c9c3d4-e303-4b5b-b2bc-e876da94f973.Chromakey.ShaderParams.ShadowStrength"
topic = jsonToSendable({"Type":"Set","Target":"Store","Name":keyVal})
currentVal = 0;
while True:
currentVal = math.fmod(currentVal + 0.01, 1)
message = jsonToSendable({"Value":currentVal})
pub.send_multipart([topic, message])
time.sleep(0.01)
https://bitbucket.org/futureuniverse/developertools/src/master/pythonDataExample/
Check out more Pixotope API - Examples
Using HTTP requests via Pixotope Gateway
Learn more about How to use Pixotope Gateway