УСТАНОВКА НА LINUX

Одна команда — и
устройство в сети

Скрипт сам определит систему, установит сервис Green-Signal,
настроит автозапуск и подключит устройство к вашему аккаунту.

$ curl -fsSL https://app.green-signal.ru/install.sh | sudo bash
Debian · Ubuntu · Armbian amd64 · arm64 · arm Нужны права root Нужен доступ в интернет

Как это проходит

От запуска команды до работающего устройства — несколько минут.
Вводить в терминале ничего не нужно.

  1. Запустите команду

    Скрипт проверит систему и скачает свежую сборку под вашу архитектуру.

  2. Откройте ссылку из терминала

    Скрипт напечатает ссылку. Откройте её в браузере на любом устройстве — на компьютере или телефоне — и войдите в свой аккаунт.

  3. Назовите устройство

    Сайт увидит, что установщик ждёт, и попросит имя нового устройства. После этого скрипт сам получит настройки, включит автозапуск и запустит сервис.

  4. Выберите проект

    Вернитесь в браузер: сайт дождётся, пока устройство выйдет в сеть, и предложит подключить его к проекту.

$ curl -fsSL https://app.green-signal.ru/install.sh | sudo bash ==> Система: Debian 12, arm64, systemd
==> Загрузка компонентов… готово

Откройте ссылку и войдите в аккаунт:
  https://welcome.green-signal.ru/?device=7f3a9c1e5b2d ==> Ожидание подтверждения (до 30 минут)… готово ==> Автозапуск настроен, сервис запущен

Устройство boiler-1 готово к работе.
Продолжайте на сайте. Если закрыли вкладку:
  https://welcome.green-signal.ru/?alias=…
Ссылка действует 30 минут. Не закрывайте терминал, пока скрипт ждёт подтверждения. Если время вышло — запустите команду ещё раз, появится новая ссылка.

Несколько устройств на одной машине

На одной машине может работать несколько устройств Green-Signal — у каждого своё имя (Global ID) и свой ключ. Второй сервис для этого не нужен: все устройства обслуживает один.

  1. Запустите ту же команду ещё раз

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

  2. Выберите «Добавить ещё одно устройство»

    Введите 2 и нажмите Enter. Появится новая ссылка — как при первой установке.

  3. Задайте новое имя

    Откройте ссылку и назовите устройство. Имя должно отличаться от тех, что уже есть на этой машине: с занятым именем скрипт остановится, ничего не изменив, и его придётся запустить ещё раз.

  4. Выберите проект

    Новое устройство подключается к проекту так же, как первое. Настройки прежних устройств не меняются: сервис только перезапустится. У каждого устройства своя папка в /etc/sdmOpcServer/configs.

$ curl -fsSL https://app.green-signal.ru/install.sh | sudo bash ==> Система: Debian 12, arm64, systemd
==> Загрузка компонентов… готово ==> Устройства на этой машине: boiler-1
Что сделать?
  1) Обновить программы — настройки устройств не трогать
  2) Добавить ещё одно устройство
  3) Перенастроить устройство — стереть его настройки и заново привязать к проекту
Выберите [1]: 2
==> Имя нового устройства на сайте должно отличаться от уже существующих

Откройте ссылку и войдите в аккаунт:
  https://welcome.green-signal.ru/?device=c41d08e7a96b ==> Ожидание подтверждения (до 30 минут)… готово ==> Автозапуск настроен, сервис запущен

Устройство boiler-2 готово к работе.
Продолжайте на сайте. Если закрыли вкладку:
  https://welcome.green-signal.ru/?alias=… $ ls /etc/sdmOpcServer/configs
boiler-1.globalid  boiler-2.globalid

Повторный запуск, сброс, удаление

Обновить, добавить или перенастроить устройство

Запустите ту же команду ещё раз. Скрипт покажет устройства на этой машине и спросит, что сделать:

  1. Обновить программы — настройки устройств не меняются. Это выбор по умолчанию, а без терминала (например, из cron) скрипт делает только его.
  2. Добавить ещё одно устройство — появится новая ссылка, как при первой установке. Задайте имя, которого на этой машине ещё нет. Пример — выше.
  3. Перенастроить устройство — его настройки сотрутся, ключ останется. Скрипт напечатает ссылку, чтобы заново привязать устройство к проекту.
$ curl -fsSL https://app.green-signal.ru/install.sh | sudo bash

Установить с нуля

Ключ --reset стирает всю установку. Скрипт спросит, какое устройство оставить: его ключ сохранится, и по напечатанной ссылке его можно заново привязать к проекту. Можно не оставлять ни одного — тогда заводится новое устройство. Стёртые устройства останутся в проекте выключенными — удалите их там вручную.

$ curl -fsSL https://app.green-signal.ru/install.sh | sudo bash -s -- --reset

Удалить

Ключ --uninstall останавливает сервис, убирает автозапуск и удаляет папку /etc/sdmOpcServer вместе с настройками.

$ curl -fsSL https://app.green-signal.ru/install.sh | sudo bash -s -- --uninstall

Управление сервисом

Сервис называется green-signal-opc и запускается вместе с системой. Файлы лежат в /etc/sdmOpcServer.

Системы с systemd

Большинство современных систем: Debian, Ubuntu, Armbian, Wiren Board.

$ sudo systemctl status green-signal-opc
$ sudo systemctl restart green-signal-opc
$ sudo journalctl -u green-signal-opc -f

Системы без systemd

Старые системы с init.d, например Segnetics.

$ sudo service green-signal-opc status
$ sudo service green-signal-opc restart
$ tail -f /etc/sdmOpcServer/watchdog.log

Старые устройства: подготовка

На старых системах команда установки может сразу завершиться ошибкой сертификата — например, SSL certificate problem. Причин две: сбитые часы или устаревшие корневые сертификаты. Исправьте их один раз и запустите установку снова.

1. Проверьте дату и время

Если дата неверная, защищённое соединение не установится. Посмотрите текущее время и при необходимости задайте правильное.

$ date
$ sudo date -s "ГГГГ-ММ-ДД ЧЧ:ММ:СС"

2. Обновите корневые сертификаты

Для старых систем на Debian 9 пакет можно скачать из архива Debian по обычному HTTP. После загрузки вычислите SHA-256 и сравните его с контрольной суммой из доверенного источника Debian, полученной по защищённому соединению на другом устройстве.

$ curl -fLO http://archive.debian.org/debian-security/pool/updates/main/c/ca-certificates/ca-certificates_20200601~deb9u2_all.deb $ sha256sum ca-certificates_20200601~deb9u2_all.deb

Устанавливайте пакет только при полном совпадении контрольной суммы. Если она отличается или проверить её не удалось — не продолжайте: файл может быть повреждён или подменён. Для других версий системы используйте подходящий пакет из её официального репозитория.

$ sudo dpkg -i ca-certificates_20200601~deb9u2_all.deb
$ sudo update-ca-certificates

3. Запустите установку

Вернитесь к команде установки в начале страницы.

Если что-то пошло не так

Ошибка сертификата при запуске команды

Обычно это неверное время на устройстве или устаревшие корневые сертификаты. Выполните шаги из раздела «Старые устройства: подготовка».

Пишет «sudo: command not found»

На некоторых устройствах вы уже работаете под пользователем root, и sudo там не установлен. Запустите команду без него.

$ curl -fsSL https://app.green-signal.ru/install.sh | bash
Сайт пишет «Ищем установщик» и не идёт дальше

Сайт ждёт, пока установщик выйдет на связь. Проверьте, что команда в терминале ещё выполняется и у устройства есть доступ в интернет. Если установщик остановлен или прошло больше 30 минут — запустите команду ещё раз и откройте новую ссылку.

Скрипт перестал ждать или ссылка не открывается

Ссылка живёт 30 минут и только пока работает скрипт. Запустите команду установки ещё раз — уже скачанное переустановится быстро, и появится новая ссылка.

Закрыл вкладку браузера до выбора проекта

В конце работы скрипт печатает запасную ссылку вида welcome.green-signal.ru/?alias=…. Откройте её — сайт продолжит с того же места. Эта ссылка не устаревает.

Сайт долго не видит устройство

Проверьте, что у устройства есть доступ в интернет и верное время, затем посмотрите журнал сервиса — команды есть в разделе «Управление сервисом».

Пишет, что архитектура не поддерживается

Поддерживаются x86_64, aarch64 и armv7l. Узнать архитектуру устройства можно командой uname -m.