1.1.2. Admin API - Command References¶
Commands are implemented in each applications and plugins. These are accessible throught the commandline, or Admin core RPC endpoint.
1.1.2.1. AdminEmbedded commands (core admin)¶
Command |
Description |
example |
|---|---|---|
hello(STRINGFORCALLBACK) |
test communication, permit to validate the communication with the admin embedded |
hello(‘world’) |
get_application_list() |
list available applications |
get_application_list() |
get_machine_id() |
get the machine id, this is string taken from the CPUID is it exists |
get_machine_id() |
list_services() |
list all available services |
|
call_service(SERVICENAME, SERVICEMETHOD, args …) |
call service command with following arguments |
call_service(“wifi”, “hello”, “world”) |
send_event(SENDER, EVENTNAME, EVENTDATA) |
broacast an event to all services |
|
deploy_app(BUNDLEID) |
deploy an application |
take the application from the BUNDLEID folder from the “bundled_factory_apps” and deploy it to the deployed_application folder, to permit the configuration |
undeploy_app(APPLICATION_ID) |
undeploy an application |
remove the application |
activate_app(APPLICATION_ID, PARAMETERS) |
activate by configuring the application |
PARAMETERS are overloading the factory ones |
deactivate_app(APPLICATION_ID) |
deactivate the application |
deactivate a deployed application, using its applicationid |
start_app(APPLICATION_ID) |
start the application |
once the application is deployed and activated, start ir (start the process and monitor it), |
stop_app(APPLICATION_ID) |
stop the application |
|
get_app_status() |
get current app running status (from the last inspection) |
get_app_status() |
execute_command(COMMAND) |
execute the command contained in the string, and give the result back |
../../target/debug/admincli -c “execute_command(‘hello('baba')’)” |
reset_factory(FILE_WITH_COMMANDS) |
stop all services, clean the deployed elements, and execute the given command file |
|
describe_plugin(PLUGIN_OR_SERVICE) |
This function will return the methods and parameters associated to a plugin. |
Note : some plugin / service might not implement the describe_plugin endpoint |
1.1.2.2. RTCTime (service “time”)¶
Command |
Description |
example |
|---|---|---|
get_time() |
get the rtc time |
|
query_remote_time() |
return the remote time (ntp driven) |
|
See RTCTime Service
1.1.2.3. Powermanagement (service “power”)¶
Command |
Description |
example |
|---|---|---|
switch_battery_mode() |
||
powerdown(next_awake_date) |
schedule the next wake up and powerdown |
|
get_power_mode() |
get the current power management mode (powered / battery) |
|
watchdog() |
tell the powermanagement to credit more time to stay alive |
|
get_power_consumption() |
retrieve the battery accumulator register |
1.1.2.4. Wifiservice commands (service “wifi”)¶
Command |
Description |
example |
|---|---|---|
activate(ssid, password) |
activate wifi |
|
deactivate() |
deactivate wifi |
|
list_networks() |
return the network list |
call_service(‘wifi’,’list_networks’) |
get_ip_address() |
return the wifi wlan ipaddress |
call_service(‘wifi’, ‘get_ip_address’) |
activate_ap(AP_SSID, AP_PASSWORD) |
create an access point for the enrollment |
1.1.2.5. Transfers service commands (service “transfer”)¶
Transfert service permit to transfert some elements from local to remote and associated
Command |
Description |
example |
|---|---|---|
download(source_ref, sink_path) |
download file from the remote repository to local sink_path |
|
upload(source_ref, sink_path) |
upload file/folder from the source_ref to remote sink_path |
|
remove_on_remote(sink_path) |
remove some file/folder on remote (used for message passing) |
|
download_single_file(remote_ref, local_ref) |
download a single file (without any browsing on remote) |
|
http_request(url, method, headers, body) |
send a single http request |
1.1.2.6. eink commands (service eink)¶
Command |
Description |
example |
|---|---|---|
hello |
hello / test method to check connectivity |
|
eink_display |
first parameter is the BMP file to send to the screen |
|
eink_display_svg(SVG_CONTENT) |
render a given svg onto the screen |
|
eink_display_template(SVG_FILE, JSON_ENCODED_PARAMETERS) |
this render a templated svg, with the following parameters |
|
eink_display_draw(DRAWINSTRUCTIONS, OUTPUT_EINK_FILE_PATH) |
execute the json DRAWINSTRUCTIONS and generate an output eink file (that can be displayed using the eink_display function) |
|
eink_display_test_colors() |
display a test image |
Several command example :
./admincli -c 'call_service("eink","eink_display_template","/home/use/projets/2024-07-17_rsiotnode/output/x64/apps/deployed_applications/supervisor-1.0/enrollment.svg", "[]")'
1.1.2.7. Scheduler commands (service “scheduler”)¶
the scheduler plugin is responsible for getting jobs to be done at a specific time, and monitoring the result.
Command |
Description |
example |
|---|---|---|
get_jobs(ONLY_ACTIVES_JOBS) |
return the job description, takes a boolean in parameter |
get_jobs(False) |
get_next_execution_time(JOBID) |
return the next date for the job execution |
get_next_execution_time(1) |
get_next_execution_time_for_all_jobs() |
return all the next execution date for all active jobs |
get_next_execution_time_for_all_jobs() |
commit_job_execution(job_id, executiontime, status, result) |
commit the execution of a job, |
|
update_or_create_job(job_name, executed_expression,cron, activated ) |
Create or update a job with the associated elements |
|
remove_job(job_name) |
remove the given existing job |
1.1.2.8. Monitoring commands (service “monitoring”)¶
Monitor plugin is responsible to grab actions from the central, and apply them , using the admin API.
Command |
Description |
example |
|---|---|---|
upload_monitoring() |
ask the service the status, and upload the monitoring status to the transmitted content. |
|
process_administrative_commands() |
download the administrative commands to process and execute them, the result will be located in the status folder, uploaded |
1.1.2.9. NetworkManager commands (service “networkmanager”)¶
Command |
Description |
example |
|---|---|---|
check_connectivity() |
check if network is connected, by a specific mean |
1.1.2.10. Bluetooth(BT), serial connection¶
there are no associated commands, the bluetooth is activated as the service is running (started), one can then connect to the device and send some commands.
1.1.2.11. GPIO Service, (service “gpio”)¶
The gpio service permit to activate some general purpose input/output from the device
Command |
Description |
example |
|---|---|---|
set_gpio(gpio_number, gpio_value) |
Define a gpio value (output) |
|
get_gpio(gpio_number) |
return the read value from gpio (configured as read pin) |