forked from chiyu1468/AirTrapMine
1. 新增 serial_udp_bitrans.py 該程式連結 serial 的封包 經過轉換後 再向 udp 口丟出 (反之亦然)
2. 其餘檔案只是 名稱與註解修正
parent
5769f9ab3b
commit
417d9e8f57
@ -1,33 +0,0 @@
|
||||
import socket
|
||||
import os
|
||||
|
||||
# socket file path
|
||||
SOCKET_PATH = "/tmp/unix_socket_example"
|
||||
|
||||
# 若檔案存在就先刪除
|
||||
if os.path.exists(SOCKET_PATH):
|
||||
os.remove(SOCKET_PATH)
|
||||
|
||||
# 建立 socket
|
||||
server = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
|
||||
|
||||
# 綁定 socket 到檔案
|
||||
server.bind(SOCKET_PATH)
|
||||
server.listen(1)
|
||||
|
||||
print("🔌 Server waiting for connection...")
|
||||
|
||||
# 等待 client 連線
|
||||
conn, _ = server.accept()
|
||||
print("✅ Client connected.")
|
||||
|
||||
while True:
|
||||
data = conn.recv(1024)
|
||||
if not data:
|
||||
break
|
||||
print("📥 Received:", data.decode())
|
||||
conn.sendall(b"Echo: " + data)
|
||||
|
||||
conn.close()
|
||||
server.close()
|
||||
os.remove(SOCKET_PATH)
|
||||
@ -0,0 +1,94 @@
|
||||
import socket
|
||||
import os
|
||||
|
||||
# # socket file path
|
||||
# SOCKET_PATH = "/tmp/unix_socket_example"
|
||||
|
||||
# # 若檔案存在就先刪除
|
||||
# if os.path.exists(SOCKET_PATH):
|
||||
# os.remove(SOCKET_PATH)
|
||||
|
||||
# # 建立 socket
|
||||
# server = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
|
||||
|
||||
# # 綁定 socket 到檔案
|
||||
# server.bind(SOCKET_PATH)
|
||||
# server.listen(1)
|
||||
|
||||
# print("🔌 Server waiting for connection...")
|
||||
|
||||
# # 等待 client 連線
|
||||
# conn, _ = server.accept()
|
||||
# print("✅ Client connected.")
|
||||
|
||||
# while True:
|
||||
# data = conn.recv(1024)
|
||||
# if not data:
|
||||
# break
|
||||
# print("📥 Received:", data.decode())
|
||||
# conn.sendall(b"Echo: " + data)
|
||||
|
||||
# conn.close()
|
||||
# server.close()
|
||||
# os.remove(SOCKET_PATH)
|
||||
|
||||
|
||||
# =====================
|
||||
|
||||
# from pymavlink import mavutil
|
||||
|
||||
|
||||
# def create_unix_socket_connection():
|
||||
# # 建立一個 mavtcpin 實例
|
||||
# mav_conn = mavutil.mavtcpin("127.0.0.250:9999", source_system=1, source_component=1)
|
||||
|
||||
# # 替換底層 socket
|
||||
# # 關閉原有的 socket
|
||||
# mav_conn.listen.close()
|
||||
|
||||
# # 創建 Unix socket 並替換
|
||||
# unix_socket = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
|
||||
# unix_socket_path = "/tmp/unix_socket_mavlink.sock"
|
||||
|
||||
# # 確保先前的 unix socket 已被移除
|
||||
# if os.path.exists(unix_socket_path):
|
||||
# os.remove(unix_socket_path)
|
||||
|
||||
# # 綁定並設定 Unix socket
|
||||
# unix_socket.bind(unix_socket_path)
|
||||
# unix_socket.listen(1)
|
||||
# unix_socket.setblocking(0)
|
||||
# mavutil.set_close_on_exec(unix_socket.fileno())
|
||||
|
||||
# # 替換 listen socket
|
||||
# mav_conn.listen = unix_socket
|
||||
# mav_conn.fd = unix_socket.fileno()
|
||||
|
||||
# # mav_conn.port = unix_socket
|
||||
|
||||
# return mav_conn
|
||||
|
||||
|
||||
# a = create_unix_socket_connection()
|
||||
|
||||
# # print(a.port)
|
||||
|
||||
|
||||
|
||||
|
||||
# ===============================
|
||||
|
||||
import mavunixin
|
||||
mav_conn = mavunixin.mavunixin("unix:/tmp/unix_socket_mavlink.sock", source_system=1, source_component=1)
|
||||
|
||||
import time
|
||||
print("🔌 Server waiting for connection...")
|
||||
while True:
|
||||
time.sleep(1)
|
||||
mavlinkMsg = mav_conn.recv_msg()
|
||||
if mavlinkMsg is not None:
|
||||
print("📥 Received:", mavlinkMsg)
|
||||
# a.send(mavlinkMsg)
|
||||
# print("📤 Server replied:", data.decode())
|
||||
else:
|
||||
print("No message received.")
|
||||
Loading…
Reference in New Issue