3.4 KiB
Details about used MQTT messages
Topic lists
Topic details
actuator
actuator/pump
Control the movement of the pump. The message is a JSON object:
{
"action": "move",
"direction": "FORWARD",
"volume": 10,
"flowrate": 1
}
This messages make the pump move 10mL forward at 1mL/min.
Another supported message is:
{
"action": "stop"
}
- Receive only
actuator/focus
Control of the focus stage. The message is a JSON object, speed is optional:
{
"action": "move",
"direction": "UP",
"distance": 0.26,
"speed": 1
}
This message makes the stage move up by 10mm.
Another supported message is:
{
"action": "stop"
}
- Receive only
imager/image
This topic controls the camera and capture. The message allowed is a JSON message:
{
"action": "image",
"pump_direction": "FORWARD",
"volume": 1,
"nb_frame": 200
}
Volume is in mL.
This topic can also receive a config update message:
{
"action": "config",
"config": {...}
}
A camera settings message can also be received here. The fields iso
and shutter_speed
are optionals:
{
"action": "settings",
"iso": 100,
"shutter_speed": 40
}
- Receive only
segmenter/segment
This topic controls the segmentation process. The message is a JSON object:
{
"action": "segment"
}
action
can also be stop
.
- Receive only
status
This high-level topic is used to send information to the Node-Red process. There is no publication or receive at this level.
status/pump
State of the pump. It's a JSON object with:
{
"status": "Started",
"duration": 25
}
Duration is a best guess estimate. It should not be used to control the other events. If you want to wait for a movement to finish, the best thing to do is to wait for the message Done
.
Status can be Started
, Ready
, Done
, Interrupted
, Error
, Dead
.
- Publish only
status/focus
State of the focus stage. It's a JSON object with:
{
"status": "Started",
"duration": 25
}
Duration is a best guess estimate. It should not be used to control the other events. If you want to wait for a movement to finish, the best thing to do is to wait for the message Done
.
Status is one of Started
, Ready
, Done
, Interrupted
, Error
, Dead
.
- Publish only
status/imager
State of the imager. It's a JSON object with:
{
"status": "Started",
"time_left": 25
}
Status is one of Started
, Ready
, Completed
or 12_11_15_0.1.jpg has been imaged
.
- Publish only
status/segmenter
Status of the segmentation. It's a JSON object with:
{
"status": "Started",
}
status
is one of Started
, Done
, Interrupted
, Busy
, Ready
or Dead
.
- Publish only
status/segmenter/object_id
{
"object_id": "13449"
}