Skip to main content

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

Project description

MyFabric

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

Установка

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

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

Команды

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

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

# myfabric-connect [--log-file LOG_FILE] [--log-level LOG_LEVEL] <moonraker_url> <moonraker_login> <moonraker_password> <printer_key> <myfabric_email> <myfabric_password> 

myfabric-connect localhost:7125 moonraker_login moonraker_password 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 хосте подключен 1 принтер)

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

    MOONRAKER_URL=localhost:7125
    PRINTER_KEY=my-printer-key
    MYFABRIC_LOGIN=user@example.com
    MYFABRIC_PASSWORD=my_password
    MOONRAKER_LOGIN=user
    MOONRAKER_PASSWORD=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
    

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

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

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

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

    MOONRAKER_URL=localhost:7125
    MYFABRIC_LOGIN=user@example.com
    MYFABRIC_PASSWORD=my_password
    MOONRAKER_LOGIN=user
    MOONRAKER_PASSWORD=password
    LOG_FILE=/var/log/myfabric/myfabric_1.log
    LOG_LEVEL=INFO
    

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

    sudo chown root:root /etc/myfabric/myfabric_1.conf
    sudo chmod 600 /etc/myfabric/myfabric_1.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_1.service
    
    # Запустите службу
    sudo systemctl start myfabric_1.service
    
    # Проверьте статус службы
    sudo systemctl status myfabric_1.service
    

Для последующего принтера, повторите действия, меняя _1 (порядковый номер) и порт на котором находится экземпляр moonraker (обычно это порты по порядку 7125, 7126 и тд)

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

По умолчанию программа ведет логирование в файл /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.47.tar.gz (10.6 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.47-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: myfabric_connector-0.1.47.tar.gz
  • Upload date:
  • Size: 10.6 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.47.tar.gz
Algorithm Hash digest
SHA256 1ddef9fb67a78d87e6e432366e728f7b6e09836994dfa0a36083ee2712b014e9
MD5 69fe175ec7cb3233120c5778a1e23ce3
BLAKE2b-256 4477561119f717a74c695f4925fa866f34dde5e129e24df212cae921f3fe41e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for myfabric_connector-0.1.47-py3-none-any.whl
Algorithm Hash digest
SHA256 84e03b7076de10798d84ea8baa8bf8aaca329101d2df5d788e788fe50be343a8
MD5 968db2007139549432426e5bac87a329
BLAKE2b-256 96ee7668517ad444ae409c0fbb7471c40cd13d0660ed9d6ffe1f8372bb6f1b60

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