CNCjs — это полнофункциональный веб-интерфейс для контроллеров ЧПУ, работающих под управлением Grbl, Marlin, Smoothieware или TinyG.
Более полное введение см. в разделе «Введение» на вики-странице.
Поддерживаемые контроллеры
Грбл (Скачать)
Грбл-Мега (Скачать)
Марлин (Скачать)
Смузи (Скачать)
TinyG ( Рекомендую: версия прошивки 0.97, сборка 449.хх ) (Скачать)
g2core
Настольное приложение для Linux, Mac OS X и Windows
6-осевое цифровое считывание (УЦИ)
3D-визуализация траектории инструмента
Одновременное общение с несколькими клиентами
Адаптивный вид для небольших экранов с шириной устройства менее 720 пикселей.
Safari на iPhone 5S [1] [2]
Настраиваемое рабочее пространство
Пользовательский виджет (начиная с версии 1.9.10)
Пользовательские командные кнопки MDI (многодокументный интерфейс) (начиная с версии 1.9.13)
Мой счет
Команды
События
Сочетания клавиш
Контур ШаттлXpress
Многоязычная поддержка
Смотреть каталог
Смена инструмента (с версии 1.9.11)
Z-зонд
cncjs-widget-boilerplate — Создание пользовательских виджетов для CNCjs.
cncjs-pendant-boilerplate — минимальный пример разработки подвески cncjs.
cncjs-pendant-keyboard — простой брелок (с использованием беспроводной клавиатуры или USB) для CNCJS.
cncjs-pendant-numpad — простой брелок (с использованием беспроводной цифровой клавиатуры или USB) для CNCJS.
cncjs-pendant-lcd — веб-киоск CNCjs для сенсорных дисплеев Raspberry Pi.
cncjs-pendant-ps3 — пульт дистанционного управления Dual Shock/PS3 Bluetooth для CNCjs.
cncjs-pendant-raspi-gpio — Простое подвесное управление Raspberry Pi GPIO для CNCjs.
cncjs-pendant-tinyweb — крошечная веб-консоль для небольшого ЖК-дисплея 320x240.
cncjs-shopfloor-tablet — упрощенный пользовательский интерфейс для cncjs, оптимизированный для планшетных компьютеров в производственной (цеховой) среде.
Хром | Край | Firefox | ИЕ | Опера | Сафари |
---|---|---|---|---|---|
Да | Да | Да | Не поддерживается | Да | Да |
Версия | Поддерживаемый уровень |
---|---|
<= 10 | Не поддерживается |
12 | Поддерживается |
>= 14 | Рекомендуется |
Рекомендуется Node.js 14 или выше. Вы можете установить Node Version Manager для управления несколькими версиями Node.js. Если у вас установлен git
, просто клонируйте репозиторий nvm
и проверьте последнюю версию:
git clone https://github.com/creationix/nvm.git ~/.nvm cd ~/.nvm git checkout `git describe --abbrev=0 --tags` cd .. . ~/.nvm/nvm.sh
Добавьте эти строки в файл ~/.bash_profile
, ~/.bashrc
или ~/.profile
, чтобы он автоматически получался при входе в систему:
экспортировать NVM_DIR="$HOME/.nvm"[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # Это загружает nvm
После установки вы можете выбрать версии Node.js с помощью:
nvm install 14 nvm use 14
Также рекомендуется обновить npm до последней версии. Для обновления выполните:
npm install npm@latest -g
Установите cncjs от имени пользователя без полномочий root, иначе модуль последовательного порта может установиться неправильно на некоторых платформах, таких как Raspberry Pi.
npm install -g cncjs
Если вы собираетесь использовать sudo или root для установки cncjs, вам необходимо указать опцию --unsafe-perm
для запуска npm в качестве учетной записи root.
sudo npm install --unsafe-perm -g cncjs
Посетите https://github.com/cncjs/cncjs/wiki/Installation, чтобы узнать о других методах установки.
Запустите npm install -g cncjs@latest
, чтобы установить последнюю версию. Чтобы определить версию, используйте cncjs -V
.
Запустите cncjs
, чтобы запустить сервер, и посетите http://yourhostname:8000/
чтобы просмотреть веб-интерфейс. Передайте --help
в cncjs
для получения дополнительных опций.
pi@rpi3$ cncjs -h Usage: cncjs [options] Options: -V, --version output the version number -p, --portSet listen port (default: 8000) -H, --host Set listen address or hostname (default: 0.0.0.0) -b, --backlog Set listen backlog (default: 511) -c, --config Set config file (default: ~/.cncrc) -v, --verbose Increase the verbosity level (-v, -vv, -vvv) -m, --mount : Add a mount point for serving static files -w, --watch-directory Watch a directory for changes --access-token-lifetime Access token lifetime in seconds or a time span string (default: 30d) --allow-remote-access Allow remote access to the server (default: false) --controller Specify CNC controller: Grbl|Marlin|Smoothie|TinyG|g2core (default: '') -h, --help output usage information Examples: $ cncjs -vv $ cncjs --mount /pendant:/home/pi/tinyweb $ cncjs --mount /widget:~+/widget --mount /pendant:~/pendant $ cncjs --mount /widget:https://cncjs.github.io/cncjs-widget-boilerplate/v1/ $ cncjs --watch-directory /home/pi/watch $ cncjs --access-token-lifetime 60d # e.g. 3600, 30m, 12h, 30d $ cncjs --allow-remote-access $ cncjs --controller Grbl
Вместо передачи параметров командной строки для --watch-directory
, --access-token-lifetime
, --allow-remote-access
и --controller
вы можете создать файл ~/.cncrc
, содержащий следующую конфигурацию в формате JSON. формат:
{"точки монтирования": [ {"route": "/pendant","target": "/home/pi/tinyweb"}, {"маршрут": "/widget", "цель": "https://cncjs.github.io/cncjs-widget-boilerplate/v1/"} ],"watchDirectory": "/path/to/dir","accessTokenLifetime": "30d","allowRemoteAccess": false, "controller": ""}
Для устранения проблем запустите:
cncjs -vvv
Файл конфигурации .cncrc содержит параметры, эквивалентные параметрам командной строки cncjs. Файл конфигурации хранится в домашнем каталоге пользователя. Чтобы узнать фактическое расположение домашнего каталога, выполните следующие действия:
Линукс/Мак
эхо $HOME
Окна
эхо %USERPROFILE%
Посмотрите пример файла конфигурации здесь.
См. #242 (комментарий) для подробного объяснения.
{ "порты": [ { "путь": "/dev/ttyAMA0", "производитель": "" } ], "скорость передачи данных": [115200, 250000], "mountPoints": [ { "маршрут": "/widget", "цель": "https://cncjs.github.io/cncjs-widget-boilerplate/v1/"} ], "watchDirectory": "/path/to/dir", "accessTokenLifetime": "30d", "allowRemoteAccess": false, "controller": "", "state": {"checkForUpdates": true, "controller" : { "исключение": {"ignoreErrors": false } } }, "команды": [ { "title": "Обновление (пользователь root)", "commands": "sudo npm install -g cncjs@latest --unsafe-perm; pkill -f cncjs"}, { "title": "Обновление (пользователь без полномочий root)", "commands": "npm install -g cncjs@latest; pkill -f cncjs"}, { "title": "Перезагрузка", "команды": "sudo /sbin/reboot"}, { "title": "Завершение работы", "команды": "sudo /sbin/shutdown"} ], "события": [], "макросы": [], "пользователи": [] }
https://cnc.js.org/docs/
В каталоге примеров есть несколько файлов *.gcode. Вы можете использовать виджет GCode, чтобы загрузить файл GCode и выполнить пробный запуск.
Если у вас нет программного обеспечения CAM, попробуйте использовать jscut для создания G-кода из *.svg. Это простой пакет CAM, который запускается в браузере.
Посмотрите живую демонстрацию на http://jscut.org/jscut.html.
Используйте выпуски GitHub для запросов.
Запросы на вытягивание приветствуются! Узнайте, как внести свой вклад.
Вы можете помочь перевести файлы ресурсов в каталогах приложений и серверов с английского на другие языки. Ознакомьтесь с руководством по локализации, чтобы узнать, как начать работу. Если вы не знакомы с разработкой GitHub, вы можете открыть вопрос или отправить свои переводы на адрес [email protected].
Языковой стандарт | Язык | Статус | Авторы |
---|---|---|---|
CS | Чештина (Чешский) | ✔ | Мирослав Зузелка |
де | Дойч (немецкий) | ✔ | Торстен Годау, Макс Б. |
эс | Испанский (испанский) | ✔ | Хуан Бионди |
фр. | Français (французский) | ✔ | Симон Майяр, КорантенБрюле |
ху | Мадьяр (венгерский) | ✔ | Сипос Петер |
это | Итальяно (итальянский) | ✔ | Винс87 |
да | 日本語 (японский) | ✔ | Наоки Окамото |
Нидерланды | Нидерланды (Нидерланды) | ✔ | голландский патриот |
пт-бр | Португальский (Бразилия) | ✔ | cmsteinBR |
ру | Ру́сский (Русский) | ✔ | Денис Юсупов |
Великобритания | украинская (украинский) | ✔ | Хвалера |
тр | Тюркче (турецкий) | ✔ | Али ГЮНДОГДУ |
ж-сп | 简体中文 (упрощенный китайский) | ✔ | Мэнди Чиен, Терри Ли |
ж-тв | 繁體中文 (традиционный китайский) | ✔ | Четон Ву |
Если вы хотите поддержать этот проект, вы можете сделать пожертвование через PayPal. Спасибо!
Этот проект существует благодаря всем людям, которые вносят свой вклад. [Способствовать].
Спасибо всем нашим сторонникам! ? [Стать спонсором]
Поддержите этот проект, став спонсором. Здесь появится ваш логотип со ссылкой на ваш сайт. [Стать спонсором]
Лицензировано по лицензии MIT.