панель оператора на удаленном компе

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: панель оператора на удаленном компе

Сообщение Lexxa »

Друзья, подскажите, плз.
никак не могу прочитать ответ в telnet питоном.
Простейшая программа вроде
программа (для просмотра содержимого нажмите на ссылку)

Код: Выделить всё

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys
import telnetlib
import time

host = "google.com" 
port = 80
timeout = 3

print ("Connecting...")
tn = telnetlib.Telnet(host,port,timeout) 

print("Reading...")
res = tn.read_until("[")
print(res)

print("Close session...")
tn.close()
print("Done")
Если телнетиться из терминала, то сервер отвечает нормально:
из терминала (для просмотра содержимого нажмите на ссылку)

Код: Выделить всё

$ telnet google.com 80
Trying 173.194.122.195...
Connected to google.com.
Escape character is '^]'.

Че не так делаю?
:bender:
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: панель оператора на удаленном компе

Сообщение Serg »

Lexxa писал(а):Че не так делаю?
А ты уверен, что питонская telnetlib запускает настоящий telnet, который пишет все эти буковки?
Да и скобочку ты не ту указал.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: панель оператора на удаленном компе

Сообщение Lexxa »

вроде разобрался.
1) wineshark помогла найти символы, которыми linuxcncrsh закрывает сообщение в telnet - \r\n
2) read_until("\r\n") ждет хз чего, а вот если запустить ее с параметром таймаут - ответчает нормально.
>>> res = tn.read_until("\r\n", 0.1)
>>> print "response:", res
>>> hello
HELLO NAK
Т.е. ловится две строки - та, что посылаются, и та, что принимается.
Как отсортировать и выбросить из строки ту, что отсылается?
:bender:
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: панель оператора на удаленном компе

Сообщение Serg »

Просто после отправки команды сразу прочитать вывод и проигнорировать первую строку, совпадающую с командой.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: панель оператора на удаленном компе

Сообщение Lexxa »

UAVpilot писал(а):Просто после отправки команды сразу прочитать вывод и проигнорировать первую строку, совпадающую с командой.
в том и дело, что я только начал изучать питон(
:bender:
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: панель оператора на удаленном компе

Сообщение Serg »

Так питон тут не при чём, подавление эха на любом языке просто делается: читаешь весь вывод в буфер, а в нём находишь посланную команду и вырезаешь.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: панель оператора на удаленном компе

Сообщение Nick »

Lexxa писал(а):в том и дело, что я только начал изучать питон(
Примерно так:

Код: Выделить всё

c = command 
s = read

if s[:len(c)] == c : 
  s = s[len(c):]
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: панель оператора на удаленном компе

Сообщение Lexxa »

Вот накидал прототип картинки IndustrialGUI
Пока для токарного только.

Под кнопкой T:
touchoff X
touchoff Z

Под кнопкой S:
CCW
STOP
CW
Speed Increase
Speed Decrease

Под кнопкой M
ON/Off M7
ON/Off M8
Lubrication

VEL+ VEL- -скорость в режиме JOG
Кнопка INC включит режим инкремента и высветит INC 1, INC 10, INC 100.

Все это дело будет бинарным файлом, работающим через NML.

Кому интересно - велкам.
Вложения
manual.jpg (5022 просмотра) <a class='original' href='./download/file.php?id=67033&sid=032153cf7a7adbef92931bbbd4c1ebe2&mode=view' target=_blank>Загрузить оригинал (77.78 КБ)</a>
:bender:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: панель оператора на удаленном компе

Сообщение Nick »

Красиво! :good:
А траектория будет?
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: панель оператора на удаленном компе

Сообщение Lexxa »

Ну если получится...
Вообще траектория полезна в режиме EDIT, в MDI, AUTO и тем более JOG она не нужна.
:bender:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: панель оператора на удаленном компе

Сообщение Nick »

В jog тоже иногда полезна - чтоб проехать по габаритам, чтобы проверить, что никуда не влетишь.
1240
Мастер
Сообщения: 972
Зарегистрирован: 25 янв 2013, 17:11
Репутация: 278
Откуда: Украина, Харьков.
Контактная информация:

Re: панель оператора на удаленном компе

Сообщение 1240 »

Установил и на станок и на удаленный комп (под Win7) teamviewer 11.
(Пока компьютеры через стенку)
Могу управлять LinuxCNC с компьютера под win7.
Вложения
Teamviewer.jpg (4953 просмотра) <a class='original' href='./download/file.php?id=67979&sid=032153cf7a7adbef92931bbbd4c1ebe2&mode=view' target=_blank>Загрузить оригинал (273.05 КБ)</a>
Аватара пользователя
Ovaday
Мастер
Сообщения: 430
Зарегистрирован: 25 янв 2015, 22:45
Репутация: 70
Настоящее имя: Евгений
Откуда: г. Уфа
Контактная информация:

Re: панель оператора на удаленном компе

Сообщение Ovaday »

1240 писал(а):Установил и на станок и на удаленный комп (под Win7) teamviewer 11.
(Пока компьютеры через стенку)
Могу управлять LinuxCNC с компьютера под win7.
Если оба компьютера в одной сети, то удобней использовать Splashtop, он быстрее соображает, меньше задержка, чем у TeamViewer
Студент, собираю себе хоббийный станочек для фрезеровки оргстекла, воска и пластика.
1240
Мастер
Сообщения: 972
Зарегистрирован: 25 янв 2013, 17:11
Репутация: 278
Откуда: Украина, Харьков.
Контактная информация:

Re: панель оператора на удаленном компе

Сообщение 1240 »

"через стенку" - только для эксперимента.
А так мне нужен именно удаленные доступ.
Станки надежные, работают сутками (сидеть рядом нет смысла).
Проблема в пропадании "света" или поломка инструмента.
веб камера-второй шаг
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: панель оператора на удаленном компе

Сообщение Serg »

Ovaday писал(а):Если оба компьютера в одной сети, то удобней использовать Splashtop, он быстрее соображает, меньше задержка, чем у TeamViewer
Вполне хватит банальных VNC или Xserver.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
pant-79
Мастер
Сообщения: 240
Зарегистрирован: 21 авг 2015, 11:38
Репутация: 1
Контактная информация:

Re: панель оператора на удаленном компе

Сообщение pant-79 »

Ovaday писал(а):Если оба компьютера в одной сети, то удобней использовать Splashtop, он быстрее соображает, меньше задержка, чем у TeamViewer
Что-то я у них на сайте нигде не заметил поддержки линукса. Или я плохо смотрел?
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: панель оператора на удаленном компе

Сообщение Lexxa »

Вот мой проект, в котором я начал ковырять промышленный интерфейс.
По большому счету, управление через NML реализовано достаточно просто.
Сейчас не шарю, как через NML получить значение пина из HAL.
Вложения
manual.zip
(7.12 МБ) 376 скачиваний
:bender:
Гагарин
Опытный
Сообщения: 142
Зарегистрирован: 18 июн 2015, 17:25
Репутация: 13
Настоящее имя: Юрий
Контактная информация:

Re: панель оператора на удаленном компе

Сообщение Гагарин »

Подскажите, пожалуйста, рабочую конфигурацию, чтоб поделить на два компа lcnc.
Не могу соединить. Сервер и клиент запускаются, но реакции нет. Не могу отключить estop и включить машину.
На обоих стоит lcnc 2.7 Сервер lucid ,а клиент Precise, если имеет значение.
.ini и .nml сервера и клиента в архиве.
настройки.zip
(3.95 КБ) 331 скачивание
Подозреваю загвоздка в этих пунктах настройки. Я не понимаю как их сделать. Единственное что: установил пакет
Control or Server PC Setup
1. Connect to NFS file server
a. Open /System/Administration/Synaptic Package Manager. Select nfs-common and portmap for installation. Select Apply and approve the dependencies.
b. change /etc/passwd, /etc/group UID and GID numbers to match user's account settings on file server.
c. reset file permission for owner and group in user's home directory.
"chown -R XXX:XXX /home/user_name "
d. Reboot to apply the user account settings. There may be a better way to do this.
e. create /home/user_name/emc2 directory.
f. mount file server's EMC library directory to user's emc2 directory.
"mount 192.168.55.15:/common/EMC_Library /home/kwallace/emc2" (Should really update the fstab file)
Гагарин
Опытный
Сообщения: 142
Зарегистрирован: 18 июн 2015, 17:25
Репутация: 13
Настоящее имя: Юрий
Контактная информация:

Re: панель оператора на удаленном компе

Сообщение Гагарин »

На инструкцию была ссылка на первой странице http://www.wallacecompany.com/machine_s ... notes.html
уточню вопрос.
f. mount file server's EMC library directory to user's emc2 directory.
"mount 192.168.55.15:/common/EMC_Library /home/kwallace/emc2" (Should really update the fstab file)
Я так понял это монтируются какая-то сетевая файловая система. Что за ip-адрес: это сервер, клиент или еще что-то? И что за библиотеки "/common/EMC_Library" ? где их взять?
Аватара пользователя
MX_Master
Мастер
Сообщения: 7465
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3088
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: панель оператора на удаленном компе

Сообщение MX_Master »

Наигрался я с игрушечными контроллерами, решил попробовать LCNC. Сразу появился такой же вопрос как у ТС. Для начала попробовал через VNC с tklinuxcnc - претензий нет, всё пашет, на нём и сижу. Пробовал также с помощью x11vnc с графическим интерфейсом - все пашет, но оттягивает у системы ресурсы, что плохо.

Вот читаю здесь про linuxcncrsh для управления по сети. И закралась сразу мысь поставить рядом с LCNC легкий веб-серверок (например, lighttpd) который будет общаться с linuxcncrsh. А в качестве интерфейса использовать веб-морду на HTML5/CSS3/JS, которая берется с веб-сервера и потом с ним же и общается. Ощутимым плюсом будет факт, что интерфейс можно открыть на любом устройстве с любой ОС, просто в браузере. Хочешь на телефоне или планшете под android/ios, хочешь на ПК с windows/linux. Подобная тема уже была на форуме.

Нашёл пока что одно воплощение этой идеи, но без использования linuxcncrsh: вот сервер и клиент

Запасным вариантом будет UnifiedRemote.
Ответить

Вернуться в «LinuxCNC»