Для удаленного подключения к ПК с установленным ЛС может использоваться протокол SSH (и одноименная утилита под ОС Linux). Для операционной системы Windows доступна программа Putty. При подключении нужно указать логин и пароль пользователя на том ПК, где установлен ЛС.
После подключения становится доступен интерфейс командной строки операционной системы. При подключении из ОС Linux как правило становится возможным запускать удаленно приложения с графическим интерфейсом и видеть сам интерфейс на своем ПК. Putty под ОС WIndows такую возможность не предоставляет.
В данном документе собраны примеры команд для управления локальным сервером из командной строки.
Добавление пользователя (запрашивает пароль в процессе)
$ wliotproxy apm user create test1
Просмотр списка пользователей
$ wliotproxy apm user list
data: 0|root
data: 2|test1
Задание пароля пользователя (запрашивает пароль в процессе)
$ wliotproxy apm user chpass user1
Создание группы пользвателей
$ wliotproxy apm grp create grp1
Добавление пользователя в группу
$ wliotproxy apm grp add_user grp1 user1
Просмотр пользователей в группе
$ wliotproxy apm grp list_users grp1
test1|root
Смена модератора в группе
$ wliotproxy apm grp set_moder grp1 user1
Захват устройства во владение
$ wliotproxy apm dev chown f0df78da-785a-4fe5-8703-2b5857006bb0
Передача устройства во владение другому пользователю
$ wliotproxy apm dev chown f0df78da-785a-4fe5-8703-2b5857006bb0 user2
Просмотр списка устройств во владении
$ wliotproxy apm dev list
{f0df78da-785a-4fe5-8703-2b5857006bb0}
Установка прав доступа для устройства
$ wliotproxy apm dev set_rule f0df78da-785a-4fe5-8703-2b5857006bb0 u user2 rs
Просмотр прав доступа для устройства
$ wliotproxy apm dev list_rules f0df78da-785a-4fe5-8703-2b5857006bb0
data: u|user2|rs
Просмотр списка последовательных портов
$ wliotproxy list_tty
Tty device:
port: ttyACM1
serialNumber: 9543231343835130B2F1
manufacturer: Arduino LLC (www.arduino.cc)
usb vendor id (0 - not a usb device): 2341 (Arduino SA)
usb product id (0 - not a usb device): 0243 ()
Tty device:
port: ttyACM0
serialNumber:
manufacturer: Arduino LLC
usb vendor id (0 - not a usb device): 2341 (Arduino SA)
usb product id (0 - not a usb device): 8036 (Leonardo (CDC ACM, HID))
Tty device:
port: ttyS0
serialNumber:
manufacturer:
usb vendor id (0 - not a usb device): 0 ()
usb product id (0 - not a usb device): 0 ()
Идентификация устройства
$ wliotproxy identify_tty ttyACM1
Device identified: id={f84526c1-5e88-4315-81f8-f7da45daa09d} name=led_blink_test
Просмотр списка идентифицированных устройств
$ wliotproxy list_identified
Identified device:
uid: {f84526c1-5e88-4315-81f8-f7da45daa09d}
name: led_blink_test
connection type: tty
port or address: ttyACM1
Просмотр списка датчиков
$ wliotproxy list_sensors led_blink_test
Sensor:
Name:blinks_count
Type:f32_sv_nt
Attributes:
Sensor:
Name:sin_x
Type:f32_d2_sv_nt
Attributes:
Sensor:
Name:sin_x_txt
Type:txt_d2_sv_nt
Attributes:
Просмотр списка команд
$ wliotproxy list_commands led_blink_test
Commands list with arguments
COMMAND: blink
name: delay
attributes: QMap((max, 1000)(min, 100))
COMMAND: get_blinks_count
Задание имени устройства
$ wliotproxy set_dev_name led_blink_test led_test_new_name
Добавление хранилища
$ wliotproxy add_storage led_blink_test sin_x last_n_values add_global_time --N=1000
Просмотр списка хранилищ
$ wliotproxy list_storages
Storage:
device id: {f84526c1-5e88-4315-81f8-f7da45daa09d}
device name: led_blink_test
sensor name: sin_x
sensor values type: f32_d2_sv_nt
attributes:
storage type: last_n_values
timestamp transformation rule: add_global_time
stored values type: f32_d2_sv_gt
Установка атрибута
$ wliotproxy storage_set_attr led_blink_test sin_x author "Vasya Pupkin"
Запрос атрибута
$ wliotproxy storage_get_attr led_blink_test sin_x author
Vasya Pupkin
Запрос количества значений
$ wliotproxy get_samples_count led_blink_test sin_x
1000
Запрос 10 последних значений
$ wliotproxy get_samples led_blink_test sin_x 990 10
data: 1537438894897|0.93829065561294556|-0.34584754705429077
data: 1537438895401|0.89908665418624878|-0.43777057528495789
data: 1537438895904|0.85088759660720825|-0.52534765005111694
data: 1537438896408|0.7941858172416687|-0.60767495632171631
data: 1537438896912|0.72954773902893066|-0.68392986059188843
data: 1537438897416|0.6576194167137146|-0.75335031747817993
data: 1537438897919|0.57914441823959351|-0.81522494554519653
data: 1537438898423|0.49485912919044495|-0.86897313594818115
data: 1537438898923|0.40562871098518372|-0.91403788328170776
data: 1537438899423|0.31234493851661682|-0.94996869564056396
Удаление хранилища
$ wliotproxy remove_storage led_blink_test sin_x
Просмотр списка доступных сервисов
$ wliotproxy available_data_export_services
iotkit-agent|alterozoom|thingspeak
Добавление экспорта
$ wliotproxy data_export add led_blink_test sin_x alterozoom host:ecoimpact-ple.com email:test@example.com
Просмотр списка настроенных сервисов
$ wliotproxy data_export list led_blink_test sin_x
External services configured for data export:
alterozoom
Просмотр конфигурации экспорта
$ wliotproxy data_export get led_blink_test sin_x alterozoom
External service configuration:
host: ecoimpact-ple.com
email: test@example.com
Удаление экспорта
$ wliotproxy data_export remove led_blink_test sin_x alterozoom
Просмотр списка скриптов
$ wliotproxy js_program list
test.js
Запуск скрипта (аналогично остановка и перезапуск)
$ wliotproxy js_program start test.js
f0df78da-785a-4fe5-8703-2b5857006bb0 - идентификатор устройства
u - права задаются на пользователя (g - на группу)
user2 - имя пользователя или название группы
rs - строка, описывающая права доступа, если она отсутствует, права для субъекта отменяются
возможные символы в строке прав доступа:
r - пользователь (или группа пользователей) может запрашивать данные с датчиков устройства
m - пользователь может управлять хранилищами для данных с датчиков устройства
s - пользователь может запрашивать состояние устройства
e - пользователь может выполнять команды на устройстве