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

Цель работы

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

Задачи работы

  1. Подключиться к ПК с установленным локальным сервером через удаленный терминал и подключить устройство к локальному серверу
  2. Создать хранилище для значений с датчика
  3. Привязать хранилище к облаку Alterozoom

Инструменты для выполения работы

  1. Компьютер с подключением к сети Internet.
  2. Плата Arduino с USB выходом (например, Arduino Uno) и загруженным скетчем из лабораторной работы "Разработка устройства для Alterozoom IoT".

Теоретическая часть

Локальный сервер Alterozoom является самостоятельной автономной точкой подключения устройств и сбора и обработки данных. Так же в нем реализована возможность дублирования данных, приходящих в локальное хранилище, в облачное хранилище Alterozoom.

Выполнение работы

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

Примечание: в случае использования одного локального сервера несколькими людьми одновременно, необходимо использовать разные имена устройств, поменяв скетч (заменить led_blink_test, например, на led_blink_test2, led_blink_test3 и т.д.). Соответственно, аналогичным образом заменять имя устройства и во всех командах, приведенных ниже в работе.
Аналогично, используемое ниже имя сенсора "agent_sin_x1" так же должно быть заменено на agent_sin_x2, agent_sin_x3 и т.д.
Для подключения к ПК с установленным локальным сервисом используется протокол SSH (и одноименная утилита под ОС Linux). Для операционной системы Windows доступна программа Putty. При подключении к ПК с локальным сервером нужно указать логин и пароль.
Примечание: если используется предварительно настроенный ПК с сервером, спросить логин и пароль у его администратора.
Следующим шагом нужно физически подключить устройство к ПК с локальным сервером USB кабелем.
Затем выполнить в открытом терминале команду
wliotproxy list_identified
и убедиться, что устройство с нужным идентификатором и именем led_blink_test присутствует в списке.

Создание хранилища для значений с датчика

Сперва нужно убедиться, что список датчиков с устройства доступен. Выполняем команду

wliotproxy list_sensors led_blink_test

и проверяем, что присутствуют два датчика с названиями blinks_count и sin_x.
Создаем хранилище для датчика sin_x командой

wliotproxy add_storage led_blink_test sin_x last_n_values add_global_time --N=100

Здесь "led_blink_test" - название устройства, "blinks_count" - название датчика на устройстве, "last_n_values" и "--N=100" означают, что будут храниться последние 100 значений, а add_global_time - что при записи данных нужно добавлять метку глобального (мирового) времени в локальном сервере.

Привязка хранилища к облаку Alterozoom

Для осуществления связи с облачным хранилищем Alterozoom на ПК с локальным сервером установлена дополнительная программа iotkit-agent (в дальнейшем "агент"). В этой программе присутствует свой набор компонентов, который идентичен набору на облачном сервере. При этом их названия могут не совпадать с названиями датчиков на устройствах.
Предположим, что мы хотим, чтобы наш датчик sin_x был привязан к компоненту в 
агенте с названием "agent_sin_x1".
Сначала создаем компонент в агенте командами

/opt/iotkit-agent-master/iotkit-admin.js register agent_sin_x1 raw.v1.0

 

su -c "systemctl restart iotkit-agent"
Примечание: в зависимости от способа установки и настройки iotkit-agent, в командах выше начальная часть "/opt/iotkit-agent-master/iotkit-admin.js" может быть заменена на "iotkit-agent" или что-то еще (уточняйте у администратора ПК с локальным сервером. Вторая команда при этом так же может быть другой или выполняться самим администратором.

После привязываем наше хранилище для датчика sin_x к созданному в агенте компоненту командой

wliotproxy bind_sensor iotkit-agent led_blink_test sin_x sensor_name:agent_sin_x1

Теперь все данные, попадающие в хранилище для датчика sin_x, будут дублироваться в облачное хранилище Alterozoom. Нужно зайти на сайт облачного сервиса Alterozoom, найти устройство, компонент agent_sin_x1 и посмотреть данные.

//TODO добавить ссылку на док-т с описанием облачного сервера ALterozoom и его веб-интерфейса