完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>
已经写了一篇基于Air780EP模组AT开发的FOTA远程升级指南, 有客户朋友询问能否讲讲HTTP应用部分? 本期特别安排——涵盖HTTP基本应用流程、GET/POST/SSL请求示例、断点续传、常见问题等内容。
Air780EP是一款 低功耗4G全网通模组 ,兼容模组行业1618经典封装,支持OpenCPU开发及全功能数传AT开发,可广泛应用于多样化的物联网终端。
进入AT固件下载页面按下Ctrl+F,搜索AirM2M_780EP_LTE_AT,即可找到Air780EP模块所使用的AT固件。
本文使用示例为:
AirM2M_780EP_V1007_LTE_AT版本固件
推荐选用:相关型号固件名称后面数字版本号最高的最新relase版本进行调试。
合宙低功耗4G模块支持HTTP和HTTPS协议,HTTP应用的基本流程如下:
相关注意事项:
第1步如果出现异常,首先需要排查HTTP连接和请求参数是否正常,通过Postman是否可以请求成功,模块上网是否正常(AT+CEREG?);
第2步到第5步,只要输入格式正确,基本不会出问题;如果出错,可以跳过,直接处理第6步的异常;
第6步和第7步如果出现异常:终止HTTP服务,有选择性的去激活PDP;然后再有选择性的激活PDP,从第2步开始重新执行。
具体指令和参数使用说明,可参考AT指令手册:
相关注意事项:
01. 请求及应答
发送AT+HTTPACTION命令后,收到OK仅仅表示4G模块开始处理这条命令,并不表示请求发送成功,收到了应答。
只有收到+HTTPACTION: n,statusCode,len才表示请求结束,statusCode表示应答成功,其余都表示应答失败。
02. 数据大小限制
HTTP应答数据的缓冲区大小为4KB,如果返回的http body数据超过了这个大小,则需要 断点下载 ——可以使用AT+HTTPPARA命令,通过设置BREAK和BREAKEND参数来实现。
03. HTTP被动断开
发送AT+HTTPACTION命令,和服务器建立了HTTP连接后,如果连接异常被动断开,会输出+HTTPACTION: ,,提示。
04. PDP被动激活
先来看下PDP被动激活时的AT命令处理序列,如果不理解AT命令含义,请自行参考AT手册。
+PDP DEACT // 出现PDP去激活的URC上报
后面如果没做任何处理,接着做HTTP请求会失败,可以按照下方的建议处理。
应对处理每次结束,都需要重新走一遍HTTP请求流程:
第一种方法:
AT+CIPSHUT // 关闭移动场景
第二种方法:
AT+CIPSHUT // 关闭移动场景
AT+CGDCONT=5,"IP",""//请填写实际APN
AT+CGACT=1,5
第三种方法:
AT+CFUN=0 // 进入飞行模式
AT+CFUN=1 // 退出飞行模式
第四种方法:
AT+RESET // 重启模块
参考下发流程中收到"+SAPBR 1: DEACT"错误提示,表示PDP被动去激活,为异常处理的触发点。
POST请求流程与GET流程基本一致,只有指令参数:
AT+HTTPACTION=0
变为:
AT+HTTPACTION=1
具体指令和参数使用说明,可参考AT指令手册:
本示例为带SSL证书双向验证功能的HTTPS过程,具体指令和参数使用说明,可参考AT指令手册:
在实际的应用场景中,可能需要下载一个非常大的文件,例如几百K字节、几M字节,但是****4G模块中HTTP可用的内存缓冲区Air780EP模块只有4KB左右。 当文件大小超过这个缓冲区时,就要使用断点续传功能来分段下载处理了。
下文以“下载一个119345字节的文件”为例,来说明如何使用断点续传功能(注意:本示例仅仅演示了正常流程的HTTP AT命令,完整流程以及异常处理流程请参考本文应用流程部分)。
以下针对客户朋友们实际应用中的反馈,整理了HTTP应用中的常见问题:
01. HTTP支持多连接吗?
目前HTTP仅支持单连接,不支持多连接。
02. HTTPS如何使用?
本文主要描述了基本流程和异常处理,对于HTTPS使用方法没有做过多描述。这一部分,请自行参考 AT指令手册HTTP章节下《使用方法举例》 中的"带SSL证书验证功能的HTTPS流程"使用方法;支持的SSL参数,请自行参考AT+SSLCFG命令说明。如果SSL的参数配置不变,则每次开机运行过程中,仅设置一次即可。
03. 重试多次PDP,HTTP应用一直连接失败?
如果重试多次PDP激活,PDP一直激活失败,或者HTTP一直请求应答失败,请尝试使用如下手段恢复:
04. HTTP下载的大文件,如何可靠的发送给MCU(AT流控)?
需要在断点续传流程指令里开头加入AT+IFC的配置指令:
AT+HTTPREAD
+HTTPREAD: 3072
...... //此处输出3072字节数据
OK
此处的3072字节数据,是模块通过UART AT口发送给MCU。在实际传输过程中,由于串口芯片驱动、MCU端的处理能力、波特率的选择都存在不确定性,可能会导致MCU端接收到的数据,实际上没有3072字节,这就要求UART AT口打开流控功能。
模块支持硬件流控和软件流控两种:
硬件流控,参考如下步骤操作:
软件流控,参考如下步骤操作:
05. 为什么我只发了10字节消息,100次却消耗了很多流量?
因为还有HTTP自带的请求头。
06. 为什么频繁请求会失败?
HTTP连接总数数量有限,且不支持HTTP2多路复用连接,因此建议等一个HTTP连接返回请求结果之后,再去请求下一个连接;不要使用循环定时器方式不断的发起新的HTTP请求。
07. 如何POST文件?
主要是使用AT+HTTPDATA命令录入文件数据后,发送AT+HTTPACTION=1利用POST上传。
08. 数据发送接收缓存问题如何解决?
AT版本有缓存机制,内存中有一个的缓冲区(Air780EP模块AT固件HTTP缓存为4KB),发送和接受使用的是同一块缓冲区。
发送和收到数据后,插入此缓冲区,然后通过AT口输出URC,提示收到的数据长度;缓冲区满之后,再收到新数据,会丢弃新收到的数据,并通过AT口输出URC提示出错;需要读取数据时,发送AT+HTTPREAD命令读取,可分段读取,也可全部读取。
关注
5069文章
19023浏览量
303457关注
0文章
501浏览量
31071关注
6文章
1437浏览量
30298发布评论请先 登录
相关推荐
邪恶眼睛简笔画京剧老生简笔画熊的简笔画图片大全集奥特曼图画简笔画图片帷幕简笔画七星瓢虫彩色简笔画少女校服简笔画直发女孩简笔画水汽简笔画帮花狗奶奶挑水简笔画幼儿简笔画赛罗奥特曼蛆的简笔画感恩母校的简笔画印度服装简笔画可爱幼儿头像简笔画幼儿简笔画蛇女孩背影简笔画图片一家三口牵手简笔画粑粑简笔画动态人物简笔画图片树杆图片简笔画图片海底鱼群简笔画窗外的气球简笔画字母c的简笔画斑马头像简笔画可爱简单卡通简笔画小汽车卡通简笔画彩色dj简笔画球球大作战简笔画圣衣老虎怎么画简笔画图片草怎么画简笔画图片幼儿地图简笔画布谷鸟简笔画图片大全王者荣耀阿轲简笔画重阳节老人简笔画图片大全救护车简笔画画法铃兰花简笔画图片大全战狼2简笔画小图幼儿防溺水图片简笔画简笔画虾的画法脸谱图片简笔画步骤摩登女郎简笔画苹果树的画法简笔画110简笔画图片嘴巴的简笔画图片大全简笔画奥特曼的画法简笔画外滩向月葵简笔画小猫简笔画上色幼儿公园一角简笔画动画明星简笔画幼儿小班简笔画大全幼儿园简笔画龙舟超萌简笔画图片大全科技简笔画大全儿童画憨豆先生动画版简笔画动物简笔画狼关爱地球图片简笔画月季花素描图片简笔画简笔画五角星画法步骤易只羊简笔画公鸡简笔画步骤一条丝绸简笔画胡巴简笔画大全大蒜卡通简笔画校园生活图片简笔画少女素描图片简笔画摩天轮简笔画带颜色女老师简笔画图片大全梅花图片简笔画彩色冬天服装简笔画四季的太阳图片简笔画花朵的生长过程简笔画藏族娃娃简笔画中国风简笔画图片大全成语故事四格简笔画星星简笔画大全玛雅古迹简笔画皇帝的新装图片简笔画动物尾巴简笔画图片驯鹿简笔画彩色简笔画高跟鞋的画法天使简笔画带颜色烤鱼简笔画图片海上帆船简笔画图片鹤简笔画图片大全幼儿简笔画蘑菇房子小鸡破壳图片简笔画孩子踢球简笔画儿童自行车简笔画彩色长征简笔画图片大全单眼小黄人简笔画感恩节简笔画图片大全简笔画人手老猫简笔画幼儿金鱼简笔画金毛狗的简笔画鱼丸简笔画幼儿简笔画小公主红绿灯简笔画步骤图公主裙礼服裙简笔画小动物简笔画彩色步骤萌系列女生人物简笔画q版鹿晗简笔画教程钢琴键盘图片简笔画蝶恋花简笔画图片海底总动员图片简笔画大人的画法儿童简笔画打板图片简笔画大酒店简笔画相机简笔画图片大全夏天的瓜果简笔画柳树春天图简笔画颜色发呆简笔画牌楼的简笔画儿童简笔画小飞机绵羊头像简笔画儿童学画画图片大全简笔画固拉多的简笔画幼儿手套简笔画北极狼的简笔画四刀简笔画小绵羊简笔画大全学画奥特曼简笔画视频我们的教室简笔画艾菲尔铁塔图片简笔画唇膏简笔画四格漫画大全简笔画爬山虎怎么画的简笔画变色龙简笔画大全小孩浇树简笔画双冠龙简笔画图片大全医生机器人简笔画电视机怎么画简笔画简笔画植物教案简笔画猜成语及答案树叶画法简笔画图片拔剑简笔画围裙妈妈的简笔画儿童简笔画故事书老虎的卡通图片简笔画梅字简笔画小男简笔画图片大全集保护牙齿的秘诀简笔画甜甜私房猫简笔画步骤礼品盒图片简笔画长征简笔画图片大全儿童简笔画动物狮子小猪的简笔画步骤图解莲藕简笔画带颜色海星图片简笔画彩色樱木花道简笔画画法树桩简笔画图片大全小鱼儿简笔画图片大全阿姨简笔画图片古代娘娘简笔画比耶手指简笔画红叶的简笔画蓝天白云简笔画带色麦昆图片简笔画幼儿教师命题简笔画樱桃小丸子小玉简笔画lol亚索简笔画艾莎公主简笔画步骤52简笔画嘴巴怎么画简笔画图片万圣节鬼火简笔画花花姑娘满天星简笔画十二星龙简笔画简笔画喇叭图片大全长头发女孩子的简笔画漫威毒液简笔画简笔画圣诞老人图片故事连环画图片简笔画简笔画小元素我妈妈简笔画图片大全南瓜兄弟简笔画5像称钩简笔画洗衣液简笔画图片大全艾莎公主简笔画步骤西塘简笔画我爱锻炼简笔画飞机简笔画步骤大全儿童简笔画熊猫的画法简笔画戏曲人物图片长城怎么画简笔画图片中国党旗简笔画三角形物品图片简笔画q版鹿晗简笔画教程丝瓜怎么画简笔画图片芹菜怎么画简笔画我们毕业啦幼儿简笔画电击小子卡比简笔画雨的画法简笔画图片下雪的简笔画图片大全妈妈简笔画全身画步骤刘胡兰图片简笔画柳树下戏水的鹅简笔画仓鼠简笔画步骤熊大熊二简笔画大全
评论