ЕСТЬ ИДЕЯ Orange Pi Zero 512Mb + cncjs

Установил на Orange Pi Zero 512Mb проект cncjs для работы на нашем дятле.
2018-08-23_00-24-21.jpg 2018-08-23_00-24-36.jpg 2018-08-23_00-25-05.jpg

Описание: Orange Pi Zero 512MB

Orange Pi Zero - одноплатный микрокомпьютер на процессоре Cortex-A7 AllWinner H2+ SoC Quad-core 1.2 GHz (чип на кристалле). Самый маленький в семействе Orange PI. В варианте с 512 МБ оперативной памяти. Поддержка WiFi. Этот вариант Orange Pi не имеет встроенной Flash памяти, по этому образ операционной системы должен быть записан на micro-SD карту, которая вставляется в соответствующий разъем платы. Часть функциональных выходов выведена через дополнительный модуль Zero Interface Board (в комплект не входит), например аудио и видео выходы.

Характеристики
  • Процессор: Allwiner H2+ четырех-ядерный процессор Cortex-A7 1.2 GHz;
  • GPU: Mali400MP2 GPU @ 600 мГц, поддерживает OpenGL ES 2.0;
  • Память (SDRAM): 512 МБ DDR3 (совместно с GPU);
  • Flash: внешняя карта памяти SD/MMC/SDIO, макс. 64 ГБ (в комплект не входит);
  • Поддержка сети: 10/100 Ethernet RJ45;
  • Поддержка WiFi: есть XR819, IEEE 802.11 b/g/n, в комплекте с антенной;
  • Аудио вход: микрофон на Zero Interface Board;
  • Видео выход: через Zero Interface Board;
  • Аудио выход: через Zero Interface Board;
  • Источник питания: 5В через USB OTG;
  • USB 2.0 портов: один USB 2.0 Host, один USB 2.0 OTG, два USB 2.0 Host через Zero Interface Board;
  • Кнопки: кнопка питания;
  • Низкоуровневые вводы/выводы: 26 контактов, совместимых с Raspberry Pi B +;
  • Многофункциональные вводы/выводы: 13 контактов для подключения Zero Interface Board, 2xUSB, ИК приемник, AUDIO, AV;
  • Индикаторы: индикатор питания, индикатор состояния;
  • Поддерживаемые ОС: Android, Lubuntu, Debian, Raspbian;
  • Размеры: 48 мм × 46 мм;
  • Вес: 26г;
Изначально проект предназначался для Raspberry Pi или laptop.
Работает на JavaScript как в браузере (3D на WebGL), так и через программу под винду, линух и мак.
Также поддерживает лазер.

К контроллеру подключил по usb, проверяю через браузер.
Настроек море, разбираюсь..
Запустил в холостую (на высоте, без включения шпинделя), пока все корректно.

OpiZero_cncjs.png

в планах подключение камеры и hdd.

... прошло некоторое кол-во времени ...

тест прошел отлично
OpiZero_cncjs_finish.png
в тесте скорость F=350, не на много ускорилось (Elapsed Time 02:29:43) в оригинале скорость F=150,
Загрузка камня и температура. На камне и раме радиаторы, Обдува нет.
Код:
Time        CPU    load %cpu %sys %usr %nice %io %irq   CPU  C.St.
21:22:03: 1200MHz  0.51   5%   1%   3%   0%   0%   0% 46.5°C  0/8
21:22:08: 1200MHz  0.47   7%   1%   5%   0%   0%   0% 46.3°C  0/8
21:22:13: 1200MHz  0.43   7%   1%   5%   0%   0%   0% 46.3°C  0/8
21:22:18: 1200MHz  0.56   5%   1%   4%   0%   0%   0% 45.9°C  0/8
21:22:23: 1200MHz  0.59   4%   1%   2%   0%   0%   0% 45.3°C  0/8
21:22:28: 1200MHz  0.55   7%   2%   4%   0%   0%   0% 46.0°C  0/8
21:22:33: 1200MHz  0.50   7%   3%   4%   0%   0%   0% 46.6°C  0/8
21:22:38: 1200MHz  0.46   7%   2%   4%   0%   0%   0% 46.3°C  0/8
21:22:44: 1200MHz  0.42   4%   1%   2%   0%   0%   0% 45.3°C  0/8
21:22:49: 1200MHz  0.39   6%   1%   4%   0%   0%   0% 46.2°C  0/8
21:22:54: 1200MHz  0.36   7%   1%   5%   0%   0%   0% 46.7°C  0/8
21:22:59: 1200MHz  0.33   7%   1%   5%   0%   0%   0% 46.1°C  0/8
21:23:04: 1200MHz  0.30   6%   1%   4%   0%   0%   0% 45.9°C  0/8
21:23:09: 1200MHz  0.36   6%   1%   4%   0%   0%   0% 45.9°C  0/8
21:23:14: 1200MHz  0.33   7%   1%   5%   0%   0%   0% 45.9°C  0/8
надо будет с камерой проверить загрузку, она будет самая тяжелая.

Ну что можно сказать? - по сравнению с нетбуком с ХП - земля и небо, мне нравится. :)
Нетбук глючил конкретно, Ноут места много занимает, а тут без проблем.
Да и не хочется мне комп только для станка использовать.
Есть малютка за 14 баксов - пусть работает она.
С камерой ещё поиграюсь да и корпус надо будет лепить для всего этого.

Сорри, напутал, не на Java, а на JavaScript, это разные вещи, но не суть,
Cheton Wu рельно круто накодил.
(вот - случай, исправить нельзя, а кого нибудь от этой ошибки сильно вспучит)

Она мне реально показалась на много серьезней тех, который я использовал до этого.
Да, мне тоже пока все нравится. IMHO интереснее чем Candle.
Но надо разбираться с ней.
На выходных попытаюсь что нибудь запилить.

Подписался на гитхабе на неё. Там тоже много полезного.

Поехали

1 BOM
OrangePi Zero 512Mb
Плата расширения, так называемый NAS
шнурок для hdd
радиаторы
адаптер uart такой или такой <- этот удобней только тем, что в защитной пленке. Оба они на cp2102. Это не принципиально. Можно и другой, главное условие - он должен работать :)

так же могут понадобятся
step-down на LM2596.
штекер питания только для тестов, потом, когда буду размещать это все в отдельном корпусе, избавлюсь и него и от usb шнурка
если радиаторы будете делать сами то понадобится теплопроводный скотч

Все эти ссылки из моей истории заказов ни в коем случае не руководство к покупке, а только отправная точка.
Например: ссылка на Opi в корпусе, уже с платой расширения и если юзать hdd не планируете то её и хватит
Другой случай - зачем брать в корпусе если будете делать свой. ну и .т.д.

2. Софт
Образы для Orange Pi Zero
Ставил на Armbian Stretch 4.14
Думаю это совсем не принципиально, тем более что изначально поддерживаются и настольные компы.
Игрался с образом raspbian, С ним движений надо делать больше. С Armbian-ом вышло как-то проще

3. Установка
Флэшка на 32Гб. Игрался и с 2-мя Гб. но это уж слишком мало :) 8-16 для начала хватит.
Для записи образа rufus. Два клика и никаких бубнов.



Подключаем uart и LAN шнурок.
Вставляем флешку,


Открываем Device Manager и смотрим на каком порту висит адаптер uart



Подключаемся терминалом к этому порту.
Включаем питание и ждем пока загрузится.



Далее смена пароля root-а (дефолтный пасс 1234) и регистрация нового пользователя.
выходим из root-а
cnc@orangepizero:~$ exit
и логинимся под юзером которого создали.



Все работы ведем под пользователем которого создали. В моем примере это cnc.
Проверяем доступ в инет
cnc@orangepizero:~$ ping ya.ru
остановка пинга Ctrl + c



Код:
cnc@orangepizero:~$ sudo apt-get update
cnc@orangepizero:~$ sudo apt-get upgrade

процесс не быстрый, ждем.

Далее устанавливаем ntpdate
cnc@orangepizero:~$ sudo apt-get install ntpdate
Это из раскопок. Без установки более-менее точного времени вылезали самые разные глюки, от зависания процесса установки, до кривой установки. Может это и не от даты. но после установки даты проблем не возникало
Далее
cnc@orangepizero:~$ sudo reboot
если после перезагрузки найдутся ещё обновления (строка будет выделена цветом), то опять
cnc@orangepizero:~$ sudo apt upgrade
Если нет, то первым делом настраиваем ТЗ и время.
cnc@orangepizero:~$ sudo dpkg-reconfigure tzdata
выбираем свою ТЗ и город








через несколько минут обычно обновляется, но у меня на GSM мопеде не всегда быстро (для этого и ставил ntpdate),
На нормальном канале проблем быть не должно.
если время будет неправильным, то получите вот такую ошибку




для ускорения процесса можно сделать перезагрузку. (мне она не всегда помогала)
проверяем:
cnc@orangepizero:~$ date
Sat Jan 27 22:41:37 MSK 2018


если дата таки кривая, то
cnc@orangepizero:~$ sudo ntpdate -u ntp1.stratum2.ru
24 Aug 03:48:28 ntpdate[1417]: step time server 88.147.254.230 offset 17989313.555203 sec

теперь все ок,
подготовка системы завершена.
 
Последнее редактирование модератором:

Комментарии

#2
Это очень крутая программа CNCjs!!!
Я в ней для себя нашел несколько очень полезных и давно искал для себя прибамбасов.
К примеру подгон к точному месту начала работы,..
Да и что там говорить, ее реально надо пробовать и тестировать.
СПАСИБО!
Если не против, хочу разместить ссылку на нашем форуме в разделе "ресурсы-программы"
правда рекомендую к изучению.
Она мне реально показалась на много серьезней тех, который я использовал до этого.

2018-08-23_00-00-10.jpg

2018-08-23_00-07-46.jpg

Про Вашу модернзацию с удовольствием буду читать и дальше.
 
Последнее редактирование:
#6
Тоже буду внимательнейшем образом следить за вашими сообщениями, терпеть не могу жесткой привязки компа и СNC.
 
#7
Установка node.js и cncjs:

Первый раз пытался устанавливать по мануалу автора.
Потом нашел другой, проще.
тут только добавил один символ - амперсанд в конце строки запуска

Установка Nodejs 6
Ну.... E bash, так E bash....: ставим репо
cnc@orangepizero:~$ curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -

ставим ноду
cnc@orangepizero:~$ sudo apt-get install -y nodejs
в принципе после установки репо, об этом и будет написано :)
пример корректной установки:
nodejs_install.png


И наконец cncjs:
cnc@orangepizero:~$ sudo npm install --unsafe-perm -g cncjs
Тут хочу обратить внимание на установку.
Нормальная выглядит так:
cncjs_install_ok.png

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

проверяем cncjs
cnc@orangepizero:~$ cnc -V
1.9.15

встал :)

пропишем автозагрузку
cnc@orangepizero:~$ sudo nano /etc/rc.local
выше строки exit 0: вставляем sudo /usr/lib/node_modules/cncjs/bin/cnc &
сохраняем = Ctrl+o, подтверждаем = Enter, выходим из nano = Ctrl+x

проверяем загрузку cncjs, для этого запустим вручную
cnc@orangepizero:~$ sudo /usr/lib/node_modules/cncjs/bin/cnc &
если нет ошибки про serialport, то все ок!

выглядеть это будет примерно так:
cncjs_autostart_ok.png

Обратите внимание откуда берутся настройки /root/.cncrc
При дальнейшей настройке программы сохранять именно туда - руту :)
Или в строке запуска указывать откуда их брать

подключаемся к WIFI
cnc@orangepizero:~$ nmtui-connect
пароль сохраняется и при следующих загрузках его вводить уже ненужно, т.е. включил и работай.

wifi_setup.png

Все, LAN кабель нам не нужен.
Для того, чтобы не лезть в роутер, IP OPi можем посмотреть wlan0 в терминале
cnc@orangepizero:~$ ifconfig

wlan_ip.png

в дальнейшем нужно будет в DHCP роутера (если в роутере такая возможность есть) прописать имя OPi и в браузере обращаться по имени а не по IP.

cnc@orangepizero:~$ sudo reboot

после перезагрузки проверяем, что порт 8000 открыт
cnc@orangepizero:~$ netstat -tulpn

На морду заходим http://IPAddres:8000/ (в примере http://192.168.1.36:8000)
Тут тоже (если есть возможность) можно роутере сделать редирект с 8000 на 80 и заходить без указания порта.
В общем вариантов много, каждый выбирает, то что ему удобнее/доступнее.
Вебморда сразу запустилась на нашем могучем.

Все! Выключаем, несем к станку, подключаем через usb, знакомимся с программой.

В программе пока не выберете usb порт софт работать не даст.
Я не тестировал, но по идее должна быть возможность и uart-ом подключиться

2018.10.31
если будут ошибки про serialport то надо установить node-gyp
sudo npm install -g node-gyp
далее внутри каталога /usr/lib/node_modules/cncjs/node_modules/serialport выполнить
sudo node-gyp configure build


далее настройка вебкамеры.


to be, так сказать, continued...
 
Последнее редактирование:
#10
Теоритически можно, а практически сомневаюсь что кто либо будет этим заниматься. Но дело даже не в этом. Линух несравнимо стабильнее любой винды, а это как раз и нужно для длительных процессов.
Мой совет - не пожалейте потраченного времени, оно окупится
 
#11
Владимир (Vofka), как реализован видео выход? Как подключить к монитору? Тема очень интересная и в целом возможная к исполнению.
 
#13
Владимир (Vofka), а если напрямую к монитору? Чтобы это был полностью портативный компьютер только для заливки УП через аналоги candle, программу, которая описана выше. Я понял посредством переходника hdmi vga?
 
#14
Ну да, если монитор vga то через переходник.
Не проверял этот вариант, скорее всего можно и монитор и клаву и мышу.
Но. Без поднятия X-ов, ничего выйдет, а imho Х-ы это лишняя нагрузка для такой малютки.
Для полноценного компа, надо апельсинку пожирнее покупать.

В обще такие работы делаются по задачу, я изначально хотел только автономную работу станка, т.е. загрузку УП и удаленный контроль.
Ваши сообщения автоматически объединены:

З.Ы. есть проект https://orangecnc.github.io/ - тоже интересный вариант
Ваши сообщения автоматически объединены:

Все что здесь описывал это больше напоминает OctoPrint для 3Д принтеров.
В наличии ещё OPi One 512Мб. Она пойдет на принтер, там есть разъем для камеры, но нет вафли.
С 3Д легче - там только вонь надо выветривать, а cnc шумный, его в сторонку :)
 
Последнее редактирование:
#15
Опять облом :(
На выходных решил запилить печатку, всё подготовил и обломался - у cncjs отсутствует карта высот...
На хабе эту тему обсуждают уже 2 года.
Вот блин, хороший софт, но как обычно - чего-то не хватает.

Полез копать дальше. Надыбал chilipeppr, есть для grbl 0.9 и для grbl 1.1.
Для работы нужно установить Serial Port JSON Server
Всё хорошо, но он только онлайн, что неприемлемо.
Нашел локальный чили chilipeppr.local он поддерживает только TinyG и на grbl работать отказался.
Ковырять чили желания нет, да и работате чили только в браузере, что опять заставляет держать либо комп, либо МК либо и комп и МК.

Выходные впустую.

Наверное попытаюсь с LinuxCNC поиграться, уж очень нехочется комп занимать только станком.

Может у кого есть какие то наработки по нашей теме на базе МК?
 

Уважаемый пользователь форума CNC3018.ru !

Нам показалось, что Вы блокируете показ рекламы.

Добавьте пожалуйста наш форум в список исключений или отключите пожалуйста AdBlock.