Python Serial: WinError 10053 при аппаратном подключении (DOBOT MG400)Python

Программы на Python
Ответить
Anonymous
 Python Serial: WinError 10053 при аппаратном подключении (DOBOT MG400)

Сообщение Anonymous »

Я программировал роботизированную руку (DOBOT MG400), используя Python 3 и TCP_IP-соединение с ПК с Windows 10 через соединение RJ45. Все работало хорошо, роботизированная рука признавала команды и двигалась, пока я не запустил несколько обновлений Windows на ПК. Теперь, когда я запускаю те же программы, которые успешно работали раньше, я получаю WinError 10053 Установленное соединение было прервано программным обеспечением на вашем хост-компьютере. Если я перезапущу компьютер, он обычно работает в течение нескольких запусков программы, прежде чем начнет получать те же ошибки.
Документация по командам DOBOT TCP_IP находится здесь, если кому-то интересно: https://github.com/Dobot-Arm/TCP-IP-Pro ... 112_en.pdf
Здесь есть несколько вопросов о WinError 10053, но все они касаются подключения к интернет-службам (например, серверам электронной почты), поэтому ответы не имеют отношения к этому аппаратному подключению.
Ниже приведен минимально воспроизводимый пример кода:

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

import socket

try:
TCP_IP = '192.168.1.6'
TCP_PORT = 30003
BUFFER_SIZE = 80

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((TCP_IP, TCP_PORT))
print (f"Connected to DOBOT port {TCP_PORT}")
except Exception as doboterror:
print(f"Unable to connect to DOBOT port {TCP_PORT}:\n{doboterror}")

def send(msg):
s.send(msg.encode())

def enable(weight = 0.196):
msg = (f"EnableRobot({weight})")
send(msg)
Один раз вызов «enable()» ничего не дает (обычно робот-манипулятор переходит в активированное состояние), а при повторном вызове «enable()» выдается следующее сообщение об ошибке:
р>

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

Connected to DOBOT port 30003
>>> enable()
>>> enable()
Traceback (most recent call last):
File "", line 1, in 
File "D:\New DOBOT files\MRE DOBOT.py", line 20, in enable
send(msg)
File "D:\New DOBOT files\MRE DOBOT.py", line 16, in send
s.send(msg.encode())
ConnectionAbortedError: [WinError 10053] An established connection was aborted by the software in your host machine
Поэтому я считаю, что это проблема чего-то вроде брандмауэра, блокирующего соединение. Я пробовал запустить это при отключении от Интернета и с отключенным брандмауэром, но получил те же результаты. Стоит отметить, что это делается на ПК, управляемом университетом.
Роботизированная рука продолжает функционировать должным образом благодаря фирменному программному обеспечению, включенному в комплект робота, DOBOTStudio. Благодаря этому я могу продолжать двигать роботизированную руку.
Я пытался восстановить компьютер до более ранней версии, но не думаю, что точка восстановления была достаточно старой. Есть ли способ подавить какой-либо скрытый антивирус или внести соединение в белый список? У меня очень мало опыта в соединениях TCP_IP.

Подробнее здесь: https://stackoverflow.com/questions/781 ... obot-mg400
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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