大疆妙算3
- categories
- >
- Hardware
简单连接方式及demo
两种方式:
- 一种是通过USB-C直接供电+网络传输
- 一种是通过无人机
使用USB-C一定要使用推荐的扩展坞!需要65W供电!

连接
通过路由器查看ip:

通过ssh连接到妙算3

demo运行
创建应用


发送右键以激活应用

应用已经激活

下载SDKhttps://github.com/dji-sdk/Payload-SDK/releases
编译对应文件
cd Payload-SDK-3.16.0/
mkdir build
cd build
cmake ..
make

通信

客户端
import socket
import threading
HOST = '192.168.1.9'
PORT = 6000
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect((HOST, PORT))
# 接收线程
def recv_thread():
while True:
try:
data = client.recv(1024)
if not data:
break
print("\n[recv]:", data.decode())
except:
break
threading.Thread(target=recv_thread, daemon=True).start()
# 主线程负责发送
while True:
msg = input(">> ")
if not msg:
break
client.sendall(msg.encode())
client.close()
服务端
dji@tegra-ubuntu:~/demo$ ls
py_server.py
dji@tegra-ubuntu:~/demo$ cat py_server.py
import socket
import threading
def handle_client(conn, addr):
print(f"Connected: {addr}")
# 接收线程
def recv_thread():
while True:
try:
data = conn.recv(1024)
if not data:
break
print(f"\n[{addr} recv]: {data.decode()}")
except:
break
threading.Thread(target=recv_thread, daemon=True).start()
# 服务端也可以主动发送
while True:
msg = input(f"[send to {addr}] >> ")
if not msg:
break
conn.sendall(msg.encode())
conn.close()
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(('0.0.0.0', 6000))
server.listen(5)
print("Server started")
while True:
conn, addr = server.accept()
threading.Thread(target=handle_client, args=(conn, addr)).start()
comment:
- LiveRe
- ChangYan