4.1.1. FluxRobot¶
fluxclient.robot provides an interface to control a FLUX device.
An example to connect and control a device:
from fluxclient.commands.misc import get_or_create_default_key
from fluxclient.robot import FluxRobot
client_key = get_or_create_default_key("./sdk_connection.pem")
robot = FluxRobot(('192.168.18.114', 23811), client_key)
Note
You might want to check this link for details.
# Case 1: Get device from uuid device = discover_device(uuid) robot = device.connect_robot(client_key)
# Case 2: Connect to robot directly robot = FluxRobot((metadata[“ipaddr”], 23811), client_key)
-
class
fluxclient.robot.robot.
FluxRobot
(endpoint, client_key, device=None, ignore_key_validation=False)¶ A FluxRobot object represents a live connection with a FLUX device.
Parameters: - endpoint (tuple) – A tuple contain a pair of IP address and port to connect. For example: (“192.168.1.1”, 23811)
- client_key (encrypt.KeyObject) – Client identify key
- device (dict) – Device instance to assign value because it may has different definition in different version.
-
list_files
(path)¶ List files on the device.
Parameters: path (str) – Path on device, must start with /SD/ or /USB/ Returns: An array of files and directories. Each array element is a tuple, first is a boolean present this name is a folder or not and second is the name of the file or folder. Return type: list
-
file_info
(path)¶ Gets fcode information from specific file path.
Parameters: path (str) – File path on the device Returns: [ {“f-code-metadata-key”: “f-code-metada-value”, ...}, [(“image”, b’image buffer object’), ...] ] The first return element in array is a key-value information of f-code the second is a list of preview images. Image list length may be 0. Return type: list
-
file_md5
(path)¶ Gets file md5 on the device.
Parameters: path (str) – File path on the device Returns: MD5 hex Return type: str
-
mkdir
(path)¶ Creates a folder on the device storage.
Parameters: path (str) – Path to be created
-
rmdir
(path)¶ Removes folder on the device storage.
Parameters: path (str) – Path to be removed
-
cpfile
(source_path, dist_path)¶ Copies a file on the device.
Parameters: - source_path (str) – File can be on device or usb disk
- dist_path (str) – File can be copied only to the device
-
rmfile
(path)¶ Removes a file on the device.
Parameters: path (str) – File to be deleted
-
download_file
(path, stream, process_callback=None)¶ Downloads a file from the device.
Parameters: - path (str) – File on device for download
- stream (filelike_obj) – A local file-like object to write
- process_callback (function) – A callable object which will be invoked during download progress
-
upload_file
(filename, upload_to='#', process_callback=None)¶ Uploads a file to the device.
Parameters: - filename (str) – File to upload to device
- upload_to (str) – Path on device to upload to
- process_callback (function) – A callable object which will be invoked during upload progress
-
upload_stream
(stream, mimetype, size, upload_to='#', process_callback=None)¶ Uploads a file to the device. ( In file stream )
Parameters: - stream (file) – Filelike object
- mimetype (str) – Contents mimetype
- size (int) – Contents size
- upload_to (str) – Path on device to upload to
- callback (function) – A callable object which will be invoke during upload progress
-
yihniwimda_upload_stream
(mimetype, size, upload_to='#')¶ Yes, I have no idea what I’m doing about upload stream. You can use it if and only if you have any idea about this:
- for feeder in robot.yihniwimda_upload_stream(...):
- recived_size = feeder(buffer) print(“%i bytes sent” % recived_size)
print(“Done”)
-
select_file
(path)¶ Selects a file to run.
Parameters: path (str) – Path on device
-
start_play
()¶ Starts currently selected task.
-
pause_play
()¶ Pauses current task.
-
abort_play
()¶ Aborts current task.
-
resume_play
()¶ Resumes current task.
-
report_play
()¶ Reports current task status.
-
play_info
()¶ Shows current task info.
-
quit_play
()¶ Quits from current task status.
-
deviceinfo
¶ Gets the device information
-
config
¶ Gets a subscriptable device config object.
-
kick
()¶ Kicks a work session which occupied the device.
-
update_firmware
(stream, size, process_callback=None)¶ Uploadshen and t updates a flux device firmware
-
scan
()¶ Begins a scanning task and return a scan object
-
maintain
()¶ Begins a maintaining task and return a scan object
-
close
()¶ Closes a device connection