【经验】NB-IoT模组EC系列如何通过AT指令发送HTTP请求
NB-IoT模组EC系列教程的前一次更新还是去年,上一篇教程就实现了定位信息监控,可以在微信公众号实时查看EC模组的位置信息,从那以后都不怕自己的小电驴被偷了。
一、测试准备
同样的,除了EC-01开发板之外,本次测试需要能够连接网络的NB物联网卡,已经接好配套的天线。开发板的micro USB接入电脑。
apiPost 验证URL是否可以正常响应。(apiPost下载地址:https://www.apipost.cn/?utm_source=10120)
EC系列AT指令集:https://docs.ai-thinker.com/_media/nb-iot/nb-iot系列模组AT指令集v1.0.pdf
二、配置入网
1. 指令列表
指令解释:
AT+CGATT ——附着网络
AT+CGDCONT ——配置APN
AT+CGACT ——激活网络
AT+CREG ——注册网络
成功入会打印如下信息:
提示
1、如果在附着网络指令提示:+ CMS ERROR:308,证明物联网卡被锁,通常是换卡使用导致的,需要解锁或者直接换新的卡。
2、如果在配置APN指令时回复:+ CMS ERROR:3。证明附着不成功,或者没装卡导致
3、如果成功之后,后面设备重启可以不发入网的指令,会自动入网
三、HTTP GET请求
1. 发送简单的GET请求
本节我们以 http://httpbin.org/get这个URL为例,控制EC-01-Kit 开发板发送GET请求。首先使用apiPost验证一下这个URL:
可以看到,这个URL可以正常响应。
(1)指令列表
AT+HTTPCREATE=0,"http://httpbin.org"\r\n
AT+HTTPCON=0\r\n
AT+HTTPSEND=0,0,4,"/get"\r\n
重点指令解释:
AT+HTTPSEND=<httpclientId>,<method>,<pathlen>,<path>[,<customheaderlen>,<customheader>,<contentTypelen>,<contentType>,<contentlen>,<content>]
根据指令描述:AT+HTTPSEND=0,0,4,“/get”
参数1:0 为httpclientId 即AT+HTTPCREATE=0,“http://httpbin.org” 中的“0”
参数2:0 为GET ,1为POST,2为PUT,3为DELETE 4为HEAD
参数3:4 为path 的字符数,即“/get” 的字符数量
参数4 :”/get“为请求的路径,就是path
(2)请求结果
可以看到,响应头和响应数据都分别打印出了,只是响应数据是HEX格式的,只要把这个数据转换成字符串就可以了,在线转换工具:https://www.sojson.com/hexadecimal.html
2.自定义头部的GET请求
(1)URL的验证
自定义头部的请求通常出现在需要验证令牌的情况。因为网上找不到需要自定义头部的HTTP服务器,本次测试为了演示如何使用自定义头部来发送请求,相关URL会关掉,所以不要使用本节的URL进行测试。
HTTP服务器配置如下:
URL: http://weixin.xuhongv.com
PATH: /aliyun.DeviceHandler/postFAEData
custom handle: token:fae12345678
我们依旧是先使用apiPost验证一下:
没加token 的请求
加入token的请求头:
(2)指令列表
根据指令描述,\<customheader> 参数要使用16进制表示:
所以,token:fae12345678字符串转换成16进制就是: 746f6b656e3a6661653132333435363738
AT+HTTPCREATE=0,"http://weixin.xuhongv.com"\r\n
AT+HTTPCON=0\r\n
AT+HTTPSEND=0,0,33,"/aliyun.DeviceHandler/postFAEData",34,"746f6b656e3a6661653132333435363738"\r\n
AT+HTTPSEND 头部参数解释(请同步查看AT指令集)
<customheaderlen>:自定义头部的字符长度----本节自定义头部是:746f6b656e3a6661653132333435363738 长度为:34
<customheader>:自定义头部的内容,以16进制表示。
EC-01-Kit 开发板请求结果:
把数据转换一下:
乱码部分是中文,数据和apiPost 请求的是一样的内容
四、HTTP HEAD请求
HTTP 的HEAD请求其实就是获取目标的响应头。通常在获取目标信息的时候用得到,比如文件大小,MD5值等。HEAD请求和GET请求的指令唯一区别就是AT+HTTPSEND 指令中的第二个参数为4。例如:
//发送GET请求:
AT+HTTPSEND=0,0,4,"/get"\r\n
//发送HEAD请求:
AT+HTTPSEND=0,4,4,"/get"\r\n
五、对MCU做OTA升级流程
EC-01使用AT指令固件,通常需要一个MCU来发送AT指令,随之对MCU进行OTA升级的需求也是必要的。既然讲完了HEAD请求和GET 请求,也可以满足对MCU做固件升级了。
本节使用的固件是随便找了一个ESP8266的固件进行介绍,名字如有雷同,纯属巧合。再者,请不要使用本节的URL进行测试,因为本章写完之后,会修改URL。
提示:NB-IOT 不支持HTTPS,请把固件的URL改成HTTP。
本节的URL为:http://seahibucket1.oss-cn-shenzhen.aliyuncs.com//http_test/release-v1.5-huawei-ota-20220325.bin
1.获取目标固件信息
在升级之前,获取目标固件的信息,固件大小,MD5校验值等,以确定固件的完整和正确。通常情况下,这些信息都在响应头中。这时候我们只需要发送HEAD 请求就可以获取到这些信息。
HEAD请求指令
AT+HTTPCREATE=0,"http://seahibucket1.oss-cn-shenzhen.aliyuncs.com"\r\n
AT+HTTPCON=0\r\n
AT+HTTPSEND=0,4,47,"/http_test/release-v1.5-huawei-ota-20220325.bin"\r\n
AT+HTTPDESTROY=0\r\n
请求结果
可以看到:
Content-Length: 766304
Content-MD5: h6AwnvNCs8AERGX4QLQeqQ==
这两个信息,就是目标固件的大小和MD5值。
2.GET请求固件内容
(1)整包请求
EC-01的GET请求的数据内容最大可以到3000 Byte。无法整包请求。而且过程不可控制。
指令列表
注意
请求下载的数据是原数据的HEX值,MCU是不能直接运行的,需要把这些数据使用算法转换成字符串才是原始数据,才能使用。
例如:
(2)分包请求
分包请求不是差分包升级,而是对整包进行连续的内容下载,直到下载完整个固件包的内容。实现方式就是在请求头中加入Ranges参数,比如:需要下载前0-1024个字节,Ranges:bytes=0-1024,而下一个包的首个字节的位置就是1025,下一次请求头中 Ranges:bytes=1025-1025+xxx。
指令列表,请求前两个包,每包1024Byte
AT+HTTPCREATE=0,"http://seahibucket1.oss-cn-shenzhen.aliyuncs.com"\r\n
AT+HTTPCON=0\r\n
AT+HTTPSEND=0,0,47,"/http_test/release-v1.5-huawei-ota-20220325.bin",36,"52616e67653a62797465733d302d31303234"\r\n
AT+HTTPSEND=0,0,47,"/http_test/release-v1.5-huawei-ota-20220325.bin",42,"52616e67653a62797465733d313032352d32303439"\r\n
请求结果
同样的,这些数据都是要进行HEX到字符串的转换。并且把转换后的数据用MD5验证,确保数据正确。
六、HTTP POST请求
POST请求和GET请求的参数大致一样,唯一不同的是POST要是使用Body信息。
1.简单的POST请求
我们需用以下信息作为HTTP服务器:
URL: http://httpbin.org/post
Body 类型: application/json
Body 类型长度: 16
Body:{“form”:{“purpose”:“test”}}
Body的16进制表示: 7b22666f726d223a7b22707572706f7365223a2274657374227d7d
Body长度: 54
指令列表为:
AT+HTTPCREATE=0,"http://httpbin.org"\r\n
AT+HTTPCON=0\r\n
AT+HTTPSEND=0,1,5,"/post",,,16,"application/json",88,"6170706c69636174696f6e2f6a736f6e3d7b22666f726d223a7b22707572706f7365223a2274657374227d7d"\r\n
请求结果
2.其他参数的POST请求
其他参数的POST请求,可以完全参考GET请求的方式。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由剑藏锋转载自安信可科技官网,原文标题为:【安信可NB-IoT模组EC系列应用笔记⑥】AT指令HTTP请求一篇就够,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关推荐
【经验】如何使用安信可NB-IoT模组EC系列的MQTT
在IoT行业中,智能家居和远程服务器的通信,常用的就是MQTT协议。EC系列作为一款NB-IoT模组,自然也是支持MQTT协议,在EC的出厂的AT固件中,就集成MQTT的指令,本文将会介绍出厂固件的MQTT指令的具体使用方法及使用实例。
设计经验 发布时间 : 2023-03-02
【经验】如何用NB-IoT模组EC系列了解LwM2M协议并接入云平台
安信可本文将介绍如何用NB-IoT模组EC系列了解LwM2M协议并接入云平台,LwM2M作为一种轻量级的、标准通用的物联网设备管理协议,主要面向基于蜂窝的窄带物联网场景下的应用。
设计经验 发布时间 : 2023-06-03
【经验】怎样开启美格无线模块SLM755L,SLM756,SLM756P自带的GPS功能
MEIGSMART(美格智能)推出了多种适用于物联网的通信模块,广泛应用于NB-IoT、车联网、T-BOX等领域。在模块功能介绍中,有一项为GNSS的功能想必被广大开发者关注,部分无线模组包含了当前世界三大全球定位系统GPS/Beidou/Glonass。如果在设计时将该定位功能开启,不仅可以享受MEIGSMART提供的高速无线上网服务,同时还可以获取高精度的定位服务,从而省去了产品需要外置定位模
设计经验 发布时间 : 2018-10-10
中科芯(CETC)32位MCU选型指南
目录- 公司简介 MCU MCU型号定义&封装参考 MCU开发工具 LoRa/ NB-IoT LoRa/ NB-IoT产品简介 MCU应用案例
型号- CKS32F103V8T6,CKS32F031K6U6,CKS32F102C6T6,CKS32F417ZET6,CKS32F105VDT6,CKS32F107,SX1262,CKS32F105,CKS32F102R4T6,CKS32F103,CKS32F101,CKS32F102,CKS32F101R6T6,CKS32F103C4T6,CKS32F051K6U6,CKS32F101ZCT6,CKS32F030F6P6,CKS32F101VET6,CKS32F417VGT6,SX1280,CKS32L063C8T6,CKS32F031F4P6,CKS32F101C8T6,CKS32F107V8T6,SX1278,CKS32F103RCT6,CKS32F107RBT6,CKS32F051K6T6,CKS32F405ZGT6,TP20L607,CKS32F103ZET6,CKS32L052R6T6,CKS32L052C8T6,CKS32F105VCT6,CKS32F107系列,CKS32F105RET6,CKS32L051系列,CKS32L051R8T6,CKS32L053C6T6,CKS32F101ZDT6,CRF-62,CKS32F072R6T6,CKS32F051系列,CKS32F103RDT6,CKS32F072C8T6,CKS32F103VBT6,CKS32F030K6T6,CKS32F042K8T6,CKS32F407VET6,CKS32F103R4T6,CKS32F415系列,CKS32F103ZDT6,CKS32F102C8T6,CKS32F417ZGT6,CKS32F042系列,CKS32F105VBT6,CKS32F030R8T6,CKS32F102R6T6,CKS32F105RDT6,CRF62-LKWAN-CY,CKS32F103C6T6,CKS32L052系列,CKS32F030K6U6,CKS32F102系列,CKS32F101R8T6,CKS32F030F4P6,CKS32F101ZET6,CKS32L063R8T6,CKS32F101CBT6,CKS32F031系列,CKS32F107R8T6,CKS32F031G6U6,CKS32F103RET6,CKS32L051K6T6,CRF1278系列,CKS32F415RGT6,CKS32L063系列,CKS32F103VCT6,CKS32F051C8T6,CKS32F103ZCT6,CKS32F417IET6,CKS32L052R8T6,CKS32F105RCT6,CKS32L053系列,CRF1278,CKS32F051R8T6,CKS32F101系列,CKS32L053C8T6,CKS32F072CBT6,CKS32F105V8T6,CKS32F407ZET6,CKS32F101RBT6,CKS,CKS32F030系列,CKS32F072R8T6,CRF62-L2,CRF62-L5,CKS32F042C6T6,CKS32F103VDT6,CKS32L053R6T6,CKS32F107VET6,CKS32F407VGT6,CKS32F103R6T6,CKS32F417系列,CKS32F030C8T6,CKS32F102R8T6,CKS32F105RBT6,CKS32F031C6T6,CKS32F103C8T6,CKS32F102CBT6,CKS32F405系列,CKS32F101RCT6,CKS32L052K6T6,CKS32F415VGT6,CKS32F031G4U6,CKS32F103VET6,CKS32F107VDT6,CKS32F051,CKS32F051C6T6,CKS32L051K8T6,CKS32F417IGT6,CRF-62系列,CRF62-WAN,CKS32,CKS32F103系列,CKS32F072RBT6,CKS32F042,CKS32F407IET6,CKS32F405RGT6,CRF1280-12S,CKS32F107RET6,CKS32F407ZGT6,CKS32F101VBT6,CKS32F102RBT6,CKS32F101RDT6,CKS32L053R8T6,CKS32F031,CKS32F103R8T6,CKS32F042C8T6,CKS32F107VCT6,CKS32F030,CRF1278-L3,CRF1278-L1,CKS32F030C6T6,XY1100,CRF1278-L4,CKS32F103CBT6,CKS32F030K6,CKS32F102C4T6,ASR6601,CKS32F101R4T6,CKS32F105R8T6,CKS32F051K8U6,CKS32F407系列,CKS32F107RDT6,CKS32F101VCT6,CKS32F415ZGT6,CKS32F101RET6,CKS32L052K8T6,CKS32F417,CKS32F417VET6,CKS32F101C6T6,CKS32F415,CKS32F031F6P6,CKS32F107VBT6,CKS32L051C6T6,CKS32F051K8T6,TP20H607,CKS32L051C8T6,CKS32F042K6T6,CKS32L052C6T6,ASR6505,CKS32F105VET6,CKS32F407,CKS32F405,ASR6501,ASR6502,CKS32X...,CKS32F105系列,CKS32L051R6T6,CKS32L063,CKS32F407IGT6,CKS32F405VGT6,CKS32F072,CKS32F101VDT6,CKS32F072系列,CKS32F031K6T6,CKS32F103RBT6,CKS32F072C6T6,CRF1100-N1,CKS32L052,CKS32F107RCT6,CKS32L051,CKS32L053
MEIG(美格)5G+AIoT模组选型指南
目录- 公司简介 模组概览 5G模组系列 4G模组系列 NB-IoT/Cat M模组系列 产品解决方案
型号- SLT866,SLT188A,SLM550,SLM756CH,SLM156,SLM828M,SLM790,SLM759J,SNM951,SRM825L,MT548,SLM820,SLM756LA,SRM930-C,SLM550-AU,SLM828,SLM925-AU,SRM900,SLM900NA,SLM758J,SLM750-Z,SLM900EU,SLM759C,SLM828G,SLM759E,SLM759A,SLM759B,SRM900L-C,MP617,SLT868Q,SRM900-C,SLM130,SLT818A,SRT873,SLM920,SLM500LA,SRT873S,SLM500LC,MC539,SLM920-J,SLM500LE,SLT719,SLM925,SLM500LJ,SLM900LA,SLM920-E,SLM920-C,SLT711,SLM130F,SLT818H,SLM920-A,SLM757,SLM900CH,SLM756,SLM550-C,SLM759,SLM758,SLM550-A,SNM900,SLM755,SLM130X,SLM550-E,SLM550-J,SLM328Y,MA800,SRM810,SLM190,SRM930,SRM811,SLM755L,SRM815,SLM750 MINI PCLE,SLM160X,SLM750,SLM900,MT504,SNM758,SLM925-E,SLM925-J,SRM821,SLM500L,SLT776,SRM825,SLM925-C,SLT778,SLM925-A,SRT856,SRM815N,SLM770A,SLM100,SRM900L,SRT853,SRM815-GL,SRT855,SLM500SC,SLM500SB,SLM500SE,SNM920,SLM730,SLM770U,SLM757QA,SLM757QC,SLM500S,SLM757QE,SLM500Q,SLM920-LA,SNM925,SLM330,SLM332,SLM190X,SRT853C,SLM758B,SLM328,SLM758C,SLM758E,SLM323,SLM756EU,SLM790 MINI PCLE,SNM930,SRM825WN,SLM326,SLM758A,SLM756NA,SLM925-LA,SRM930-E,SRM825W,SLM160,SRM930-J,SRT838S,SLT879,SRM825N,SLM320,SLM322,SRT830,SRT831,SLM500QA,SLM500QC,SLM500QE,SLM770A MINI PCLE,SLM920-AU,SLM500QJ
安信可科技(Ai-Thinker)物联网专用模组&天线选型指南
目录- LoRa product Radar product WiFi+Bluetooth products 2.4G Series Module GPS Series Module UWB & 4G series module GPRS series module Offline Voice Module Series Antenna
型号- RA-01SH,PB-02-KIT,RTL8720 SERIES,AI-WB1,AI-WB2,AI-WB2-M1,HI-07S-KIT,TB-02-KIT,AI-WB2-12F-KIT,AI-WB2-13-KIT,AI-WB2-13U,AI-WB2-01S,A9,SX1268,RA-01SC,TG-02-KIT,PB SERIES,RTL8710BX SERIES,GPS SERIES,AI-WB2-01M,VC-01-KIT,HI-12F,TB SERIES,HI-12F-KIT,BW16,AI-WB2 SERIES,BW15,BW14,TG-12F-KIT,BW12,RTL8710BX,A9G,HI SERIES,AI-WB2-12S,PB-03,SX126X,AI-WB1-32S,HI-07S,HI-07SL-KIT,PB-01,PB-02,RG-02,AI-WB1-32S-KIT,RTL8720DN,AI-WB2-12F,TG-01M,AI-WB1SERIES,NF-05,NF-02-PA,NF-04,NF-03,BW16-KIT,NF-01-S,SX127X,TB-03F-KIT,LLCC68,TG-02,AI-WB2-07S,NF-01-N,NF-02-PE,AI-WB1-32S-CAM,GP-02-KIT,AI-WB2-M1-I,TG-02M-KIT,TG-02M,RA-08-KIT,GP-01,GP-02,CA-01-KITC,CA-01,2.4G SERIES,AI-WB2-13,PB-03F,PB-03M,TG SERIES,TB-04-KIT,TB-05,GPRS SERIES,TB-04,TG-02F,TB-02,RTL8720DN SERIES,TG-02F-KIT,4G SERIES,PB-03M-KIT,AI-WB2-32S-KIT,BU01,RA-01,PB-03-KIT,ESP32-G,RTL8720,RA-08H,NF-04-MI,VC-02-KIT,NF-05-S,RA-01S,HI-12FL,RA-01H,HI-07SL,AI-WB2-32S,RA-01SCH,PB-01-KIT,RTL8720CF,TG-01M-KIT,TG-12F,AI-WB1-A1S,AI-WB1-12F,TB-03F,BW15-KIT,GPRS,UWB SERIES,GP-01-KIT,AI-WB1-12F-KIT,NODEMCU-BU01,RA-08H-KIT,RD-01,RA-02,RTL8720CF SERIES,RA-08,VC-02,VC-01,HI-12FL-KIT,PB-03F-KIT
美格携最新5G/4G AIoT模组与物联网行业解决方案亮相IOTE 2024第二十二届国际物联网展
IOTE 2024第二十二届国际物联网展·深圳站于2024年8月28日—30日在深圳国际会展中心(宝安)开展,美格智能携最新的5G/4G AIoT模组与物联网行业解决方案精彩亮相,持续为客户带来通信技术、AI智能方面的创新产品和创新技术解决方案,现场人头攒动,展位吸引众多观众驻足交流。
厂牌及品类 发布时间 : 2024-08-31
捷报 | 美格智能成功中标中国电信云芯AI模组招标项目
近期,中国电信天翼物联科技有限公司采购公开比选项目招标结果正式出炉,MEIG美格智能成功中标云芯AI模组CTL03-RV项目,在众多参标厂商中脱颖而出,充分彰显美格智能在智能模组领域深厚的技术实力和研发经验。公司研发团队将按照相关定制化要求,基于RISC-V通信芯片完成定制化物联网模组的软硬件开发与集成工作。
产品 发布时间 : 2024-08-16
有方科技(neoway)无线通信模组选型指南
目录- 公司简介和无线通信模组应用 5G模组 4G模组 NB-IoT/eMTC模组 2G/3G/4G智能&车规级模组 定位模组
型号- N300,N720,N58 PCIE,N311-CN,N100,N75 PCIE,N308,N720 PCIE,N21,N303,N23,N306,N25,S2-CN,N27,N75-X,S6X,N715-CA,N303-CN,A70,LM11-CN,N308-CN,N311,N511,N1,N510M,N77-CA,N715,N306-CD,N716,S6X-XX,N51,N75,N77,N11,G7A,N58,N716-CA,A590,N720V5 PCIE,N100-CA,N720V5,S2
有方科技N316 NB-IoT模组通过OpenHarmony测试, 共建稳定、健康的鸿蒙生态
近日,有方科技NB-IoT模组通过OpenHarmony 3.2.2 Release 版本兼容性测评,获得OpenHarmony生态产品兼容性证书。N316模组可广泛适合用于包括智慧燃气、智慧水务、消防烟感、智慧城市等低速率低功耗的物联网通信领域。
厂牌及品类 发布时间 : 2023-12-19
【元件】体积小、功耗低、高度集成的NB-IoT模组,各种无线环境下保持优异的通信性能和稳定性
随着NB-IoT纳入5G标准,LPWAN(低功耗广域网)行业迎来蓬勃的发展机遇。安信可3款NB-IoT系列模组:EC-01、EC-01G和EC-01F。搭载移芯EC616S芯片平台,超低成本、超低功耗和超高集成度的NB-IoT SoC芯片。
产品 发布时间 : 2024-07-12
电子商城
服务
可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。
最小起订量: 1000 提交需求>
Ignion可支持多协议、宽频段的物联网天线方案设计,协议:Wi-Fi、Bluetooth、UWB、Lora、Zigbee、2G、3G、4G、5G、CBRS、GNSS、GSM、LTE-M、NB-IoT等,频段范围:400MHz~10600MHz。
最小起订量: 2500 提交需求>
登录 | 立即注册
提交评论