Кремень КД Реклама
Кремень КМ Реклама

Octoprint: Symlink для /dev/

Sneq
Идет загрузка
Загрузка
04.09.2016
5722
13
Техничка

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

6
Здравствуйте, мои маленькие любители ферм! :D

Сегодня я вам расскажу как присвоить имя (ссылку, symlink) для каждого своего принтера, и не страдать ерундой, гадая в какой вкладке, какой принтер!

Не так давно у меня возникла эта проблема с Octoprint. Как ни странно, но в своем вопросе я делал все правильно.

Для начала надо запустить инстансы (вкладки браузера) для каждого принтера.

Для этого зайдя по ssh на свою raspberry pi я запускаю по очереди каждый инстанс на определенный порт. Сразу скажу, это можно сделать в автозагрузке, но я пока не разобрался с правами.

~/oprint/bin/python ~/OctoPrint/run --daemon start --port 5001 --pid /tmp/octoprint1 --basedir ~/.octoprint1

~/oprint/bin/python ~/OctoPrint/run --daemon start --port 5002 --pid /tmp/octoprint1 --basedir ~/.octoprint2

и т.д.
Octoprint: Symlink для /dev/
Сколько принтеров можете подключить, столько инстансов запускаем, меняя port и basedir

Все это я загнал в octoprint_startup.sh, и запускаю его руками при старте raspberry pi

Находясь внутри интерфейса Octoprint мы все знаем как подключаться, выбираем /dev/ttyUSB0, свой Baudrate и жмем Connect

И тут начинается самое интересное! Если у вас несколько принтеров, то будет несколько /dev/ttyUSB**

Система выдает названия как угодно (по порядку) и при следующем включении или перетыкании USB проводов, присвоенные названия могут смениться. Приходится методом 'подвигай стол' определять какой из принтеров сегодня ttyUSB1 :)

Для привязки имен в Octoprint существуют дополнительные настройки портов:
Octoprint: Symlink для /dev/
Но чтобы ими воспользоваться необходимо сначала поковырять потроха debian, на котором работает Octoprint в raspberry pi.

Делаем все так, как я написал в ссылке выше (ссылка на вопрос)

1. Запрашиваем серийник устройства udevadm info /dev/ttyUSB0, где он в параметра ID_SERIAL_SHORT

2. Редактируем правило sudo /etc/udev/rules.d/95-ads7846.rules, добавляя строки

SUBSYSTEM=='tty', ATTRS{serial}=='серийник', SYMLINK+='имя ссылки'

3. Делаем ребут

4. После перезагрузки смотрим в /dev, там должен быть помимо ttyUBS0 наш 'имя ссылки'

5. Повторить для других принтеров.

Далее надо пройти в дополнительные настройки и прописать свои ссылки в поле вот так:
Octoprint: Symlink для /dev/
Теперь можно обновить страницу браузера. И увидеть наши ссылки в выпадающем меню подключения:
Octoprint: Symlink для /dev/
Ссылки теперь привязаны к серийному номеру устройства и несмотря на то в какой очередности и в какой порт вы воткнете свой принтер, ссылка появится именно для него!

Все теперь вы линукс админ!

Octoprint: Symlink для /dev/


Любителей всяких NodeMCU прошу скорее же пройти в пост и начать нахваливать свой продукт

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

6
Комментарии к статье