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

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

1.介绍

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

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

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

2.功能

2.1 登录界面

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

2.2 HTTPS功能介绍

相关功能描述如下所示:

点击新建,确定即可。目前服务器只支持单向认证。

点击配置,可以根据需要配置自动响应/自定义响应。点击下载证书按钮可下载对应的证书。

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

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

支持下载模版,填上对应的设置,上传文件即可导入相关的配置。可参照示例或者模版格式自定义HTTP服务器相关配置。Note:如果path一样,上面的数据会被下面相同path的数据覆盖。

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

上传之后,勾选对应的行或者勾选全部行,点击批量保存。

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

2.3 模组与ConnectLab的交互测试

以EC200U为例,模组为HTTPS客户端,连接ConnectLab创建的HTTPS 单向服务器:

2.3.1 GET请求

[2026-03-25_15:29:03:173]AT+COPS?

[2026-03-25_15:29:03:187]+COPS: 0,0,“CHINA MOBILE”,7

[2026-03-25_15:29:03:187]OK

[2026-03-25_15:29:05:218]AT+QICSGP=1,1,“CMNET”,“”,“”,1

[2026-03-25_15:29:05:231]OK

[2026-03-25_15:29:08:424]AT+QIACT=1

[2026-03-25_15:29:08:439]OK

[2026-03-25_15:29:11:690]AT+QIACT?

[2026-03-25_15:29:11:690]+QIACT: 1,1,1,“10.12.168.226”

[2026-03-25_15:29:11:690]OK

[2026-03-25_15:29:26:095]AT+QHTTPCFG=“contextid”,1

[2026-03-25_15:29:26:095]OK

[2026-03-25_15:29:33:568]AT+QHTTPCFG=“sslctxid”,1

[2026-03-25_15:29:33:568]OK

[2026-03-25_15:29:40:390]AT+QSSLCFG=“sslversion”,1

[2026-03-25_15:29:40:390]+QSSLCFG: “sslversion”,1,4

[2026-03-25_15:29:40:390]OK

[2026-03-25_15:29:47:617]AT+QSSLCFG=“ciphersuite”,1

[2026-03-25_15:29:47:617]+QSSLCFG: “ciphersuite”,1,0XFFFF

[2026-03-25_15:29:47:617]OK

[2026-03-25_15:29:57:979]AT+QSSLCFG=“seclevel”,1,1

[2026-03-25_15:29:57:979]OK

[2026-03-25_15:30:09:541]AT+QSSLCFG=“cacert”,1,“UFS:ca.pem”

[2026-03-25_15:30:09:541]OK

[2026-03-25_15:30:15:765]AT+QHTTPURL=28,80

[2026-03-25_15:30:15:765]CONNECT

[2026-03-25_15:30:17:022]

[2026-03-25_15:30:17:022]OK

[2026-03-25_15:30:26:276]AT+QHTTPURL?

[2026-03-25_15:30:26:276]+QHTTPURL: HTTPS://101.37.104.185:46978

[2026-03-25_15:30:26:276]OK

[2026-03-25_15:30:28:632]AT+QHTTPGET=80

[2026-03-25_15:30:28:632]OK

[2026-03-25_15:30:29:921]

[2026-03-25_15:30:29:921]+QHTTPGET: 0,200,475

[2026-03-25_15:30:40:659]AT+QHTTPREAD=80

[2026-03-25_15:30:40:659]CONNECT

[2026-03-25_15:30:40:661]{

[2026-03-25_15:30:40:661] “method”: “GET”,

[2026-03-25_15:30:40:661] “scheme”: “https”,

[2026-03-25_15:30:40:661] “host”: “101.37.104.185:46978”,

[2026-03-25_15:30:40:661] “request_url”: “https://101.37.104.185:46978/”,

[2026-03-25_15:30:40:661] “raw_path”: “/”,

[2026-03-25_15:30:40:661] “path”: “/”,

[2026-03-25_15:30:40:661] “query_string”: “”,

[2026-03-25_15:30:40:661] “fragment”: “”,

[2026-03-25_15:30:40:661] “headers”: {

[2026-03-25_15:30:40:661] “Host”: “101.37.104.185:46978”,

[2026-03-25_15:30:40:661] “User-Agent”: “Quectel-Module”,

[2026-03-25_15:30:40:686] “Accept”: “*/*”,

[2026-03-25_15:30:40:686] “Connection”: “Keep-Alive”

[2026-03-25_15:30:40:686] },

[2026-03-25_15:30:40:686] “parameters”: {

[2026-03-25_15:30:40:686] “path”: “”

[2026-03-25_15:30:40:686] },

[2026-03-25_15:30:40:686] “ip”: “39.144.238.203”,

[2026-03-25_15:30:40:686] “port”: “Unknown”,

[2026-03-25_15:30:40:686] “start_time”: “2026-03-25 15:30:29.764403”

[2026-03-25_15:30:40:686]}

[2026-03-25_15:30:40:686]OK

[2026-03-25_15:30:40:792]

[2026-03-25_15:30:40:792]+QHTTPREAD: 0

2.3.2 POST请求

[2026-03-25_15:31:43:445]AT+COPS?

[2026-03-25_15:31:43:460]+COPS: 0,0,“CHINA MOBILE”,7

[2026-03-25_15:31:43:460]OK

[2026-03-25_15:31:45:033]AT+QICSGP=1,1,“CMNET”,“”,“”,1

[2026-03-25_15:31:45:033]OK

[2026-03-25_15:31:47:966]AT+QIACT=1

[2026-03-25_15:31:47:981]OK

[2026-03-25_15:31:51:875]AT+QIACT?

[2026-03-25_15:31:51:875]+QIACT: 1,1,1,“10.131.239.108”

[2026-03-25_15:31:51:875]OK

[2026-03-25_15:33:20:534]AT+QHTTPCFG=“contextid”,1

[2026-03-25_15:33:20:534]OK

[2026-03-25_15:33:22:332]AT+QHTTPCFG=“sslctxid”,1

[2026-03-25_15:33:22:332]OK

[2026-03-25_15:33:25:065]AT+QSSLCFG=“sslversion”,1

[2026-03-25_15:33:25:065]+QSSLCFG: “sslversion”,1,4

[2026-03-25_15:33:25:065]OK

[2026-03-25_15:33:26:650]AT+QSSLCFG=“ciphersuite”,1

[2026-03-25_15:33:26:650]+QSSLCFG: “ciphersuite”,1,0XFFFF

[2026-03-25_15:33:26:663]

[2026-03-25_15:33:26:663]OK

[2026-03-25_15:33:27:624]AT+QSSLCFG=“seclevel”,1,1

[2026-03-25_15:33:27:624]OK

[2026-03-25_15:33:28:966]AT+QHTTPURL=28,80

[2026-03-25_15:33:28:966]CONNECT

[2026-03-25_15:33:29:785]

[2026-03-25_15:33:29:785]OK

[2026-03-25_15:33:32:608]AT+QHTTPURL?

[2026-03-25_15:33:32:608]+QHTTPURL: HTTPS://101.37.104.185:46978

[2026-03-25_15:33:32:608]OK

[2026-03-25_15:33:48:565]AT+QSSLCFG=“cacert”,1,“UFS:ca.pem”

[2026-03-25_15:33:48:565]OK

[2026-03-25_15:34:12:173]AT+QHTTPPOST=48,80,80

[2026-03-25_15:34:12:994]CONNECT

[2026-03-25_15:34:21:761]

[2026-03-25_15:34:21:761]OK

[2026-03-25_15:34:22:030]

[2026-03-25_15:34:22:030]+QHTTPPOST: 0,200,48

[2026-03-25_15:34:30:090]AT+QHTTPREAD=80

[2026-03-25_15:34:30:090]CONNECT

[2026-03-25_15:34:30:090]{

[2026-03-25_15:34:30:090] “method”: “POST”,

[2026-03-25_15:34:30:090] “scheme”: “https”,

[2026-03-25_15:34:30:090] “host”: “101.37.104.185:46978”,

[2026-03-25_15:34:30:090] “request_url”: “https://101.37.104.185:46978/”,

[2026-03-25_15:34:30:090] “raw_path”: “/”,

[2026-03-25_15:34:30:090] “path”: “/”,

[2026-03-25_15:34:30:090] “query_string”: “”,

[2026-03-25_15:34:30:090] “fragment”: “”,

[2026-03-25_15:34:30:090] “headers”: {

[2026-03-25_15:34:30:090] “Host”: “101.37.104.185:46978”,

[2026-03-25_15:34:30:110] “Content-Type”: “application/x-www-form-urlencoded”,

[2026-03-25_15:34:30:110] “User-Agent”: “Quectel-Module”,

[2026-03-25_15:34:30:110] “Accept”: “*/*”,

[2026-03-25_15:34:30:110] “Content-Length”: “48”,

[2026-03-25_15:34:30:110] “Connection”: “Keep-Alive”

[2026-03-25_15:34:30:110] },

[2026-03-25_15:34:30:110] “parameters”: {

[2026-03-25_15:34:30:110] “path”: “”

[2026-03-25_15:34:30:110] },

[2026-03-25_15:34:30:110] “ip”: “39.144.239.208”,

[2026-03-25_15:34:30:140] “port”: “Unknown”,

[2026-03-25_15:34:30:140] “start_time”: “2026-03-25 15:34:21.874678”,

[2026-03-25_15:34:30:140] “data”: “Message=1111&Appleqty=2222&Orangeqty=3333&find=1”

[2026-03-25_15:34:30:140]}

[2026-03-25_15:34:30:140]OK

[2026-03-25_15:34:30:228]

[2026-03-25_15:34:30:228]+QHTTPREAD: 0

2.3.3 PUT请求

[2026-03-25_15:37:29:219]AT+COPS?

[2026-03-25_15:37:29:219]+COPS: 0,0,“CHINA MOBILE”,7

[2026-03-25_15:37:29:219]OK

[2026-03-25_15:37:33:199]AT+QICSGP=1,1,“CMNET”,“”,“”,1

[2026-03-25_15:37:33:199]OK

[2026-03-25_15:37:37:832]AT+QIACT=1

[2026-03-25_15:37:37:847]OK

[2026-03-25_15:37:40:720]AT+QIACT?

[2026-03-25_15:37:40:720]+QIACT: 1,1,1,“10.66.36.148”

[2026-03-25_15:37:40:720]OK

[2026-03-25_15:37:47:027]AT+QHTTPCFG=“contextid”,1

[2026-03-25_15:37:47:027]OK

[2026-03-25_15:37:49:198]AT+QHTTPCFG=“sslctxid”,1

[2026-03-25_15:37:49:198]OK

[2026-03-25_15:37:50:906]AT+QSSLCFG=“sslversion”,1

[2026-03-25_15:37:50:906]+QSSLCFG: “sslversion”,1,4

[2026-03-25_15:37:50:906]OK

[2026-03-25_15:37:53:054]AT+QSSLCFG=“ciphersuite”,1

[2026-03-25_15:37:53:054]+QSSLCFG: “ciphersuite”,1,0XFFFF

[2026-03-25_15:37:53:054]OK

[2026-03-25_15:37:54:622]AT+QSSLCFG=“seclevel”,1,1

[2026-03-25_15:37:54:622]OK

[2026-03-25_15:37:56:985]AT+QSSLCFG=“cacert”,1,“UFS:ca.pem”

[2026-03-25_15:37:56:985]OK

[2026-03-25_15:38:01:176]AT+QHTTPURL=28,80

[2026-03-25_15:38:01:176]CONNECT

[2026-03-25_15:38:02:061]

[2026-03-25_15:38:02:061]OK

[2026-03-25_15:38:05:386]AT+QHTTPURL?

[2026-03-25_15:38:05:386]+QHTTPURL: HTTPS://101.37.104.185:46978

[2026-03-25_15:38:05:386]OK

[2026-03-25_15:38:24:862]AT+QHTTPPUT=48,80,80

[2026-03-25_15:38:25:678]CONNECT

[2026-03-25_15:38:27:169]

[2026-03-25_15:38:27:169]OK

[2026-03-25_15:38:27:363]

[2026-03-25_15:38:27:363]+QHTTPPUT: 0,200,48

[2026-03-25_15:38:30:814]AT+QHTTPREAD=80

[2026-03-25_15:38:30:814]CONNECT

[2026-03-25_15:38:30:814]{

[2026-03-25_15:38:30:814] “method”: “PUT”,

[2026-03-25_15:38:30:814] “scheme”: “https”,

[2026-03-25_15:38:30:814] “host”: “101.37.104.185:46978”,

[2026-03-25_15:38:30:814] “request_url”: “https://101.37.104.185:46978/”,

[2026-03-25_15:38:30:814] “raw_path”: “/”,

[2026-03-25_15:38:30:814] “path”: “/”,

[2026-03-25_15:38:30:814] “query_string”: “”,

[2026-03-25_15:38:30:814] “fragment”: “”,

[2026-03-25_15:38:30:814] “headers”: {

[2026-03-25_15:38:30:814] “Host”: “101.37.104.185:46978”,

[2026-03-25_15:38:30:834] “Content-Type”: “application/x-www-form-urlencoded”,

[2026-03-25_15:38:30:834] “User-Agent”: “Quectel-Module”,

[2026-03-25_15:38:30:834] “Accept”: “*/*”,

[2026-03-25_15:38:30:834] “Content-Length”: “48”,

[2026-03-25_15:38:30:834] “Connection”: “Keep-Alive”

[2026-03-25_15:38:30:834] },

[2026-03-25_15:38:30:834] “parameters”: {

[2026-03-25_15:38:30:834] “path”: “”

[2026-03-25_15:38:30:834] },

[2026-03-25_15:38:30:834] “ip”: “39.144.239.35”,

[2026-03-25_15:38:30:865] “port”: “Unknown”,

[2026-03-25_15:38:30:865] “start_time”: “2026-03-25 15:38:27.217339”

[2026-03-25_15:38:30:865]}

[2026-03-25_15:38:30:865]OK

[2026-03-25_15:38:30:940]

[2026-03-25_15:38:30:940]+QHTTPREAD: 0

2.3.4 dfota升级

1)上传相关的差分包到服务器,可参考上传文件的操作;

2)模块配置相关的证书及参数;

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

[2026-0326_19:16:35:307]AT+QFOTADL=“https://101.37.104.185:41553/api/v1/data”,1 [2026-03-26_19:16:35:307]OK

[2026-03-26_19:16:35:445]

[2026-03-26_19:16:35:445]+QIND: “FOTA”,“HTTPSSTART”

[2026-03-26_19:16:41:948]

[2026-03-26_19:16:41:948]+QIND: “FOTA”,“HTTPSEND”,0

[2026-03-26_19:16:42:084]

[2026-03-26_19:16:42:084]+QIURC: “pdpdeact”,1

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

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

可根据需要删除客户端记录或者保存相关日志。

2.3.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