物联网应用协议在线测试平台ConnectLab —HTTP

物联网应用协议在线测试平台ConnectLab —HTTP

1.介绍

Quectel推出物联网应用协议在线测试平台 ConnectLab,提供客户游客模式和移远员工域账号登陆方式。支持Web化的协议服务器启动、数据交互等操作,提升物联网协议测试的便捷性、安全性以及竞争力。

访问地址: https://connectlab.phicotek.com/connectlab/http

其中包含新建服务器,界面显示客户端接收发送的数据等功能。

2.功能

2.1 登录界面

登录界面,支持游客模式与移远员工,其中游客模式最大只支持5路客户端连接,服务器有效期为1天;移远员工最大支持20路客户端连接,服务器有效期为7天。

2.2 HTTP功能介绍

相关功能描述如下所示:

新建HTTP Server后,在配置选项里可以配置自动响应/自定义响应。

自动响应:将请求的数据返回。

自定义响应:客户可根据需要自定义请求头header设置、parameters及响应数据,设置完之后,点击批量保存即可。其中params和response_data支持上传文件。目前支持的文件格式包括.txt/.zip/.pack/.bin/.par,文件最大限制为50M。点击operate里的上传按钮,可上传对应的文件,如需要下载的文件或者差分包都可以。

支持下载模版,填上对应的设置,点击上传文件即可导入相关的配置。可参照示例或者模版格式自定义HTTP服务器相关配置。

上传文件的步骤如下图所示:

Note:如果上传的文件比较大,等待几秒后(文件上传需要时间),再点击保存。

2.3 模组与ConnectLab的交互测试

以EC200U为例,模组为HTTP客户端,连接ConnectLab创建的HTTP Server:

1.自动响应GET请求

[2026-01-19_14:34:29:141]AT+COPS?

[2026-01-19_14:34:29:156]+COPS: 0,0,“CHINA MOBILE”,7

[2026-01-19_14:34:29:156]OK

[2026-01-19_14:35:16:020]AT+QICSGP=1,1,“CMNET”,“”,“”,1

[2026-01-19_14:35:16:035]OK

[2026-01-19_14:35:20:192]AT+QIACT=1

[2026-01-19_14:35:20:206]OK

[2026-01-19_14:35:23:570]AT+QIACT?

[2026-01-19_14:35:23:570]+QIACT: 1,1,1,“10.87.151.1”

[2026-01-19_14:35:23:570]OK

[2026-01-19_14:35:31:201]AT+QHTTPCFG=“contextid”,1

[2026-01-19_14:35:31:201]OK

[2026-01-19_14:35:32:639]AT+QHTTPCFG=“responseheader”,1

[2026-01-19_14:35:32:639]OK

[2026-01-19_14:35:41:754]AT+QHTTPURL=27,80

[2026-01-19_14:35:41:754]CONNECT

[2026-01-19_14:35:42:999]HTTP://101.37.104.185:48401

[2026-01-19_14:35:42:999]OK

[2026-01-19_14:35:47:673]AT+QHTTPGET=80

[2026-01-19_14:35:47:688]OK

[2026-01-19_14:35:50:503]

[2026-01-19_14:35:50:503]+QHTTPGET: 0,200,473

[2026-01-19_14:35:54:889]AT+QHTTPREAD=80

[2026-01-19_14:35:54:889]CONNECT

[2026-01-19_14:35:54:889]HTTP/1.1 200 OK

[2026-01-19_14:35:54:889]Host: 101.37.104.185:41192

[2026-01-19_14:35:54:889]User-Agent: Quectel-Module

[2026-01-19_14:35:54:889]Accept: */*

[2026-01-19_14:35:54:889]Connection: Keep-Alive

[2026-01-19_14:35:54:889]Content-Type: text/plain; charset=utf-8

[2026-01-19_14:35:54:889]Content-Length: 473

[2026-01-19_14:35:54:889]Date: Mon, 19 Jan 2026 06:35:50 GMT

[2026-01-19_14:35:54:889]Server: Python/3.12 aiohttp/3.13.2

[2026-01-19_14:35:54:904]{

[2026-01-19_14:35:54:904] “method”: “GET”,

[2026-01-19_14:35:54:904] “scheme”: “http”,

[2026-01-19_14:35:54:904] “host”: “101.37.104.185:41192”,

[2026-01-19_14:35:54:904] “request_url”: “http://101.37.104.185:41192/”,

[2026-01-19_14:35:54:904] “raw_path”: “/”,

[2026-01-19_14:35:54:904] “path”: “/”,

[2026-01-19_14:35:54:904] “query_string”: “”,

[2026-01-19_14:35:54:904] “fragment”: “”,

[2026-01-19_14:35:54:904] “headers”: {

[2026-01-19_14:35:54:904] “Host”: “101.37.104.185:41192”,

[2026-01-19_14:35:54:919] “User-Agent”: “Quectel-Module”,

[2026-01-19_14:35:54:919] “Accept”: “*/*”,

[2026-01-19_14:35:54:919] “Connection”: “Keep-Alive”

[2026-01-19_14:35:54:919] },

[2026-01-19_14:35:54:919] “parameters”: {

[2026-01-19_14:35:54:919] “path”: “”

[2026-01-19_14:35:54:919] },

[2026-01-19_14:35:54:919] “ip”: “39.144.240.230”,

[2026-01-19_14:35:54:919] “port”: “Unknown”,

[2026-01-19_14:35:54:919] “start_time”: “2026-01-19 14:35:50.471644”

[2026-01-19_14:35:54:919]}

[2026-01-19_14:35:54:919]OK

[2026-01-19_14:35:54:919]+QHTTPREAD: 0

2.自动响应POST请求

[2026-01-19_15:15:17:087]AT+COPS?

[2026-01-19_15:15:17:087]+COPS: 0,0,“CHINA MOBILE”,7

[2026-01-19_15:15:17:087]OK

[2026-01-19_15:15:18:429]AT+QICSGP=1,1,“CMNET”,“”,“”,1

[2026-01-19_15:15:18:443]OK

[2026-01-19_15:15:22:785]AT+QIACT=1

[2026-01-19_15:15:22:796]OK

[2026-01-19_15:15:25:940]AT+QIACT?

[2026-01-19_15:15:25:940]+QIACT: 1,1,1,“10.96.98.149”

[2026-01-19_15:15:25:955]

[2026-01-19_15:15:25:955]OK

[2026-01-19_15:16:00:734]AT+QHTTPCFG=“contextid”,1

[2026-01-19_15:16:00:734]OK

[2026-01-19_15:16:03:549]AT+QHTTPCFG=“responseheader”

[2026-01-19_15:16:03:549]+QHTTPCFG: “responseheader”,1

[2026-01-19_15:16:03:549]OK

[2026-01-19_15:16:39:052]AT+QHTTPURL=27,80

[2026-01-19_15:16:39:052]CONNECT

[2026-01-19_15:16:39:921]HTTP://101.37.104.185:48401

[2026-01-19_15:16:39:921]OK

[2026-01-19_15:17:05:603]AT+QHTTPCFG=“contenttype”,4

[2026-01-19_15:17:05:603]OK

[2026-01-19_15:17:51:249]AT+QHTTPPOST=4,80,80

[2026-01-19_15:17:51:298]CONNECT

[2026-01-19_15:17:52:266]test

[2026-01-19_15:17:52:266]OK

[2026-01-19_15:17:52:319]

[2026-01-19_15:17:52:319]+QHTTPPOST: 0,200,4

[2026-01-19_15:17:56:033]AT+QHTTPREAD=80

[2026-01-19_15:17:56:033]CONNECT

[2026-01-19_15:17:56:033]{

[2026-01-19_15:17:56:033] “method”: “POST”,

[2026-01-19_15:17:56:033] “scheme”: “http”,

[2026-01-19_15:17:56:033] “host”: “101.37.104.185:41192”,

[2026-01-19_15:17:56:033] “request_url”: “http://101.37.104.185:41192/”,

[2026-01-19_15:17:56:033] “raw_path”: “/”,

[2026-01-19_15:17:56:033] “path”: “/”,

[2026-01-19_15:17:56:033] “query_string”: “”,

[2026-01-19_15:17:56:033] “fragment”: “”,

[2026-01-19_15:17:56:033] “headers”: {

[2026-01-19_15:17:56:033] “Host”: “101.37.104.185:41192”,

[2026-01-19_15:17:56:053] “Content-Type”: “application/json”,

[2026-01-19_15:17:56:053] “User-Agent”: “Quectel-Module”,

[2026-01-19_15:17:56:053] “Accept”: “*/*”,

[2026-01-19_15:17:56:053] “Content-Length”: “4”,

[2026-01-19_15:17:56:053] “Connection”: “Keep-Alive”

[2026-01-19_15:17:56:053] },

[2026-01-19_15:17:56:053] “parameters”: {

[2026-01-19_15:17:56:053] “path”: “”

[2026-01-19_15:17:56:053] },

[2026-01-19_15:17:56:053] “ip”: “39.144.239.158”,

[2026-01-19_15:17:56:053] “port”: “Unknown”,

[2026-01-19_15:17:56:088] “start_time”: “2026-01-19 15:17:52.293208”,

[2026-01-19_15:17:56:088] “data”: “test”

[2026-01-19_15:17:56:088]}

[2026-01-19_15:17:56:088]OK

[2026-01-19_15:17:56:088]+QHTTPREAD: 0

3.自定义响应GET请求(无response header)

[2026-01-20_14:09:05:027]AT+COPS?

[2026-01-20_14:09:05:027]+COPS: 0,0,“CHINA MOBILE”,7

[2026-01-20_14:09:05:027]OK

[2026-01-20_14:09:11:731]AT+QICSGP=1,1,“CMNET”,“”,“”,1

[2026-01-20_14:09:11:757]OK

[2026-01-20_14:09:19:788]AT+QIACT=1

[2026-01-20_14:09:19:800]OK

[2026-01-20_14:09:28:044]AT+QIACT?

[2026-01-20_14:09:28:044]+QIACT: 1,1,1,“10.195.47.42”

[2026-01-20_14:09:28:044]OK

[2026-01-20_14:09:36:594]AT+QHTTPCFG=“contextid”,1

[2026-01-20_14:09:36:594]OK

[2026-01-20_14:12:05:263]AT+QHTTPURL=54,80

[2026-01-20_14:12:05:263]CONNECT

[2026-01-20_14:12:06:276]HTTP://101.37.104.185:48401/api/v1/data?query=1&text=1

[2026-01-20_14:12:06:276]OK

[2026-01-20_14:12:12:231]AT+QHTTPGET=80

[2026-01-20_14:12:12:231]OK

[2026-01-20_14:12:15:300]

[2026-01-20_14:12:15:300]+QHTTPGET: 0,200,6

[2026-01-20_14:12:27:661]AT+QHTTPREAD=80

[2026-01-20_14:12:27:661]CONNECT

[2026-01-20_14:12:27:661]“test”

[2026-01-20_14:12:27:661]OK

[2026-01-20_14:12:27:792]

[2026-01-20_14:12:27:792]+QHTTPREAD: 0

4.自定义响应POST请求(无response header)

[2026-01-20_14:45:41:065]AT+COPS?

[2026-01-20_14:45:41:065]+COPS: 0,0,“CHINA MOBILE”,7

[2026-01-20_14:45:41:065]OK

[2026-01-20_14:45:47:935]AT+QICSGP=1,1,“CMNET”,“”,“”,1

[2026-01-20_14:45:47:935]OK

[2026-01-20_14:45:53:893]AT+QIACT=1

[2026-01-20_14:45:53:916]OK

[2026-01-20_14:46:00:377]AT+QIACT?

[2026-01-20_14:46:00:389]+QIACT: 1,1,1,“10.86.27.19”

[2026-01-20_14:46:00:389]OK

[2026-01-20_14:46:10:983]AT+QHTTPCFG=“contextid”,1

[2026-01-20_14:46:10:983]OK

[2026-01-20_14:46:26:957]AT+QHTTPCFG=“responseheader”

[2026-01-20_14:46:26:957]+QHTTPCFG: “responseheader”,0

[2026-01-20_14:46:26:957]OK

[2026-01-20_14:46:46:649]AT+QHTTPCFG=“contenttype”,4

[2026-01-20_14:46:46:649]OK

[2026-01-20_14:47:01:817]AT+QHTTPURL=40,80

[2026-01-20_14:47:01:817]CONNECT

[2026-01-20_14:47:07:554] HTTP://101.37.104.185:43034/api2/v1/data

[2026-01-20_14:47:07:554]OK

[2026-01-20_14:47:32:679]AT+QHTTPPOST=25,80,80

[2026-01-20_14:47:32:838]CONNECT

[2026-01-20_14:47:34:844] {“id”: 123,“name”: “abc”}

[2026-01-20_14:47:34:844]OK

[2026-01-20_14:47:35:715]

[2026-01-20_14:47:35:715]+QHTTPPOST: 0,200,65

[2026-01-20_14:47:47:780]AT+QHTTPREAD=80

[2026-01-20_14:47:47:780]CONNECT

[2026-01-20_14:47:47:780]“{\“message\”:\“Sucess\”,\“data\”:{\“id\”:123,\“name\”:\“abc\”}}”

[2026-01-20_14:47:47:780]OK

[2026-01-20_14:47:47:908]

[2026-01-20_14:47:47:908]+QHTTPREAD: 0

5.dfota升级

1)上传相关的差分包到服务器;

2)参考DFOTA文档,配置URL,升级即可。可参考如下AT指令。

[2026-03-23_11:23:38:903]AT+QFOTADL=“http://101.37.104.185:46144/api/v1/data”,1 [2026-03-23_11:23:38:903]OK

[2026-03-23_11:23:39:003]

[2026-03-23_11:23:39:003]+QIND: “FOTA”,“HTTPSTART”

[2026-03-23_11:24:15:966]

[2026-03-23_11:24:15:966]+QIND: “FOTA”,“HTTPEND”,0

[2026-03-23_11:24:16:340]

[2026-03-23_11:24:16:340]+QIURC: “pdpdeact”,1

Note:具体指令介绍,可参考对应模组的HTTP/DFOTA应用指导。

客户端连接后,选择对应的客户端,交互的数据如下图所示,清晰显示状态码、请求方法、响应数据等信息。同时会统计响应跟统计的耗时。

可根据需要删除客户端记录,保存相关日志,下载协议包文件。

5.Note

目前模块支持的content type如下,服务器已支持,可根据具体需求配置。

0 application/x-www-form-urlencoded

1 text/plain

2 application/octet-stream

3 multipart/form-data

4 application/json

5 image/jpeg