Удаленное подключение к ПК с локальным сервером

Для удаленного подключения к ПК с установленным ЛС может использоваться протокол SSH (и одноименная утилита под ОС Linux). Для операционной системы Windows доступна программа Putty. При подключении нужно указать логин и пароль пользователя на том ПК, где установлен ЛС.

После подключения становится доступен интерфейс командной строки операционной системы. При подключении из ОС Linux как правило становится возмодным запускать удаленно приложения с графическим интерфейсом и видеть сам интерфейс на своем ПК. Putty под ОС WIndows такую возможность не предоставляет.
 

Создание пользователей для удаленного подключения к локальному серверу

Управление пользователями на локальном сервере:

  1. Добавление пользователя (запрашивает пароль в процессе): $ wliotproxy apm user create
  2. Смена пароля пользователя (запрашивает пароль в процессе): $ wliotproxy apm user chpass user_name

После первого запуска ЛС автоматически будет добавлен суперпользователь с id 0 и именем root, но не будет задан его пароль, поэтому подключиться удаленно не получится.
 

Различные сценарии работы с локальным сервером

Подключение устройств

Просмотр списка последовательных портов
$ 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