1. 新增 serial_udp_bitrans.py 該程式連結 serial 的封包 經過轉換後 再向 udp 口丟出 (反之亦然)

2. 其餘檔案只是 名稱與註解修正
This commit is contained in:
2025-05-26 22:43:57 +08:00
parent 5769f9ab3b
commit 417d9e8f57
7 changed files with 441 additions and 35 deletions
-33
View File
@@ -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)
+94
View File
@@ -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.")