节奏软件控制
|
要使用 AnyMath 中的KPM"RITM"的软件管理功能,请安装*AnyMath子系统。综合服务*:
|
本页包含 AnyMath 中KPM"RITM"的所有可用软件管理功能。
方法 里特姆
#
EngeeDeviceManager.Targets.RITM_API.Ritm — Method
RITM_API.Ritm(url::String)
Установление адреса машины РИТМ.
Аргументы
-
url::String: Адрес машины РИТМ, например, "http://192.168.56.3:8000/".
Примеры
# Создадим объект РИТМ:
ritm = RITM_API.Ritm("http://192.168.56.3:8000/")
#
EngeeDeviceManager.Targets.RITM_API.buildModel — Function
buildModel(ritm, model, is_interactive_mode::Bool=false)::Nothing
Собирает и подготавливает модель для запуска на РИТМе.
Аргументы
-
ritm::Any: объект целевой платформы РИТМ. -
model::Any: структура модели. -
is_interactive_mode::Bool: флаг, указывающий режим выполнения модели:true— модель выполняется в интерактивном режиме;false(по умолчанию) — модель выполняется в независимом режиме.
Примеры
# Собираем и запускаем на РИТМе открытую на холсте standalone-модель:
model = engee.gcm()
RITM_API.buildModel(ritm, model, false)
RITM_API.runModel(ritm, model, false)
#
EngeeDeviceManager.Targets.RITM_API.disableAutostart — Method
RITM_API.disableAutostart(ritm)::Dict{String, Union{String, Int64, Bool, Nothing}}
Удаление модели из автозапуска.
Аргументы
-
ritm::Any: объект целевой платформы РИТМ.
Примеры
RITM_API.disableAutostart(ritm)
#
EngeeDeviceManager.Targets.RITM_API.getAutostart — Method
RITM_API.getAutostart(ritm)::Union{Dict{String, Union{String, Int64, Bool, Nothing}}, Nothing}
Получение модели, находящейся в автозапуске.
Аргументы
-
ritm::Any: объект целевой платформы РИТМ.
Примеры
RITM_API.getAutostart(ritm)
#
EngeeDeviceManager.Targets.RITM_API.getData — Function
RITM_API.getData(ritm::Any, model_name::String, file_path::String, in_file::Bool = false)
返回基于节奏分析模型的结果。 视值而定 in_file 结果可以作为字符串返回,也可以使用指定的路径保存到文件中。
参数
-
ritm::Any:目标节奏平台的对象。 它是使用连续命令设置的ritm = Targets.RITM.Ritm()和Targets.RITM.set_url(ritm, "http://192.168.56.3:8000/"). -
model_name::String:请求分析数据的模型的名称。 -
file_path::String:保存结果的路径(如果in_file = true). 如果in_file = false,该值被忽略。 -
in_file::Bool = false:指定如何返回结果。 如果true,数据被保存到一个文件file_path. 如果false,返回结果字符串。
例子
# 以字符串形式获取分析数据
result = RITM_API.getData(ritm, "newmodel_1", "", false)
# 将数据保存到节奏上的文件
RITM_API.getData(ritm, "newmodel_1", "/user/profile.txt", true)
#
EngeeDeviceManager.Targets.RITM_API.getData — Method
RITM_API.getData(ritm::Any, model_name::String, file_path::String, in_file::Bool = false)
Возвращает результат профилирования модели на РИТМе. В зависимости от значения in_file, результат может быть возвращен как строка либо сохранен в файл по указанному пути.
Аргументы
-
ritm::Any: объект целевой платформы РИТМ. -
model_name::String: имя модели, для которой запрашиваются данные профилирования. -
file_path::String: путь, по которому сохранить результат (еслиin_file = true). Еслиin_file = false, значение игнорируется. -
in_file::Bool = false: указывает, как вернуть результат. Еслиtrue, данные сохраняются в файл поfile_path. Еслиfalse, возвращается строка с результатом.
Примеры
# Получает данные профилирования как строку
result = RITM_API.getData(ritm, "newmodel_1", "", false)
# Сохраняет данные в файл на РИТМе
RITM_API.getData(ritm, "newmodel_1", "/user/profile.txt", true)
#
EngeeDeviceManager.Targets.RITM_API.getDiagnostic — Method
getDiagnostic(ritm)::Nothing
Загружает диагностический архив ritm_diagnostic.zip в текущую директорию Engee.
Аргументы
-
ritm::Any: объект целевой платформы РИТМ.
Примеры
RITM_API.getDiagnostic(ritm)
#
EngeeDeviceManager.Targets.RITM_API.getFile — Method
RITM_API.getFile(ritm::Any, file_name::String; from=/mydir::String, to=::String)
检索指定的文件 file_name 从目录 /home/ritm/build/model_name/build/,在哪里 model_name -Engee中的模型名称。
参数
-
ritm::Any:目标节奏平台的对象。 它是使用连续命令设置的ritm = Targets.RITM.Ritm()和Targets.RITM.set_url(ritm, "http://192.168.56.3:8000/"). -
file_name::String:感兴趣的文件的名称。 -
from=/mydir::String:带有感兴趣文件的目录的路径(默认情况下/home/ritm/build/model_name/build/). -
to=::String:Engee中保存文件的目录路径(默认情况下在当前目录中)。
例子
RITM_API.getFile(ritm, "install_manifest.txt"; from="/home/ritm/build/newmodel_1/build/", to="")
#
EngeeDeviceManager.Targets.RITM_API.getLog — Method
RITM_API.getLog(ritm::Any, num::Int64)
返回节奏指定的模型执行日志行数。
参数
-
ritm::Any:目标节奏平台的对象。 它是使用连续命令设置的ritm = Targets.RITM.Ritm()和Targets.RITM.set_url(ritm, "http://192.168.56.3:8000/"). -
num::Int64:日志输出行数。
例子
RITM_API.getLog(ritm, 10)
#
EngeeDeviceManager.Targets.RITM_API.getPtpSettings — Method
getPtpSettings(ritm) -> Vector{String}
Получает сохраненные настройки PTP. Возвращает настройки PTP — вектор строк с выбранным интерфейсом, механизмом задержки, сетевым транспортом, ролью и атрибутами PTP-часов.
Примеры
getPtpSettings(ritm)
#
EngeeDeviceManager.Targets.RITM_API.getPtpState — Method
getPtpState(ritm) -> Vector{String}
Получает состояние PTP — вектор строк, обычно с интерфейсом, ролью и состоянием. Возвращает текущее состояние PTP: запущен или остановлен, а также интерфейс и роль, если PTP запущен.
Примеры
getPtpState(ritm)
#
EngeeDeviceManager.Targets.RITM_API.getScreenshot — Method
RITM_API.getScreenshot(ritm::Any, filename::String = "screenshot.png")
在目标节奏平台上创建屏幕截图,并返回保存图像的路径。 屏幕截图保存在节奏机器上的临时目录中。 可以显式指定输出文件的名称;默认情况下,使用该名称 "screenshot.png".
参数
-
ritm::Any:目标节奏平台的对象。 它是使用连续命令设置的ritm = Targets.RITM.Ritm()和Targets.RITM.set_url(ritm, "http://192.168.56.3:8000/"). -
filename::String = "screenshot.png":将保存屏幕截图的文件的名称(在节奏方面)。
例子
# 创建屏幕截图并获取其路径
path = RITM_API.getScreenshot(ritm, "example.png")
#
EngeeDeviceManager.Targets.RITM_API.isConnected — Method
RITM_API.isConnected(ritm::Any)
检查节奏的可用性。
参数
ritm::Any:目标节奏平台的对象。 它是使用连续命令设置的 ritm = Targets.RITM.Ritm() 和 Targets.RITM.set_url(ritm, "http://192.168.56.3:8000/").
例子
RITM_API.isConnected(ritm)
#
EngeeDeviceManager.Targets.RITM_API.isRunning — Method
RITM_API.isRunning(ritm::Any, model_name::String)
检查指定的模型是否在目标节奏平台上运行。 申报表 true 如果具有指定名称的模型当前在节奏机器上进行,并且 false 如果不执行。
参数
-
ritm::Any:目标节奏平台的对象。 它是使用连续命令设置的ritm = Targets.RITM.Ritm()和Targets.RITM.set_url(ritm, "http://192.168.56.3:8000/"). -
model_name::String:需要检查条件的模型的名称。
例子
# 检查"newmodel_1"模型是否正在运行
is_active = RITM_API.isRunning(ritm, "newmodel_1")
#
EngeeDeviceManager.Targets.RITM_API.listFiles — Method
RITM_API.listFiles(ritm::Any, path::String)
显示指定目录中的文件列表。
参数
-
ritm::Any:目标节奏平台的对象。 它是使用连续命令设置的ritm = Targets.RITM.Ritm()和Targets.RITM.set_url(ritm, "http://192.168.56.3:8000/"). -
path::String:感兴趣目录的路径。
例子
RITM_API.listFiles(ritm, "/home/ritm/")
#
EngeeDeviceManager.Targets.RITM_API.memInfo — Function
RITM_API.memInfo(ritm::Any, model::String)
显示有关模型消耗的内存的信息。
参数
-
ritm::Any:目标节奏平台的对象。 它是使用连续命令设置的ritm = Targets.RITM.Ritm()和Targets.RITM.set_url(ritm, "http://192.168.56.3:8000/"). -
model::String:模型的名称。 如果留空"",然后以窗体返回对系统进行分析的结果[total, used, free]. 如果指定模型名称,则返回模型消耗的内存字节数。
例子
RITM_API.memInfo(ritm, "newmodel_1")
#
EngeeDeviceManager.Targets.RITM_API.poweroff — Method
RITM_API.poweroff(ritm)::Dict{String, Union{String, Int64, Bool, Nothing}}
Выключает машину.
Аргументы
-
ritm::Any: объект целевой платформы РИТМ.
Примеры
RITM_API.poweroff(ritm)
#
EngeeDeviceManager.Targets.RITM_API.readFile — Method
RITM_API.readFile(ritm::Any, file_name::String; path=/mydir::String)
输出指定文件的内容 file_name 从目录 /home/ritm/build/model_name/build/,在哪里 model_name -Engee中的模型名称。
参数
-
ritm::Any:目标节奏平台的对象。 它是使用连续命令设置的ritm = Targets.RITM.Ritm()和Targets.RITM.set_url(ritm, "http://192.168.56.3:8000/"). -
file_name::String:感兴趣的文件的名称。 -
path=/mydir::String:带有感兴趣文件的目录的路径(默认情况下/home/ritm/build/model_name/build/).
例子
RITM_API.readFile(ritm, "install_manifest.txt"; path="/home/ritm/build/newmodel_1/build/")
#
EngeeDeviceManager.Targets.RITM_API.reboot — Method
RITM_API.reboot(ritm)::Dict{String, Union{String, Int64, Bool, Nothing}}
Перезагружает машину.
Аргументы
-
ritm::Any: объект целевой платформы РИТМ.
Примеры
RITM_API.reboot(ritm)
#
EngeeDeviceManager.Targets.RITM_API.removeFile — Method
RITM_API.removeFile(ritm::Any, path::String)::String
使用目标节奏平台上的指定路径删除文件。 从节奏返回文件删除状态。
参数
-
ritm::Any:目标节奏平台的对象。 它是使用连续命令设置的ritm = Targets.RITM.Ritm()和Targets.RITM.set_url(ritm, "http://192.168.56.3:8000/"). -
path::String:从节奏中删除文件的路径。
例子
using Main.EngeeDeviceManager.Targets
using Main.EngeeDeviceManager.RITM_API
# 创建节奏对象并设置地址
ritm = Targets.RITM.Ritm()
ritm.set_url("http://192.168.56.3:8000/")
# 删除节奏上的文件
status = RITM_API.removeFile(ritm, "/home/ritm/data/log.txt")
#
EngeeDeviceManager.Targets.RITM_API.resetPtpSettings — Method
resetPtpSettings(ritm) -> Dict{String, Union{String, Int64, Bool, Nothing}}
Сбрасывает сохраненные настройки PTP на РИТМе. Возвращает словарь с результатом операции: статус и сообщение об ошибке (если есть).
После сброса перед запуском PTP нужно заново настроить нужный интерфейс через setupEthPtp.
#
EngeeDeviceManager.Targets.RITM_API.runModel — Function
RITM_API.runModel(
ritm,
model,
is_interactive_mode::Bool=false;
simulation_uuid=string(uuid4()),
status_callback=(args...) -> nothing,
termination_callback=(args...) -> nothing,
) -> Union{Channel{TargetSimulationStatus}, Nothing}
Запустить на РИТМе ранее собранную модель.
Аргументы
-
ritm::Any: объект целевой платформы РИТМ. -
model::Any: структура модели. -
is_interactive_mode::Bool: флаг, указывающий режим выполнения модели:true— модель выполняется в интерактивном режиме;false(по умолчанию) — модель выполняется в независимом режиме. -
simulation_uuid::String: идентификатор запуска для интерактивного режима. -
status_callback: функция вызывается для каждого полученного статуса выполнения. -
termination_callback: функция вызывается по завершении интерактивного выполнения.
Значение nothing используется для автономного выполнения или для канала состояния интерактивного выполнения.
Примеры
RITM_API.runModel(ritm, model)
#
EngeeDeviceManager.Targets.RITM_API.setAutostart — Method
RITM_API.setAutostart(ritm, model_name::String)::Dict{String, Union{String, Int64, Bool, Nothing}}
Помещение модели в автозапуск.
Аргументы
-
ritm::Any: объект целевой платформы РИТМ. -
model_name::String: имя модели.
Примеры
RITM_API.setAutostart(ritm)
#
EngeeDeviceManager.Targets.RITM_API.setupEthPtp — Function
setupEthPtp(
ritm,
eth_number,
role="Master";
delay_mech="E2E",
network_tr="UDPv4",
priority1=128,
priority2=128,
clock_class=248,
clock_accuracy=254,
) -> Dict{String, String}
Настраивает PTP на выбранном Ethernet-интерфейсе РИТМа. Возвращает словарь с результатом операции: статус и сообщение об ошибке (если есть).
Аргументы
-
eth_number: номер Ethernet-интерфейса РИТМа, например1для Ethernet 1. -
role: задает роль локальных часов PTP:"Master"или"Slave". -
delay_mech: режим работы PTP. Возможные значения"E2E","P2P"или"Auto". Значение по умолчанию"E2E". -
network_tr: сетевой протокол. Возможные значения"UDPv4","UDPv6"and"L2". Значение по умолчанию"UDPv4". -
priority1: атрибут локальных часов"Приоритет 1". Возможный диапазон0до255. Значение по умолчанию128. -
priority2: атрибут локальных часов"Приоритет 2". Возможный диапазон0до255. Значение по умолчанию128. -
clock_class: атрибут локальных часов"Класс". Возможный диапазон0до255. Значение по умолчанию248. -
clock_accuracy: атрибут локальных часов"Точность". Возможный диапазон0до255. Значение по умолчанию254.
#
EngeeDeviceManager.Targets.RITM_API.setupEthernet — Method
RITM_API.setupEthernet(ritm, interface_id::Int64, ip::String, mask::Int64)::Dict{String, Union{String, Int64, Bool, Nothing}}
Настройка Ethernet-интерфейса машины.
Аргументы
-
ritm::Any: объект целевой платформы РИТМ. -
interface_id::Int64: идентификатор Ethernet-интерфейса. -
ip::String: IP-адрес интерфейса. -
mask::Int64: маска сети.
Примеры
RITM_API.setupEthernet(ritm, 0, "192.168.0.10", 24)
#
EngeeDeviceManager.Targets.RITM_API.startPtp — Method
startPtp(ritm, eth_number) -> Dict{String, Union{String, Int64, Bool, Nothing}}
Запускает PTP на выбранном Ethernet-интерфейсе РИТМа. Возвращает словарь с результатом операции: статус и сообщение об ошибке (если есть).
Перед запуском PTP необходимо настроить интерфейс через setupEthPtp.
Аргументы
-
eth_number: номер Ethernet интерфейса. Возможные значения"HostTarget"или"1"—"max ethernet number".
Примеры
startPtp(ritm, 1)
#
EngeeDeviceManager.Targets.RITM_API.stopModel — Method
RITM_API.stopModel(ritm)::Nothing
Останавливает модель на РИТМе.
Аргументы
-
ritm::Any: объект целевой платформы РИТМ.
Примеры
RITM_API.stopModel(ritm)
#
EngeeDeviceManager.Targets.RITM_API.stopPtp — Method
stopPtp(ritm, eth_number) -> Dict{String, Union{String, Int64, Bool, Nothing}}
Останавливает PTP на выбранном Ethernet-интерфейсе РИТМа. Возвращает словарь с результатом операции: статус и сообщение об ошибке (если есть).
Аргументы
-
eth_number: номер Ethernet интерфейса. Возможные значения"HostTarget"или"1"—"max ethernet number".
Примеры
stopPtp(ritm, 1)
#
EngeeDeviceManager.Targets.RITM_API.updateFirmware — Function
RITM_API.updateFirmware(
ritm,
firmware_path::String="",
checksum_path::String="";
reboot::Bool=true,
show_progress=false,
)::Nothing
Обновляет прошивку РИТМ.
Аргументы
-
ritm::Any: объект целевой платформы РИТМ. -
firmware_path::String: локальный путь к файлу прошивки. -
checksum_path::String: локальный путь к файлу контрольной суммы. -
reboot::Bool: перезагрузка машины РИТМ после успешного обновления. Значение по умолчанию —true. -
show_progress::Bool: вывести в лог информацию о ходе обновления.
Примеры
RITM_API.updateFirmware(ritm; show_progress=true)
RITM_API.updateFirmware(ritm, "/user/firmware.raucb", "/user/firmware.raucb.checksum")
#
EngeeDeviceManager.Targets.RITM_API.updateSupportPackage — Function
RITM_API.updateSupportPackage(ritm, support_package_path::String=""; show_progress=false)::Nothing
Обновляет пакет поддержки РИТМ.
Если аргумент support_package_path не указан, устанавливается пакет, соответствующий текущей версии Engee. Если аргумент support_package_path задан, устанавливается пакет из указанного локального файла.
Аргументы
-
ritm::Any: объект целевой платформы РИТМ. -
support_package_path::String: локальный путь к пакету поддержки. -
show_progress::Bool: выводить в лог информацию о ходе выполнения обновления.
Примеры
RITM_API.updateSupportPackage(ritm)
RITM_API.updateSupportPackage(ritm, "/user/ritm_support_package.tar.gz"; show_progress=true)
#
EngeeDeviceManager.Targets.RITM_API.uploadFile — Method
RITM_API.uploadFile(ritm::Any, filename::AbstractString; from::AbstractString=pwd(), to::AbstractString="/home/ritm")::String
从Engee上传文件到目标节奏平台。
参数
-
ritm::Any:目标节奏平台的对象。 它是使用连续命令设置的ritm = Targets.RITM.Ritm()和Targets.RITM.set_url(ritm, "http://192.168.56.3:8000/"). -
filename::AbstractString:上传到服务器的文件的名称。 -
from::AbstractString = pwd():Engee中下载文件所在目录的路径(默认为当前目录)。 -
to::AbstractString = "/home/ritm":文件将被上传的节奏上的路径(默认情况下 —/home/ritm).
例子
using Main.EngeeDeviceManager.Targets
using Main.EngeeDeviceManager.Targets.RITM.RITM_API
# 创建节奏对象并设置地址
ritm=目标。里特姆里特姆()
里特姆set_url("http://192.168.56.3:8000 /")
# 下载测试文件。从目前的情况来看,从目前的情况来看,从目前的情况来看,从目前的情况来看,从目前的情况来看,从目前的情况来看,从目前的情况来看,从目前的情况来看,
res=RITM_API。uploadFile(ritm,"测试。斌")
# 从客户的登记册(/用户/)下载文件。..)到节奏上的指定目录
res=RITM_API。uploadFile(ritm,"install_manifest。txt";from="/user/project/",to="/home/ritm/data/")