Универсальный Wi-Fi пульт из смартфона / планшета

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7465
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3088
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Универсальный Wi-Fi пульт из смартфона / планшета

Сообщение MX_Master »

Подбирал я недавно новый контроллер. Ориентир был на управление с ноутбука, по возможности не Mach3 и желательно по сети (ethernet, wi-fi). При этом хотелось по привычке иметь отдельный пульт для ручной подстройки - ноль заготовки выставить, вкл/выкл шпинделя и т.п. Выбор по моим деньгам был небольшой. На контроллер еще можно было потратиться, а вот пульты для ручной подстройки меня почему-то не вдохновили. Какой-то скудноватый у них был функционал за свои деньги. Думаю, многим в такой момент приходила мысль - а почему бы не сделать пульт, например из смартфона. Я даже видел что-то такое для Mach3 под Android. Идея неоднократно обсуждалась и очень проста. Рядом с софтом котроллера на ПК должна работать программка, которая будет эмулировать привычные действия оператора - нажимать кнопки на клаве, тыкать мышкой, вводить текст, смотреть на текущие позиции осей и т.п. Назовём эту программку - сервером. А в смартфоне у нас должно быть приложение-клиент, которое по сети этим сервером управляет. Я уже было хотел сам что-то попроще своять, но оказывается, все уже придумано за нас! У меня самого простой Android смартфон. Поэтому поиск я начал c Play маркета и нашёл!

Оказывается, есть такая штука как универсальный пульт для ПК. Это чисто софт, причём, мультиплатформенный. Говоря мультиплатформенный, я имею ввиду, что сервер и клиент есть под все ОС. Android, iOS, Windows, Linux и т.д. На компе ставим сервер, а на смартфон приложение. Для комуникации используется Wi-Fi, Bluetooth, ethernet, в общем - сеть. А для управления сервером используются LUA скрипты и интерфейс на XML. Документация хорошая, поэтому я за пару дней сообразил тестовый вариант для CNC USB контроллера Mk1. Ничего другого под рукой не было проверить. Система работает! Координаты осей берем из текстовых полей окна на ПК, и показываем их в приложении. Кнопки приложения эмулируют нажатия горячих клавиш в окне программы на ПК. Тестировал вчера и сегодня такое же для Mach3. Выполнимо, но вот координаты осей трудновато взять с окна программы, они хранятся чисто в памяти процесса и рисуются поверх форм для ввода в окне. С Mach4 таких проблем нет, координаты осей тоже берем с текстовых полей окна. Linux'ов под руками нет проверить, но думаю, что сделать тоже можно.

Итак, используем программу UnifiedRemote (https://www.unifiedremote.com/). С сайта качаем сервер под вашу ОС и ставим его на компе. Там же на сайте есть ссылки, чтобы скачать приложение под ваш смартфон. Сразу оговорюсь, есть бесплатная версия приложения и платная (3$). Я скачал бесплатную. Потыкал для начала в стандартные виды пультов - все пашет. Полез в документацию на предмет создания своего пульта, и уже через пол часа разборок с разбегу занес в кассу разработчика 3$ за полную версию приложения. Разрабы очень тщательно подошли к процессу, и дают нам большой функионал для визуального управления ПК с мобильного устройства. При желании вы можете создать для себя любой вид пульта с любым вашим функционалом. Под планшет, под смарфтон, под любые программы на ПК - Mach, CNCUSB, LinuxCNC и т.д. Все доки программы и исходники стандартных пультов лежат здесь - https://github.com/unifiedremote . Всем, кто знаком с программированием будет интересно полистать.

Для начала запустите сервер на ПК. В трее появится иконка, правый клик по ней, выбрать "Logs..". Откроется папка, в которой будет папка Remotes, внутри есть папка Custom. Архив c папкой пульта распаковываем в неё. Если у вас бесплатная версия приложения в смартфоне, то нестандартные пульты из этой папки юзать нельзя. Но на правах тестирования, можете заменить один из стандартных пультов в соседней папке \Remotes\Bundled\Main на свой. Главное, названия стандартных папок не менять, а их содержание может быть другое (надеюсь, намёк ясен). В приложении на смартфоне заходим в меню Remotes, жмем на экране ( + ), чтобы добавить к показу новых пультов. Находим в списке CNC USB Controller (или тот стандартный пульт, который вы изменили) и ставим напротив галочку. В списке пультов теперь можно нажать на CNC USB Controller и приступить к тестированию. Если в списках нигде нет нового пульта, то на ПК правый клик по иконке сервера в трее, выбрать Manager... Откроется браузер с вебмордой сервера. Там во вкладке Status > Dashboard жмем Reload Remotes. Кстати, советую для начала попробовать стандартные пульты, типа Mouse, File Manager. Будет интересно посмотреть как управлять мышкой и клавой ПК со смартфона, вкл/выкл звук, запускать/закрывать программы, смотреть на рабочий стол и т.д. Инструкция не совсем исчерпывающая, так что, если будут вопросы - задавайте.

- - - ПУЛЬТ ДЛЯ MACH3 - - - - - - - - - - - - - - - - - -
Пульт проверен на версии Mach3 3.043.053 со стандартным скринсетом Mach3Mill. Вертикальная версия пульта для смартфона. Для ввода MDI команд с клавиатуры используется комбинация клавиш CTRL + M. Для управления 4-ой осью (A) используются кнопки на цифровой клавиатуре - num4 и num6.

- - - ПУЛЬТ ДЛЯ NCSTUDIO 5 - - - - - - - - - - - - - - - - - -
Пульт проверен на версии NCStudio 5.5.6. Это вертикальная версия пульта (для смартфона). Получилось довольно функционально, т.к. из окна программы можно выдернуть много параметров.

- - - ПУЛЬТ ДЛЯ CNC USB CONTROLLER (PlanetCNC) - - - - - - - - - - - - - - - - - -
Пульт проверен на версии CNC USB Controller 2.10.1412.1501. Вертикальная версия пульта для смартфона.

https://gitlab.com/unified-remote-cnc
Последний раз редактировалось MX_Master 28 июн 2021, 12:20, всего редактировалось 14 раз.
Аватара пользователя
tooshka
Почётный участник
Почётный участник
Сообщения: 1803
Зарегистрирован: 24 окт 2012, 14:26
Репутация: 209
Настоящее имя: Андрей
Откуда: Нижний Новгород
Контактная информация:

Re: Универсальный Wi-Fi пульт из смартфона

Сообщение tooshka »

Выкладывайте, а и видео насколько быстро реагирует.
Милая, ты услышь меня
под окном стою со своим я ЧПУ! (Протяжно; с надрывом; форте)
Внимание!!! Чрезмерное увлечение ЧПУ приводит к проблемам в семейных отношениях!
Аватара пользователя
megagad
Почётный участник
Почётный участник
Сообщения: 3207
Зарегистрирован: 05 апр 2014, 18:57
Репутация: 712
Откуда: Реуспублика Крым, Бахчисарай.
Контактная информация:

Re: Универсальный Wi-Fi пульт из смартфона

Сообщение megagad »

"И тут внезапно позвонили..."
Может не стоит изобретать велосипед?
We Do What We Must, Because We Can!
Причинять добро, наносить пользу и подвергать ласке.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7465
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3088
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Универсальный Wi-Fi пульт из смартфона

Сообщение MX_Master »

Добавил видео http://bit.ly/1KqYzDI (есть в первом посте). Но едва ли этого хватит, чтобы показать какой-то функционал. Так что, смотрите и тестируйте сами. Все ссылки и краткая инструкция есть в первом посте.
Аватара пользователя
WhiteMask
Опытный
Сообщения: 196
Зарегистрирован: 28 дек 2013, 20:01
Репутация: 73
Откуда: Днепр, Украина
Контактная информация:

Re: Универсальный Wi-Fi пульт из смартфона

Сообщение WhiteMask »

У меня не получается, непойму как включить соединение комп-моб. устройство. Установил программу на комп, установил приложение на планшет. Надо наверное какойто мануал для чайников по установке и настройке всей системы.
WMMARKET.COM.UA 3D принтеры и аксессуары. Услуги 3Dпечати до 20мкм
Аватара пользователя
MX_Master
Мастер
Сообщения: 7465
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3088
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Универсальный Wi-Fi пульт из смартфона

Сообщение MX_Master »

WhiteMask писал(а):У меня не получается, непойму как включить соединение комп-моб. устройство. Установил программу на комп, установил приложение на планшет. Надо наверное какойто мануал для чайников по установке и настройке всей системы.
Всё зависит от вашего ПК. Но смысл коммуникации в том, чтобы и смартфон, и ПК находились в единой локальной сети.

Если настольный ПК и в нем нет никаких беспроводных (wifi, bluetooth) модулей, то, возможно, придётся прикупить что-то из этого:
1. USB Wi-Fi адаптер
2. PCI Wi-Fi адаптер
3. Wi-Fi роутер + возможно и PCI сетевой адаптер, если сетевого порта нет в ПК

В ноутбуках и смартфонах wifi/bluetooth модули, обычно, есть. Поэтому дело останется за малым - создать между ними локальную сеть, в которой одно из устройств будет Wi-Fi точкой доступа (базовой станцией), а другие будут к ней подключаться.

Если отдельного Wi-Fi роутера нет, то придется точкой доступа сделать или ПК, или сам смартфон. Ищем и читаем соответствующие темы - wi fi точка доступа windows и wi fi точка доступа андроид.

Инструкция крохотная, так что придется почитать в интернетах нужные мануалы по настройке и подобрать для себя лучший вариант. Сейчас многие контроллеры и платы развязки имеют сетевой интерфейс подключения к ПК (тот же SmoothStepper, CNCUSB Mk3 и т.п.). Поэтому очень полезно знать все эти сетевые манипуляции и настройки.
Аватара пользователя
shalek
Почётный участник
Почётный участник
Сообщения: 3019
Зарегистрирован: 25 авг 2014, 10:40
Репутация: 2575
Настоящее имя: Александр
Откуда: РБ Бобруйск
Контактная информация:

Re: Универсальный Wi-Fi пульт из смартфона

Сообщение shalek »

Попробовал. Все отлично работает. Со станком пока не пробовал. Надо разобраться как и что, но а так довольно шустро реагирует. Возможно куплю полную версию.
Если ты не можешь решить проблему, значит это не твоя проблема!
Мой канал на YouTube: YouTube
ЧПУ "Бобр" 600x500 мм
shalek64@gmail.com
nik1
Мастер
Сообщения: 8408
Зарегистрирован: 02 окт 2012, 07:37
Репутация: 3628
Откуда: Красногорск
Контактная информация:

Re: Универсальный Wi-Fi пульт из смартфона

Сообщение nik1 »

Штука на любителя, пробовал не понравилось
Если экран мелкий , то нужно точно попадать в иконки
Если большой, то неудобно держать
Аватара пользователя
shalek
Почётный участник
Почётный участник
Сообщения: 3019
Зарегистрирован: 25 авг 2014, 10:40
Репутация: 2575
Настоящее имя: Александр
Откуда: РБ Бобруйск
Контактная информация:

Re: Универсальный Wi-Fi пульт из смартфона

Сообщение shalek »

nik1 писал(а):Если экран мелкий , то нужно точно попадать в иконки
То же самое. Только не врублю, как допустим настроить на Ncstudio
Если ты не можешь решить проблему, значит это не твоя проблема!
Мой канал на YouTube: YouTube
ЧПУ "Бобр" 600x500 мм
shalek64@gmail.com
Аватара пользователя
WhiteMask
Опытный
Сообщения: 196
Зарегистрирован: 28 дек 2013, 20:01
Репутация: 73
Откуда: Днепр, Украина
Контактная информация:

Re: Универсальный Wi-Fi пульт из смартфона

Сообщение WhiteMask »

ну как по мне так лучше купить планшет 5-7 дюймовый за 30баксов и юзать имея разные скины пультов, чем купить безпроводной MPG для Mach3 за 100 долларов максимум на 3-4 оси и 5-ю настраиваемыми кнопками.
WMMARKET.COM.UA 3D принтеры и аксессуары. Услуги 3Dпечати до 20мкм
Аватара пользователя
WhiteMask
Опытный
Сообщения: 196
Зарегистрирован: 28 дек 2013, 20:01
Репутация: 73
Откуда: Днепр, Украина
Контактная информация:

Re: Универсальный Wi-Fi пульт из смартфона

Сообщение WhiteMask »

Всё получилось, работает офигенно быстро, пробую на Galaxy note 10.0
WMMARKET.COM.UA 3D принтеры и аксессуары. Услуги 3Dпечати до 20мкм
Аватара пользователя
WhiteMask
Опытный
Сообщения: 196
Зарегистрирован: 28 дек 2013, 20:01
Репутация: 73
Откуда: Днепр, Украина
Контактная информация:

Re: Универсальный Wi-Fi пульт из смартфона

Сообщение WhiteMask »

MX_Master Было бы очень хорошо донести до людей которые не особо связаны с програмированием (такие как я) как набросать свой пульт. Может есть софт какойто для програмирования с графичиским интерфейсом или чтото подобное? Например языки програмирования я не знаю, но для своих нужд пишу прошивки для микроконтроллеров вполне удачно используя программу с графическим интерфейсом в виде алгоритмических блоков.
WMMARKET.COM.UA 3D принтеры и аксессуары. Услуги 3Dпечати до 20мкм
Аватара пользователя
MX_Master
Мастер
Сообщения: 7465
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3088
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Универсальный Wi-Fi пульт из смартфона

Сообщение MX_Master »

WhiteMask писал(а):MX_Master Было бы очень хорошо донести до людей которые не особо связаны с програмированием (такие как я) как набросать свой пульт. Может есть софт какойто для програмирования с графичиским интерфейсом или чтото подобное? Например языки програмирования я не знаю, но для своих нужд пишу прошивки для микроконтроллеров вполне удачно используя программу с графическим интерфейсом в виде алгоритмических блоков.
Разработчики предполагают, что для создания своих пультов, у автора будет хотя бы минимальный навык программирования. Визуальных редакторов под это дело нет, поэтому всё пишем вручную. Вид пульта в XML файле ещё можно подправить без всякого программирования, а вот функциональную серверную часть без соответствующих навыков уже не взять. Базовый пример создания пульта можно глянуть здесь. Если базовый пример вызывает много вопросов, глубоко копать уже не стоит.

Давайте сделаем проще. Как минимум один прогер в теме у вас уже есть (в моём лице). Скажите для какой программы вам нужен пульт, опишите (нарисуйте) внешний вид (кнопки и т.д.) и опишите ожидаемый функционал. Я в свою очередь, открываю программку. Ковыряю её на предмет горячих клавиш, возможности получить позиции осей и т.п. Создаю пульт, в исходниках которого пишу как можно больше комментариев, чтобы вам можно было что-то потом исправить. И выкладываю исходники в этой теме. Мне-то самому пульт, к примеру, для ncstudio прямо сейчас не сильно нужен. Хотя многие этим самым ncstudio очень активно пользуются, и Wi-Fi пульт для него многим может пригодится. В итоге соберем потом в этой теме пульты (с исходниками) для популярных в народе программ. Но, если кто-то хочет создать полностью что-то своё, доки в помощь, а вопросы - в эту тему.
Аватара пользователя
WhiteMask
Опытный
Сообщения: 196
Зарегистрирован: 28 дек 2013, 20:01
Репутация: 73
Откуда: Днепр, Украина
Контактная информация:

Re: Универсальный Wi-Fi пульт из смартфона

Сообщение WhiteMask »

По сути мне нужен пульт под mach3. Просто хотелось бы свою раскладку клавиш набросать.
WMMARKET.COM.UA 3D принтеры и аксессуары. Услуги 3Dпечати до 20мкм
Аватара пользователя
WhiteMask
Опытный
Сообщения: 196
Зарегистрирован: 28 дек 2013, 20:01
Репутация: 73
Откуда: Днепр, Украина
Контактная информация:

Re: Универсальный Wi-Fi пульт из смартфона

Сообщение WhiteMask »

Вот я просмотрел фай .lua . Ну если взять сделать исходник например для программы mach3 с коментариями, например // этот блок для этого//, //вот этот для того то// и т.д. а мы по анологии будем подставлять уже свои клавиши. Потом исходник для ncstudio так же. И пусть каждый рисует себе кнопки и добавляет нужное количество осей. Или прописать все оси возможные, а ненужные народ закоментирует и всё. Ну както так.. может?
WMMARKET.COM.UA 3D принтеры и аксессуары. Услуги 3Dпечати до 20мкм
Аватара пользователя
MX_Master
Мастер
Сообщения: 7465
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3088
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Универсальный Wi-Fi пульт из смартфона

Сообщение MX_Master »

WhiteMask писал(а):Вот я просмотрел фай .lua . Ну если взять сделать исходник например для программы mach3 с коментариями, например // этот блок для этого//, //вот этот для того то// и т.д. а мы по анологии будем подставлять уже свои клавиши. Потом исходник для ncstudio так же. И пусть каждый рисует себе кнопки и добавляет нужное количество осей. Или прописать все оси возможные, а ненужные народ закоментирует и всё. Ну както так.. может?
Именно так и будет. Причем, код будет максимально простым, без сложной логики.

Хорошо, теперь разберемся с версиями. Нужна версия Mach3 (v0.000.000) и версия NCStudio (v0.000). Горячие клавиши могут быть одинаковыми в разных версиях, а вот элементы окна, с которых нужно снять данные (например, позиции осей), могут отличаться.

У меня есть ncstudio версии v8.313, v8.280, v8.258, v8.215, v5.5.6, v5.4.68, v5.4.53.
Mach3 версии v3.043.053.

А какими пользуетесь вы?
Аватара пользователя
shalek
Почётный участник
Почётный участник
Сообщения: 3019
Зарегистрирован: 25 авг 2014, 10:40
Репутация: 2575
Настоящее имя: Александр
Откуда: РБ Бобруйск
Контактная информация:

Re: Универсальный Wi-Fi пульт из смартфона

Сообщение shalek »

Самые распространенные Ncstudio 5.5.60 и Mach3 Ver. R3.043.066
По Mach3 - многие пользуются разными скринсетами, здесь в отличии от студии разнобой. Вот у нцшки - проще. Интерфейс у пятых одинаковый или почти одинаковый.
Если ты не можешь решить проблему, значит это не твоя проблема!
Мой канал на YouTube: YouTube
ЧПУ "Бобр" 600x500 мм
shalek64@gmail.com
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: Универсальный Wi-Fi пульт из смартфона

Сообщение Ворон226 »

Наконец-то! Неужели этим летом я поставлю на станочек вай-фай-монитор-пульт на планшетнике? И откажусь от длиннющего провода мониторного! Как только появится время - буду копать...
Хочешь быть счастливым? Будь им!
Аватара пользователя
WhiteMask
Опытный
Сообщения: 196
Зарегистрирован: 28 дек 2013, 20:01
Репутация: 73
Откуда: Днепр, Украина
Контактная информация:

Re: Универсальный Wi-Fi пульт из смартфона

Сообщение WhiteMask »

MX_Master писал(а):Горячие клавиши могут быть одинаковыми в разных версиях, а вот элементы окна, с которых нужно снять данные ........
думаю версия Матча не особо важна т.к. скринсет тот же. Думаю подправить номер элемента можно будет для себя каждому. Большая часть сами скринсеты правят под себя, и я в том числе. Допустим оттолкнутся от стандартного, а потом каждый подправит сам... там координаты указываются или название элемениа или еще чтото?
WMMARKET.COM.UA 3D принтеры и аксессуары. Услуги 3Dпечати до 20мкм
Аватара пользователя
MX_Master
Мастер
Сообщения: 7465
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3088
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Универсальный Wi-Fi пульт из смартфона

Сообщение MX_Master »

WhiteMask писал(а):
MX_Master писал(а):Горячие клавиши могут быть одинаковыми в разных версиях, а вот элементы окна, с которых нужно снять данные ........
думаю версия Матча не особо важна т.к. скринсет тот же. Думаю подправить номер элемента можно будет для себя каждому. Большая часть сами скринсеты правят под себя, и я в том числе. Допустим оттолкнутся от стандартного, а потом каждый подправит сам... там координаты указываются или название элемениа или еще чтото?
У этих элементов окна зачастую нет никаких названий. Единственный параметр, который позволяет их хоть как-то разделить на группы, это название класса. Нас интересуют элементы, в названии класса которых есть EDIT или STATIC. Отсеиваем из ВСЕХ элементов окна лишние и оставляем только эти. А потом методом научного тыка ищем в получившемся списке элементы, содержащие, например, позиции осей. Сохраняем порядковые номера найденных элементов под человеко-понятными именами. Далее, когда нужно считать значение, просто берем нужный элемент из списка элементов окна по заранее найденному порядковому номеру. Читаем значение и меняем значение соответствующего элемента Wi-Fi пульта. Вкратце. В тестовом исходнике для CNCUSB эти манипуляции можно наблюдать со 174-ой по 204-ую строку.

В ncstudio и cncusb с этим проблем нет. В Mach3 такие элементы тоже есть, только вот значения в них всегда пустые. Программа рисует значения позиций осей просто поверх этих элементов. Я недавно сделал попытку взять значения позиций осей просто из оперативной памяти процесса, но не вышло. У сервера UnifiedRemote маловато прав/привилегий, чтобы читать память других процессов. Попробую вариант снятия мини скриншотов с элементов с позициями осей.
Ответить

Вернуться в «Windows / Mach»