一键体验TCP/UDP协议测试
加速物联网应用开发
近日,移远通信正式上线QServer物联网应用协议在线测试平台,为开发者提供便捷的TCP/UDP协议调试工具。该平台支持实时数据交互测试,帮助用户快速验证设备与服务器的通信功能,提升物联网应用开发效率。
平台核心功能
1.在线TCP/UDP协议测试:
无需搭建本地环境,通过网页即可完成设备与服务器的数据收发测试。
2.实时数据监控:
清晰展示通信日志,支持Hex/ASCII格式切换,方便开发者分析数据包。
3.多场景适配:
适用于移远模组(如EC200U、BG95等)及第三方设备的协议调试,覆盖物联网主流应用场景。
4.简单易用:
输入服务器地址和端口即可连接,降低开发门槛。
操作教程:3步完成协议测试
1.TCP协议测试
1、登录平台
● 访问 QServer测试平台
"https://server.quectel.com/qserver/tcp",选择TCP协议模式。
2、配置连接参数
● 输入目标服务器地址(如IP或域名)和端口号。
● 点击"Connect"建立TCP连接。
3.收发数据测试
● 发送数据:在输入框中填写指令(例如AT+QIOPEN),点击"Send"。
● 接收数据:下方日志区将实时显示服务器返回的响应。
2.UDP协议测试
1、选择UDP模式
● 在平台界面切换至UDP协议选项。
2、配置目标地址
● 输入服务器IP和端口号(UDP无需建立连接,直接发送数据)。
3.发送与接收数据
● 发送数据:输入内容后点击"Send",数据将立即发送至目标地址。
● 接收数据:平台会显示来自服务器的UDP响应包(需确保对方地址可回传)。
3.提示:
● UDP适用于对实时性要求高但允许少量丢包的场景(如音视频传输)。
● 历史日志可复制保存,方便后续分析。
硬件准备
Sim卡一张。
移远任意模组一块。
实战案例:QuecPython TCP客户端开发
# -*- coding: UTF-8 -*-
import usocket
import utime
import _thread
# 服务器配置
SERVER_IP = '101.37.104.185'
SERVER_PORT = 46773
TIMEOUT = 30 # 秒
def receive_handler(sock):
"""独立线程持续接收服务器数据"""
while True:
try:
data = sock.recv(1024)
if not data:
print("\nServer closed connection")
break
print("\nReceived: {}".format(data.decode().strip()))
except:
break
def tcp_client():
sock = usocket.socket(usocket.AF_INET, usocket.SOCK_STREAM)
sock.settimeout(TIMEOUT)
try:
print("Connecting to {}:{}...".format(SERVER_IP, SERVER_PORT))
sock.connect((SERVER_IP, SERVER_PORT))
print("Connected! (Type 'exit' to quit)\n")
# 启动接收线程
_thread.start_new_thread(receive_handler, (sock,))
# 主线程处理用户输入
while True:
user_input = input("Send > ")
if user_input.lower() == 'exit':
break
if not user_input.endswith('\r\n'):
user_input += '\r\n'
try:
sock.send(user_input.encode())
print("[Sent] {}".format(user_input.strip()))
except Exception as e:
print("Send failed:", e)
break
except Exception as e:
print("Connection error:", e)
finally:
sock.close()
print("Connection closed")
根据开发第一个脚本 - QuecPython
将demo烧录至开发板后运行,输入”Hello QuecPython”,按下回车键发送。可以看到TCP服务器接收到了客户端发送的内容。
同时在发送栏输入“hello”点击发送,可以看到QPYCom接收到服务器的消息。
实战案例:QuecPython UDP客户端开发
# -*- coding: UTF-8 -*-
import usocket
import utime
import _thread
# 服务器配置(需替换为QServer提供的UDP测试地址)
SERVER_IP = '101.37.104.185' # 示例UDP服务器IP
SERVER_PORT = 46774 # 示例UDP端口(通常与TCP不同)
TIMEOUT = 10 # 接收超时(秒)
def udp_client():
# 创建UDP socket
sock = usocket.socket(usocket.AF_INET, usocket.SOCK_DGRAM)
sock.settimeout(TIMEOUT)
# 绑定本地端口(可选,若不绑定系统会自动分配)
# sock.bind(('0.0.0.0', 61000))
print("\nUDP Client Started!")
print(f"Target Server: {SERVER_IP}:{SERVER_PORT}")
print("Type 'exit' to quit\n")
def receive_handler():
"""独立线程持续接收数据"""
while True:
try:
data, addr = sock.recvfrom(1024) # 获取数据和来源地址
print(f"\n[From {addr[0]}:{addr[1]}] {data.decode()}")
except usocket.timeout:
continue
except:
break
# 启动接收线程
_thread.start_new_thread(receive_handler, ())
# 主发送循环
while True:
msg = input("Send > ").strip()
if msg.lower() == 'exit':
break
try:
# 发送到目标服务器
sock.sendto(msg.encode(), (SERVER_IP, SERVER_PORT))
print(f"[Sent] {msg}")
except Exception as e:
print(f"Send error: {e}")
break
sock.close()
print("UDP Client Closed")
# 执行示例
udp_client()
根据开发第一个脚本 - QuecPython
https://developer.quectel.com/doc/quecpython/Getting_started/zh/4G/first_python.html将demo烧录至开发板后运行,输入”Hello QuecPython”,按下回车键发送。可以看到UDP服务器接收到了消息。
同时在发送栏输入“hello”点击发送,可以看到QPYCom接收到服务器的消息。
代码功能说明:
1、多线程处理:接收线程持续监听服务器响应,输入线程处理用户指令
2、智能协议格式化:自动为输入内容添加\r\n结尾
3、错误恢复机制:自动捕获连接异常并安全退出
适用场景
● 物联网设备与云端服务器的通信验证
● TCP/UDP协议开发调试及故障排查
● 教学演示或快速原型开发
体验地址:
(https://server.quectel.com/qserver/tcp)
移远QServer的推出,进一步丰富了其开发者生态工具链。未来,该平台有望扩展更多协议支持,为物联网开发者提供更全面的服务。
关于移远通信
移远通信(Quectel)是全球领先的物联网模组供应商,产品涵盖5G、LTE、NB-IoT、Cat M等无线通信模组,致力于为行业提供一站式物联网解决方案。