Skip to main content

Программа для взаимодействия 3D принтеров и CRM MyFabric

Project description

MyFabric

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

Установка

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

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

Команды

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

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

# 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.

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

myfabric-connect --version

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

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

Настройка службы systemd

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

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

    [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 $CREDENTIALS --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 и добавьте в него следующие строки:

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

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

    sudo chown root:root /etc/myfabric/myfabric.conf
    sudo chmod 600 /etc/myfabric/myfabric.conf
    
  3. Создайте каталог для логов

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

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

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

    # Перезагрузите конфигурацию systemd
    sudo systemctl daemon-reload
    
    # Включите службу для автоматического запуска при старте системы
    sudo systemctl enable myfabric.service
    
    # Запустите службу
    sudo systemctl start myfabric.service
    
    # Проверьте статус службы
    sudo systemctl status myfabric.service
    

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

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

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

    tail -f /var/log/myfabric/myfabric.log
    
  • Использование journalctl:

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

    sudo journalctl -u myfabric.service -f
    

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

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

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

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

Решение:

  • Убедитесь, что пакет установлен и доступен в $PATH.

  • Проверьте, где находится исполняемый файл:

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

    export PATH=$PATH:~/.local/bin
    
  • Или используйте полный путь к исполняемому файлу:

    /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 через веб-интерфейс с этими же учетными данными, чтобы убедиться в их корректности.

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

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

pip install --upgrade myfabric-connector

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

myfabric-connect --version

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

  • Безопасность:

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

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

    sudo systemctl stop myfabric.service
    
  • Перезапуск службы:

    sudo systemctl restart myfabric.service
    
  • Просмотр статуса службы:

    sudo systemctl status myfabric.service
    

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

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


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

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

myfabric_connector-0.1.27.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

myfabric_connector-0.1.27-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file myfabric_connector-0.1.27.tar.gz.

File metadata

  • Download URL: myfabric_connector-0.1.27.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for myfabric_connector-0.1.27.tar.gz
Algorithm Hash digest
SHA256 8cb5dfc216f4057a2b15cf90eb9810e33ee64676eb9e3073f277f17ea6ce2433
MD5 83b8f23fb476ffec8a263153fb810cf2
BLAKE2b-256 90fa2e678d97ac4bb2b0f32929b5c3326f3602e88f837cb0d8324591a8489cac

See more details on using hashes here.

File details

Details for the file myfabric_connector-0.1.27-py3-none-any.whl.

File metadata

File hashes

Hashes for myfabric_connector-0.1.27-py3-none-any.whl
Algorithm Hash digest
SHA256 875a3c5884a9ce7080dfe5b17a462e70a87bf98a137e5f5bedada36d953e9ebb
MD5 3b6c3b8e50f79319a5880e6280e14358
BLAKE2b-256 25af957ab622a91310324938ef342ba8ad05cd4c7dcaf8fdb3e6c5acd48849f3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page