myfabric-connector


Namemyfabric-connector JSON
Version 0.1.32 PyPI version JSON
download
home_pagehttps://github.com/myfabric-ru/ws-connector
SummaryПрограмма для взаимодействия 3D принтеров и CRM MyFabric
upload_time2024-10-22 18:30:56
maintainerNone
docs_urlNone
authorKhonik
requires_python>=3.6
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # MyFabric

Программа для проксирования данных с WebSocket Moonraker в CRM MyFabric.

## Установка

Текущая актуальная версия программы `0.1.32` работает с `Python 3`.

```bash
# Устанавливаем пакет на сервер с Moonraker
pip install myfabric-connector
```

## Команды

### Запуск проксирования

Запускаем программу, указав в качестве параметров URL WebSocket Moonraker, идентификатор принтера в системе MyFabric (channel_name), а также логин и пароль от учетной записи MyFabric в формате `email:password`.

```shell
# myfabric-connect [--log-file LOG_FILE] [--log-level LOG_LEVEL] <moonraker_url> <channel_name> <login> <password>

myfabric-connect ws://localhost:7125/websocket my-printer-id user@example.com my_password
```

**Примечание:** В URL Moonraker используйте `localhost` или IP-адрес сервера Moonraker, вместо `0.0.0.0`, так как `0.0.0.0` не является корректным адресом для подключения клиента.

Дополнительные опции:

- `--log-file`: Указывает путь к файлу логов. По умолчанию: `/var/log/myfabric/myfabric.log`.
  
- `--log-level`: Указывает уровень логирования. Возможные значения: `DEBUG`, `INFO`, `WARNING`, `ERROR`, `CRITICAL`. По умолчанию: `INFO`.

### Получение версии пакета

```shell
myfabric-connect --version
```

## Поддержание процесса

Чтобы процесс автоматически запускался при старте системы и работал в фоновом режиме, рекомендуется настроить службу systemd.

### Настройка службы systemd (в случае если на 1 хосте подключен 1 принтер)

1. **Создайте файл службы**

   Создайте файл `myfabric.service` в каталоге `/etc/systemd/system/`:

   ```ini
   [Unit]
   Description=MyFabric Connector Service
   After=network.target

   [Service]
   Type=simple
   User=klipper
   EnvironmentFile=/etc/myfabric/myfabric.conf
   ExecStart=/usr/local/bin/myfabric-connect $MOONRAKER_URL $CHANNEL_NAME $LOGIN $PASSWORD --log-file $LOG_FILE --log-level $LOG_LEVEL
   Restart=on-failure
   RestartSec=5s
   StandardOutput=journal
   StandardError=journal

   [Install]
   WantedBy=multi-user.target
   ```

   **Примечания:**

   - Убедитесь, что путь к исполняемому файлу `myfabric-connect` корректен. Вы можете определить путь командой `which myfabric-connect`.
   - Замените `User` на имя пользователя, от которого должен запускаться процесс (например, `klipper`).
   - Использование файла окружения позволяет хранить конфиденциальные данные (например, пароли) отдельно от файла службы.

2. **Создайте файл окружения**

   Создайте файл `/etc/myfabric/myfabric.conf` и добавьте в него следующие строки:

   ```bash
   MOONRAKER_URL=ws://localhost:7125/websocket
   CHANNEL_NAME=my-printer-id
   LOGIN=user@example.com
   PASSWORD=my_password
   LOG_FILE=/var/log/myfabric/myfabric.log
   LOG_LEVEL=INFO
   ```

   **Установите права доступа к файлу:**

   ```bash
   sudo chown root:root /etc/myfabric/myfabric.conf
   sudo chmod 600 /etc/myfabric/myfabric.conf
   ```

3. **Создайте каталог для логов**

   ```bash
   sudo mkdir -p /var/log/myfabric
   sudo chown klipper:klipper /var/log/myfabric
   ```

   Замените `klipper:klipper` на пользователя и группу, от имени которых запускается служба.

4. **Запустите и включите службу**

   ```bash
   # Перезагрузите конфигурацию systemd
   sudo systemctl daemon-reload

   # Включите службу для автоматического запуска при старте системы
   sudo systemctl enable myfabric.service

   # Запустите службу
   sudo systemctl start myfabric.service

   # Проверьте статус службы
   sudo systemctl status myfabric.service
   ```

### Настройка службы systemd (в случае если на 1 хосте подключено более 1 принтера)

1. **Создайте файл службы**

   Создайте файл `myfabric_1.service` в каталоге `/etc/systemd/system/`:

   ```ini
   [Unit]
   Description=MyFabric Connector Service
   After=network.target

   [Service]
   Type=simple
   User=klipper
   EnvironmentFile=/etc/myfabric/myfabric_1.conf
   ExecStart=/usr/local/bin/myfabric-connect $MOONRAKER_URL $CHANNEL_NAME $LOGIN $PASSWORD --log-file $LOG_FILE --log-level $LOG_LEVEL
   Restart=on-failure
   RestartSec=5s
   StandardOutput=journal
   StandardError=journal

   [Install]
   WantedBy=multi-user.target
   ```

   **Примечания:**

   - Убедитесь, что путь к исполняемому файлу `myfabric-connect` корректен. Вы можете определить путь командой `which myfabric-connect`.
   - Замените `User` на имя пользователя, от которого должен запускаться процесс (например, `klipper`).
   - Использование файла окружения позволяет хранить конфиденциальные данные (например, пароли) отдельно от файла службы.

2. **Создайте файл окружения**

   **Обратите внимание, что в случае наличия более одного принтера, подключенного к одноплатнику, меняется только порт подключения**
   Создайте файл `/etc/myfabric/myfabric_1.conf` и добавьте в него следующие строки:

   ```bash
   MOONRAKER_URL=ws://localhost:7125/websocket
   CHANNEL_NAME=my-printer-id
   LOGIN=user@example.com
   PASSWORD=my_password
   LOG_FILE=/var/log/myfabric/myfabric_1.log
   LOG_LEVEL=INFO
   ```

   **Установите права доступа к файлу:**

   ```bash
   sudo chown root:root /etc/myfabric/myfabric_1.conf
   sudo chmod 600 /etc/myfabric/myfabric_1.conf
   ```

3. **Создайте каталог для логов**

   ```bash
   sudo mkdir -p /var/log/myfabric
   sudo chown klipper:klipper /var/log/myfabric
   ```

   Замените `klipper:klipper` на пользователя и группу, от имени которых запускается служба.

4. **Запустите и включите службу**

   ```bash
   # Перезагрузите конфигурацию systemd
   sudo systemctl daemon-reload

   # Включите службу для автоматического запуска при старте системы
   sudo systemctl enable myfabric_1.service

   # Запустите службу
   sudo systemctl start myfabric_1.service

   # Проверьте статус службы
   sudo systemctl status myfabric_1.service
   ```
Для последующего принтера, повторите действия, меняя _1 (порядковый номер) и порт на котором находится экземпляр moonraker (обычно это порты по порядку 7125, 7126 и тд)


## Логирование работы

По умолчанию программа ведет логирование в файл `/var/log/myfabric/myfabric.log`.

- **Просмотр логов в режиме реального времени:**

  ```bash
  tail -f /var/log/myfabric/myfabric.log
  ```

- **Использование `journalctl`:**

  Если вы настроили перенаправление вывода в системный журнал, можете просматривать логи с помощью команды:

  ```bash
  sudo journalctl -u myfabric.service -f
  ```

**Примечание:** Убедитесь, что пользователь, от имени которого запускается служба, имеет права на запись в файл логов.

## Возможные проблемы

### Программа не найдена

```shell
klipper@orangepi3-lts-11-12:~$ myfabric-connect --version
myfabric-connect: command not found
```

**Решение:**

- Убедитесь, что пакет установлен и доступен в `$PATH`.
  
- Проверьте, где находится исполняемый файл:

  ```bash
  which myfabric-connect
  ```

- Если команда не найдена, возможно, необходимо добавить директорию с локальными пакетами Python в переменную окружения `$PATH`:

  ```bash
  export PATH=$PATH:~/.local/bin
  ```

- Или используйте полный путь к исполняемому файлу:

  ```shell
  /home/klipper/.local/bin/myfabric-connect ws://localhost:7125/websocket my-printer-id user@example.com:my_password
  ```

### Проблемы с правами доступа

- **Описание:**
  
  Ошибки, связанные с недостаточными правами доступа к файлам или сетевым портам.

- **Решение:**

  - Убедитесь, что пользователь, от имени которого запускается служба, имеет необходимые права доступа.
  - Проверьте права на файлы конфигурации и логов.
  - Если необходимо, настройте соответствующие разрешения с помощью команд `chown` и `chmod`.

### Ошибки при подключении к Moonraker

- **Описание:**
  
  Программа не может установить соединение с Moonraker.

- **Решение:**

  - Убедитесь, что Moonraker запущен и доступен по указанному адресу и порту.
  - Проверьте правильность указания URL Moonraker в файле конфигурации или при запуске программы.
  - Убедитесь, что нет сетевых ограничений или брандмауэров, блокирующих соединение.

### Ошибки аутентификации в MyFabric

- **Описание:**
  
  В логах появляются сообщения об ошибке аутентификации при подключении к MyFabric.

- **Решение:**

  - Проверьте правильность указанных учетных данных (email и пароль).
  - Убедитесь, что учетная запись активна и имеет доступ к необходимым ресурсам.
  - Попробуйте войти в MyFabric через веб-интерфейс с этими же учетными данными, чтобы убедиться в их корректности.

## Обновление программы

Чтобы обновить программу до последней версии, выполните команду:

```bash
pip install --upgrade myfabric-connector
```

**Проверка текущей версии:**

```bash
myfabric-connect --version
```

## Дополнительная информация

- **Безопасность:**

  - Не храните пароли в открытом виде в файлах или скриптах. Использование файла окружения с ограниченными правами доступа помогает защитить конфиденциальные данные.

- **Настройка логирования:**

  - Вы можете изменить уровень детализации логов, указав параметр `--log-level`. Для отладки используйте уровень `DEBUG`.

- **Остановка службы:**

  ```bash
  sudo systemctl stop myfabric.service
  ```

- **Перезапуск службы:**

  ```bash
  sudo systemctl restart myfabric.service
  ```

- **Просмотр статуса службы:**

  ```bash
  sudo systemctl status myfabric.service
  ```

## Связь с поддержкой

Если у вас возникли вопросы или проблемы с использованием программы, пожалуйста, свяжитесь с поддержкой MyFabric.

---

**Примечание:** Убедитесь, что все команды и пути соответствуют вашей системе и настройкам. При необходимости, адаптируйте инструкции под вашу конкретную среду.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/myfabric-ru/ws-connector",
    "name": "myfabric-connector",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": null,
    "author": "Khonik",
    "author_email": "khonikdev@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/f8/97/6da25fd5336300e8d9fdcbbac3415fe0a83c95cfe78990b500ea45483a7e/myfabric_connector-0.1.32.tar.gz",
    "platform": null,
    "description": "# MyFabric\n\n\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043b\u044f \u043f\u0440\u043e\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 WebSocket Moonraker \u0432 CRM MyFabric.\n\n## \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\n\n\u0422\u0435\u043a\u0443\u0449\u0430\u044f \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b `0.1.32` \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 `Python 3`.\n\n```bash\n# \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043f\u0430\u043a\u0435\u0442 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440 \u0441 Moonraker\npip install myfabric-connector\n```\n\n## \u041a\u043e\u043c\u0430\u043d\u0434\u044b\n\n### \u0417\u0430\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f\n\n\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u0443\u043a\u0430\u0437\u0430\u0432 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 URL WebSocket Moonraker, \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043f\u0440\u0438\u043d\u0442\u0435\u0440\u0430 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 MyFabric (channel_name), \u0430 \u0442\u0430\u043a\u0436\u0435 \u043b\u043e\u0433\u0438\u043d \u0438 \u043f\u0430\u0440\u043e\u043b\u044c \u043e\u0442 \u0443\u0447\u0435\u0442\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 MyFabric \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 `email:password`.\n\n```shell\n# myfabric-connect [--log-file LOG_FILE] [--log-level LOG_LEVEL] <moonraker_url> <channel_name> <login> <password>\n\nmyfabric-connect ws://localhost:7125/websocket my-printer-id user@example.com my_password\n```\n\n**\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435:** \u0412 URL Moonraker \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 `localhost` \u0438\u043b\u0438 IP-\u0430\u0434\u0440\u0435\u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 Moonraker, \u0432\u043c\u0435\u0441\u0442\u043e `0.0.0.0`, \u0442\u0430\u043a \u043a\u0430\u043a `0.0.0.0` \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u043c \u0430\u0434\u0440\u0435\u0441\u043e\u043c \u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u0430.\n\n\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043e\u043f\u0446\u0438\u0438:\n\n- `--log-file`: \u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0443 \u043b\u043e\u0433\u043e\u0432. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e: `/var/log/myfabric/myfabric.log`.\n  \n- `--log-level`: \u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f: `DEBUG`, `INFO`, `WARNING`, `ERROR`, `CRITICAL`. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e: `INFO`.\n\n### \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u043f\u0430\u043a\u0435\u0442\u0430\n\n```shell\nmyfabric-connect --version\n```\n\n## \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\n\n\u0427\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b\u0441\u044f \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0432 \u0444\u043e\u043d\u043e\u0432\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435, \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u043b\u0443\u0436\u0431\u0443 systemd.\n\n### \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0441\u043b\u0443\u0436\u0431\u044b systemd (\u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0435\u0441\u043b\u0438 \u043d\u0430 1 \u0445\u043e\u0441\u0442\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d 1 \u043f\u0440\u0438\u043d\u0442\u0435\u0440)\n\n1. **\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0444\u0430\u0439\u043b \u0441\u043b\u0443\u0436\u0431\u044b**\n\n   \u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0444\u0430\u0439\u043b `myfabric.service` \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 `/etc/systemd/system/`:\n\n   ```ini\n   [Unit]\n   Description=MyFabric Connector Service\n   After=network.target\n\n   [Service]\n   Type=simple\n   User=klipper\n   EnvironmentFile=/etc/myfabric/myfabric.conf\n   ExecStart=/usr/local/bin/myfabric-connect $MOONRAKER_URL $CHANNEL_NAME $LOGIN $PASSWORD --log-file $LOG_FILE --log-level $LOG_LEVEL\n   Restart=on-failure\n   RestartSec=5s\n   StandardOutput=journal\n   StandardError=journal\n\n   [Install]\n   WantedBy=multi-user.target\n   ```\n\n   **\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u044f:**\n\n   - \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u043f\u0443\u0442\u044c \u043a \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u043c\u0443 \u0444\u0430\u0439\u043b\u0443 `myfabric-connect` \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0435\u043d. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043f\u0443\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 `which myfabric-connect`.\n   - \u0417\u0430\u043c\u0435\u043d\u0438\u0442\u0435 `User` \u043d\u0430 \u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u043e\u0442 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0434\u043e\u043b\u0436\u0435\u043d \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c\u0441\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, `klipper`).\n   - \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0430\u0440\u043e\u043b\u0438) \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043e\u0442 \u0444\u0430\u0439\u043b\u0430 \u0441\u043b\u0443\u0436\u0431\u044b.\n\n2. **\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0444\u0430\u0439\u043b \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f**\n\n   \u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0444\u0430\u0439\u043b `/etc/myfabric/myfabric.conf` \u0438 \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0432 \u043d\u0435\u0433\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u0438:\n\n   ```bash\n   MOONRAKER_URL=ws://localhost:7125/websocket\n   CHANNEL_NAME=my-printer-id\n   LOGIN=user@example.com\n   PASSWORD=my_password\n   LOG_FILE=/var/log/myfabric/myfabric.log\n   LOG_LEVEL=INFO\n   ```\n\n   **\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u043f\u0440\u0430\u0432\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0444\u0430\u0439\u043b\u0443:**\n\n   ```bash\n   sudo chown root:root /etc/myfabric/myfabric.conf\n   sudo chmod 600 /etc/myfabric/myfabric.conf\n   ```\n\n3. **\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0434\u043b\u044f \u043b\u043e\u0433\u043e\u0432**\n\n   ```bash\n   sudo mkdir -p /var/log/myfabric\n   sudo chown klipper:klipper /var/log/myfabric\n   ```\n\n   \u0417\u0430\u043c\u0435\u043d\u0438\u0442\u0435 `klipper:klipper` \u043d\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u0433\u0440\u0443\u043f\u043f\u0443, \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u0443\u0436\u0431\u0430.\n\n4. **\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u0438 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u0441\u043b\u0443\u0436\u0431\u0443**\n\n   ```bash\n   # \u041f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e systemd\n   sudo systemctl daemon-reload\n\n   # \u0412\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u0441\u043b\u0443\u0436\u0431\u0443 \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b\n   sudo systemctl enable myfabric.service\n\n   # \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u0441\u043b\u0443\u0436\u0431\u0443\n   sudo systemctl start myfabric.service\n\n   # \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0441\u0442\u0430\u0442\u0443\u0441 \u0441\u043b\u0443\u0436\u0431\u044b\n   sudo systemctl status myfabric.service\n   ```\n\n### \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0441\u043b\u0443\u0436\u0431\u044b systemd (\u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0435\u0441\u043b\u0438 \u043d\u0430 1 \u0445\u043e\u0441\u0442\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043e \u0431\u043e\u043b\u0435\u0435 1 \u043f\u0440\u0438\u043d\u0442\u0435\u0440\u0430)\n\n1. **\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0444\u0430\u0439\u043b \u0441\u043b\u0443\u0436\u0431\u044b**\n\n   \u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0444\u0430\u0439\u043b `myfabric_1.service` \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 `/etc/systemd/system/`:\n\n   ```ini\n   [Unit]\n   Description=MyFabric Connector Service\n   After=network.target\n\n   [Service]\n   Type=simple\n   User=klipper\n   EnvironmentFile=/etc/myfabric/myfabric_1.conf\n   ExecStart=/usr/local/bin/myfabric-connect $MOONRAKER_URL $CHANNEL_NAME $LOGIN $PASSWORD --log-file $LOG_FILE --log-level $LOG_LEVEL\n   Restart=on-failure\n   RestartSec=5s\n   StandardOutput=journal\n   StandardError=journal\n\n   [Install]\n   WantedBy=multi-user.target\n   ```\n\n   **\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u044f:**\n\n   - \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u043f\u0443\u0442\u044c \u043a \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u043c\u0443 \u0444\u0430\u0439\u043b\u0443 `myfabric-connect` \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0435\u043d. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043f\u0443\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 `which myfabric-connect`.\n   - \u0417\u0430\u043c\u0435\u043d\u0438\u0442\u0435 `User` \u043d\u0430 \u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u043e\u0442 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0434\u043e\u043b\u0436\u0435\u043d \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c\u0441\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, `klipper`).\n   - \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0430\u0440\u043e\u043b\u0438) \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043e\u0442 \u0444\u0430\u0439\u043b\u0430 \u0441\u043b\u0443\u0436\u0431\u044b.\n\n2. **\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0444\u0430\u0439\u043b \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f**\n\n   **\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0430\u043b\u0438\u0447\u0438\u044f \u0431\u043e\u043b\u0435\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043d\u0442\u0435\u0440\u0430, \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u043a \u043e\u0434\u043d\u043e\u043f\u043b\u0430\u0442\u043d\u0438\u043a\u0443, \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0440\u0442 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f**\n   \u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0444\u0430\u0439\u043b `/etc/myfabric/myfabric_1.conf` \u0438 \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0432 \u043d\u0435\u0433\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u0438:\n\n   ```bash\n   MOONRAKER_URL=ws://localhost:7125/websocket\n   CHANNEL_NAME=my-printer-id\n   LOGIN=user@example.com\n   PASSWORD=my_password\n   LOG_FILE=/var/log/myfabric/myfabric_1.log\n   LOG_LEVEL=INFO\n   ```\n\n   **\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u043f\u0440\u0430\u0432\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0444\u0430\u0439\u043b\u0443:**\n\n   ```bash\n   sudo chown root:root /etc/myfabric/myfabric_1.conf\n   sudo chmod 600 /etc/myfabric/myfabric_1.conf\n   ```\n\n3. **\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0434\u043b\u044f \u043b\u043e\u0433\u043e\u0432**\n\n   ```bash\n   sudo mkdir -p /var/log/myfabric\n   sudo chown klipper:klipper /var/log/myfabric\n   ```\n\n   \u0417\u0430\u043c\u0435\u043d\u0438\u0442\u0435 `klipper:klipper` \u043d\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u0433\u0440\u0443\u043f\u043f\u0443, \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u0443\u0436\u0431\u0430.\n\n4. **\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u0438 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u0441\u043b\u0443\u0436\u0431\u0443**\n\n   ```bash\n   # \u041f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e systemd\n   sudo systemctl daemon-reload\n\n   # \u0412\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u0441\u043b\u0443\u0436\u0431\u0443 \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b\n   sudo systemctl enable myfabric_1.service\n\n   # \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u0441\u043b\u0443\u0436\u0431\u0443\n   sudo systemctl start myfabric_1.service\n\n   # \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0441\u0442\u0430\u0442\u0443\u0441 \u0441\u043b\u0443\u0436\u0431\u044b\n   sudo systemctl status myfabric_1.service\n   ```\n\u0414\u043b\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u043f\u0440\u0438\u043d\u0442\u0435\u0440\u0430, \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u043c\u0435\u043d\u044f\u044f _1 (\u043f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440) \u0438 \u043f\u043e\u0440\u0442 \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 moonraker (\u043e\u0431\u044b\u0447\u043d\u043e \u044d\u0442\u043e \u043f\u043e\u0440\u0442\u044b \u043f\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0443 7125, 7126 \u0438 \u0442\u0434)\n\n\n## \u041b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0442\u044b\n\n\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0432\u0435\u0434\u0435\u0442 \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 \u0444\u0430\u0439\u043b `/var/log/myfabric/myfabric.log`.\n\n- **\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u043b\u043e\u0433\u043e\u0432 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438:**\n\n  ```bash\n  tail -f /var/log/myfabric/myfabric.log\n  ```\n\n- **\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 `journalctl`:**\n\n  \u0415\u0441\u043b\u0438 \u0432\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0432\u044b\u0432\u043e\u0434\u0430 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u0436\u0443\u0440\u043d\u0430\u043b, \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0440\u043e\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u043b\u043e\u0433\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b:\n\n  ```bash\n  sudo journalctl -u myfabric.service -f\n  ```\n\n**\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435:** \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c, \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u0443\u0436\u0431\u0430, \u0438\u043c\u0435\u0435\u0442 \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u044c \u0432 \u0444\u0430\u0439\u043b \u043b\u043e\u0433\u043e\u0432.\n\n## \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b\n\n### \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430\n\n```shell\nklipper@orangepi3-lts-11-12:~$ myfabric-connect --version\nmyfabric-connect: command not found\n```\n\n**\u0420\u0435\u0448\u0435\u043d\u0438\u0435:**\n\n- \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u043f\u0430\u043a\u0435\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432 `$PATH`.\n  \n- \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435, \u0433\u0434\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 \u0444\u0430\u0439\u043b:\n\n  ```bash\n  which myfabric-connect\n  ```\n\n- \u0415\u0441\u043b\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e \u0441 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438 Python \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f `$PATH`:\n\n  ```bash\n  export PATH=$PATH:~/.local/bin\n  ```\n\n- \u0418\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043f\u043e\u043b\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u043a \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u043c\u0443 \u0444\u0430\u0439\u043b\u0443:\n\n  ```shell\n  /home/klipper/.local/bin/myfabric-connect ws://localhost:7125/websocket my-printer-id user@example.com:my_password\n  ```\n\n### \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u043f\u0440\u0430\u0432\u0430\u043c\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430\n\n- **\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435:**\n  \n  \u041e\u0448\u0438\u0431\u043a\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u044b\u043c\u0438 \u043f\u0440\u0430\u0432\u0430\u043c\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0444\u0430\u0439\u043b\u0430\u043c \u0438\u043b\u0438 \u0441\u0435\u0442\u0435\u0432\u044b\u043c \u043f\u043e\u0440\u0442\u0430\u043c.\n\n- **\u0420\u0435\u0448\u0435\u043d\u0438\u0435:**\n\n  - \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c, \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u0443\u0436\u0431\u0430, \u0438\u043c\u0435\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043f\u0440\u0430\u0432\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u0430.\n  - \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u0444\u0430\u0439\u043b\u044b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0438 \u043b\u043e\u0433\u043e\u0432.\n  - \u0415\u0441\u043b\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e, \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u0442\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434 `chown` \u0438 `chmod`.\n\n### \u041e\u0448\u0438\u0431\u043a\u0438 \u043f\u0440\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u043a Moonraker\n\n- **\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435:**\n  \n  \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 Moonraker.\n\n- **\u0420\u0435\u0448\u0435\u043d\u0438\u0435:**\n\n  - \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e Moonraker \u0437\u0430\u043f\u0443\u0449\u0435\u043d \u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043f\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u0443 \u0438 \u043f\u043e\u0440\u0442\u0443.\n  - \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f URL Moonraker \u0432 \u0444\u0430\u0439\u043b\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0438\u043b\u0438 \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b.\n  - \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u043d\u0435\u0442 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u0438\u043b\u0438 \u0431\u0440\u0430\u043d\u0434\u043c\u0430\u0443\u044d\u0440\u043e\u0432, \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u044e\u0449\u0438\u0445 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435.\n\n### \u041e\u0448\u0438\u0431\u043a\u0438 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0432 MyFabric\n\n- **\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435:**\n  \n  \u0412 \u043b\u043e\u0433\u0430\u0445 \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0435 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043f\u0440\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u043a MyFabric.\n\n- **\u0420\u0435\u0448\u0435\u043d\u0438\u0435:**\n\n  - \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0445 \u0443\u0447\u0435\u0442\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 (email \u0438 \u043f\u0430\u0440\u043e\u043b\u044c).\n  - \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0443\u0447\u0435\u0442\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0430\u043a\u0442\u0438\u0432\u043d\u0430 \u0438 \u0438\u043c\u0435\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u043c \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c.\n  - \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0432\u043e\u0439\u0442\u0438 \u0432 MyFabric \u0447\u0435\u0440\u0435\u0437 \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0441 \u044d\u0442\u0438\u043c\u0438 \u0436\u0435 \u0443\u0447\u0435\u0442\u043d\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438, \u0447\u0442\u043e\u0431\u044b \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f \u0432 \u0438\u0445 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u0438.\n\n## \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b\n\n\u0427\u0442\u043e\u0431\u044b \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0434\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0438, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443:\n\n```bash\npip install --upgrade myfabric-connector\n```\n\n**\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0438:**\n\n```bash\nmyfabric-connect --version\n```\n\n## \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f\n\n- **\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c:**\n\n  - \u041d\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u043f\u0430\u0440\u043e\u043b\u0438 \u0432 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u043c \u0432\u0438\u0434\u0435 \u0432 \u0444\u0430\u0439\u043b\u0430\u0445 \u0438\u043b\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u0445. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0441 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u044b\u043c\u0438 \u043f\u0440\u0430\u0432\u0430\u043c\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0437\u0430\u0449\u0438\u0442\u0438\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435.\n\n- **\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f:**\n\n  - \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0434\u0435\u0442\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043b\u043e\u0433\u043e\u0432, \u0443\u043a\u0430\u0437\u0430\u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 `--log-level`. \u0414\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0443\u0440\u043e\u0432\u0435\u043d\u044c `DEBUG`.\n\n- **\u041e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0441\u043b\u0443\u0436\u0431\u044b:**\n\n  ```bash\n  sudo systemctl stop myfabric.service\n  ```\n\n- **\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a \u0441\u043b\u0443\u0436\u0431\u044b:**\n\n  ```bash\n  sudo systemctl restart myfabric.service\n  ```\n\n- **\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0441\u0442\u0430\u0442\u0443\u0441\u0430 \u0441\u043b\u0443\u0436\u0431\u044b:**\n\n  ```bash\n  sudo systemctl status myfabric.service\n  ```\n\n## \u0421\u0432\u044f\u0437\u044c \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439\n\n\u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0438\u043b\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0441\u0432\u044f\u0436\u0438\u0442\u0435\u0441\u044c \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 MyFabric.\n\n---\n\n**\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435:** \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0432\u0441\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438 \u043f\u0443\u0442\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0432\u0430\u0448\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c. \u041f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438, \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u043e\u0434 \u0432\u0430\u0448\u0443 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0443\u044e \u0441\u0440\u0435\u0434\u0443.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f 3D \u043f\u0440\u0438\u043d\u0442\u0435\u0440\u043e\u0432 \u0438  CRM MyFabric",
    "version": "0.1.32",
    "project_urls": {
        "Homepage": "https://github.com/myfabric-ru/ws-connector"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "414b74a0cea155f198b259acb56b382579160294345b7fa9d5307292220af741",
                "md5": "b346506eb0db3da370a8b0b347bc5531",
                "sha256": "c177d21920a3ad5b5d38158826dfd1d8ef95e057b62eda9a276876bb8bac2477"
            },
            "downloads": -1,
            "filename": "myfabric_connector-0.1.32-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b346506eb0db3da370a8b0b347bc5531",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 8618,
            "upload_time": "2024-10-22T18:30:54",
            "upload_time_iso_8601": "2024-10-22T18:30:54.164176Z",
            "url": "https://files.pythonhosted.org/packages/41/4b/74a0cea155f198b259acb56b382579160294345b7fa9d5307292220af741/myfabric_connector-0.1.32-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f8976da25fd5336300e8d9fdcbbac3415fe0a83c95cfe78990b500ea45483a7e",
                "md5": "ebd8b226f54f5574e97aaa4819493ca8",
                "sha256": "77dd7ca6755a03f72cc2222920a0b9b270e88dc043cd6f762f85f973148ae0cd"
            },
            "downloads": -1,
            "filename": "myfabric_connector-0.1.32.tar.gz",
            "has_sig": false,
            "md5_digest": "ebd8b226f54f5574e97aaa4819493ca8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 10148,
            "upload_time": "2024-10-22T18:30:56",
            "upload_time_iso_8601": "2024-10-22T18:30:56.248165Z",
            "url": "https://files.pythonhosted.org/packages/f8/97/6da25fd5336300e8d9fdcbbac3415fe0a83c95cfe78990b500ea45483a7e/myfabric_connector-0.1.32.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-22 18:30:56",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "myfabric-ru",
    "github_project": "ws-connector",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "myfabric-connector"
}
        
Elapsed time: 0.60530s