dji-sdk / RoboMaster-SDK

DJI RoboMaster Python SDK and Sample Code for RoboMaster EP.
Apache License 2.0
327 stars 151 forks source link

找不到RoboMaster Python SDK的测试程序 #23

Open HYJJJJJJJJ opened 4 years ago

HYJJJJJJJJ commented 4 years ago

根据文档所描述的,使用pip3下载的外部依赖,没有在这个仓库里找到响应的测试程序,通过文档的描述自行编写测试程序如下:

from robomaster import robot
from robomaster import version

sdk_version = version.__version__
print("sdk version:", sdk_version)

ep_robot = robot.Robot()
robot.config.LOCAL_IP_STR = "192.168.1.102"
robot.config.DEFAULT_CONN_TYPE = "sta"
robot.config.DEFAULT_PROTO_TYPE = "tcp"
ep_robot.initialize(conn_type="sta")

ep_robot.close()

遇到报错:

G:\RoboMaster\venv\Scripts\python.exe G:/RoboMaster/ep.py
sdk version: 0.1.1.42
2020-08-26 00:32:36,706 ERROR conn.py:268 SdkConnection: RECV TimeOut!
2020-08-26 00:32:36,706 ERROR robot.py:908 Robot: Connection Failed, Please Check Hareware Connections!!! conn_type sta, host ('192.168.1.102', 10107), target ('192.168.1.150', 20020).
2020-08-26 00:32:36,706 ERROR robot.py:870 Robot: Connection Create Failed.
Traceback (most recent call last):
  File "G:/RoboMaster/ep.py", line 14, in <module>
    ep_robot.initialize(conn_type="sta")
  File "G:\RoboMaster\venv\lib\site-packages\robomaster\robot.py", line 871, in initialize
    raise e
  File "G:\RoboMaster\venv\lib\site-packages\robomaster\robot.py", line 868, in initialize
    self._client.start()
  File "G:\RoboMaster\venv\lib\site-packages\robomaster\client.py", line 131, in start
    raise e
  File "G:\RoboMaster\venv\lib\site-packages\robomaster\client.py", line 125, in start
    result = self.initialize()
  File "G:\RoboMaster\venv\lib\site-packages\robomaster\client.py", line 115, in initialize
    raise e
  File "G:\RoboMaster\venv\lib\site-packages\robomaster\client.py", line 113, in initialize
    self._conn.create()
  File "G:\RoboMaster\venv\lib\site-packages\robomaster\conn.py", line 154, in create
    self._sock.bind(self._host_addr)
OSError: [WinError 10049] 在其上下文中,该请求的地址无效。
Exception ignored in: <function Robot.__del__ at 0x000001B079095DC8>
Traceback (most recent call last):
  File "G:\RoboMaster\venv\lib\site-packages\robomaster\robot.py", line 676, in __del__
  File "G:\RoboMaster\venv\lib\site-packages\robomaster\robot.py", line 898, in close
  File "G:\RoboMaster\venv\lib\site-packages\robomaster\client.py", line 134, in stop
AttributeError: 'NoneType' object has no attribute 'is_alive'
Exception ignored in: <function Client.__del__ at 0x000001B06A464438>
Traceback (most recent call last):
  File "G:\RoboMaster\venv\lib\site-packages\robomaster\client.py", line 91, in __del__
  File "G:\RoboMaster\venv\lib\site-packages\robomaster\client.py", line 134, in stop
AttributeError: 'NoneType' object has no attribute 'is_alive'

在使用wifi连接的情况下,似乎连接不上我的RoboMaster EP,(已经使用明文SDK测试通过)

HYJJJJJJJJ commented 4 years ago

文档2. RoboMaster SDK 下载源码指向了这个仓库

HYJJJJJJJJ commented 4 years ago

另外,抓包发现,输出日志中

2020-08-26 00:32:36,706 ERROR robot.py:908 Robot: Connection Failed, Please Check Hareware Connections!!! conn_type sta, host ('192.168.1.102', 10107), target ('192.168.1.150', 20020).

表明的目标端口为20020,实际上发出的UDP包的目标端口为30030

yyyyykp commented 2 years ago

根据文档所描述的,使用pip3下载的外部依赖,没有在这个仓库里找到响应的测试程序,通过文档的描述自行编写测试程序如下:

from robomaster import robot
from robomaster import version

sdk_version = version.__version__
print("sdk version:", sdk_version)

ep_robot = robot.Robot()
robot.config.LOCAL_IP_STR = "192.168.1.102"
robot.config.DEFAULT_CONN_TYPE = "sta"
robot.config.DEFAULT_PROTO_TYPE = "tcp"
ep_robot.initialize(conn_type="sta")

ep_robot.close()

遇到报错:

G:\RoboMaster\venv\Scripts\python.exe G:/RoboMaster/ep.py
sdk version: 0.1.1.42
2020-08-26 00:32:36,706 ERROR conn.py:268 SdkConnection: RECV TimeOut!
2020-08-26 00:32:36,706 ERROR robot.py:908 Robot: Connection Failed, Please Check Hareware Connections!!! conn_type sta, host ('192.168.1.102', 10107), target ('192.168.1.150', 20020).
2020-08-26 00:32:36,706 ERROR robot.py:870 Robot: Connection Create Failed.
Traceback (most recent call last):
  File "G:/RoboMaster/ep.py", line 14, in <module>
    ep_robot.initialize(conn_type="sta")
  File "G:\RoboMaster\venv\lib\site-packages\robomaster\robot.py", line 871, in initialize
    raise e
  File "G:\RoboMaster\venv\lib\site-packages\robomaster\robot.py", line 868, in initialize
    self._client.start()
  File "G:\RoboMaster\venv\lib\site-packages\robomaster\client.py", line 131, in start
    raise e
  File "G:\RoboMaster\venv\lib\site-packages\robomaster\client.py", line 125, in start
    result = self.initialize()
  File "G:\RoboMaster\venv\lib\site-packages\robomaster\client.py", line 115, in initialize
    raise e
  File "G:\RoboMaster\venv\lib\site-packages\robomaster\client.py", line 113, in initialize
    self._conn.create()
  File "G:\RoboMaster\venv\lib\site-packages\robomaster\conn.py", line 154, in create
    self._sock.bind(self._host_addr)
OSError: [WinError 10049] 在其上下文中,该请求的地址无效。
Exception ignored in: <function Robot.__del__ at 0x000001B079095DC8>
Traceback (most recent call last):
  File "G:\RoboMaster\venv\lib\site-packages\robomaster\robot.py", line 676, in __del__
  File "G:\RoboMaster\venv\lib\site-packages\robomaster\robot.py", line 898, in close
  File "G:\RoboMaster\venv\lib\site-packages\robomaster\client.py", line 134, in stop
AttributeError: 'NoneType' object has no attribute 'is_alive'
Exception ignored in: <function Client.__del__ at 0x000001B06A464438>
Traceback (most recent call last):
  File "G:\RoboMaster\venv\lib\site-packages\robomaster\client.py", line 91, in __del__
  File "G:\RoboMaster\venv\lib\site-packages\robomaster\client.py", line 134, in stop
AttributeError: 'NoneType' object has no attribute 'is_alive'

在使用wifi连接的情况下,似乎连接不上我的RoboMaster EP,(已经使用明文SDK测试通过)

请问这个问题解决了吗 我也遇到了这个(灬ꈍ ꈍ灬)