You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Quectel BC68模块UDP数据包接收异常问题排查求助

Quectel BC68 UDP接收故障排查

我正在测试Quectel BC68模块与服务器的UDP收发,发送功能正常,但无法接收服务器发来的UDP数据包。已完成模块配置,服务器通过Python脚本每秒向模块IP(10.234.160.111)的1884端口发送测试包,单次发送也无响应。附件为模块硬件搭建示意图,请求排查操作失误或其他故障。

服务器端Python发送脚本

import socket
import time

# 配置IP和端口
local_ip = "0.0.0.0"  # 监听所有网络接口
local_port = 60000    # 接收UDP数据包的端口

remote_ip = "10.234.160.111"  # BC68模块的IP地址
remote_port = 1884   # BC68接收消息的端口

hex_message = "DEADBEEF"  # 十六进制测试消息
message = bytes.fromhex(hex_message)  # 转换为二进制数据

# 创建UDP套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
udp_socket.bind((local_ip, local_port))  # 绑定套接字用于接收

print(f"UDP服务运行于 {local_ip}:{local_port}, 向 {remote_ip}:{remote_port} 发送数据")

try:
    while True:
        # 发送十六进制格式的UDP消息
        udp_socket.sendto(message, (remote_ip, remote_port))
        print(f"✅ UDP数据包已发送(十六进制): {hex_message} 至 {remote_ip}:{remote_port}")

        # 设置接收超时
        udp_socket.settimeout(1)  # 最多等待1秒响应

        try:
            # 接收UDP消息
            data, addr = udp_socket.recvfrom(1024)  # 最多接收1024字节
            hex_data = data.hex().upper()  # 转换为十六进制
            ascii_data = data.decode(errors="ignore")  # 尝试解码为ASCII

            print(f"📩 从 {addr} 收到消息: 十六进制={hex_data} | ASCII={ascii_data}")

        except socket.timeout:
            print("⏳ 未收到响应。")

        # 等待1秒
        time.sleep(1)

except KeyboardInterrupt:
    print("🛑 程序已终止。")

finally:
    udp_socket.close()

BC68模块AT指令配置步骤

AT+NRB
REBOOTING
B!Ä
Boot: Unsigned
Security B.. Verified
Protocol A.. Verified Apps A...... Verified
REBOOT_CAUSE_APPLICATION_AT
Neul OK

AT+QREGSWT=2
OK

AT+CFUN=1
OK

AT+CGDCONT=0, "IP", "iot.t-mobile.cz"
OK

AT+COPS=1,2,"23001"
OK 

AT+CSQ
+CSQ:29,99
OK

AT+CGPADDR
+CGPADDR: 0,10.234.160.111
OK

AT+NSOCR=DGRAM, 17, 1884,1
1
OK

AT+NSONMI=3
OK

AT+NSOST=1,158.196.109.146,60000,4,41686F6A
1,4
OK

AT+NSORF=1,512
OK

排查方向

  • 套接字通知与读取逻辑
    AT+NSONMI=3配置了新数据到达时的URC主动上报,但当前仅执行了一次AT+NSORF=1,512。需保持串口监听,若模块输出+NSONMI:1,X(X为数据长度),需立即执行AT+NSORF=1,X读取数据,而非固定读取512字节。同时确认串口工具未屏蔽URC输出。

  • 运营商IoT网络限制
    部分IoT运营商会限制主动 inbound 流量,仅允许模块主动发起连接后的双向通信。可执行AT+PING=158.196.109.146确认模块与服务器的连通性,同时联系运营商确认UDP inbound权限。

  • 网络参数匹配
    确认服务器发送的目标IP(10.234.160.111)、端口(1884)与模块当前配置完全一致,且服务器网络出口可访问模块所在的IoT网段。

内容的提问来源于stack exchange,提问作者Dominik Kozusznik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 11:35:55