STM32+EC20 实现MQTT数据上传,发送一次数据后连接失败,原因?

void sendMQTTPkt(char *p, int len)
{
//char sendBuf[30] = {0};
char sendBuf[300] = {0};
char *strx,untildata;
sprintf(sendBuf,"AT+QISEND=0,%d\r\n",len);
USART2_Write(USART2,sendBuf,strlen(sendBuf));//固定长度发数据
delay_ms(100);

strx=strstr((char*)RxBuffer,(char*)">");//返回数据可发送
while(strx==NULL)
strx=strstr((char*)RxBuffer,(char*)">");

USART2_Write(USART2,p,len);
delay_ms(100);  

}

void Clear_Buffer(void)//清空缓存
{
int i;
//printf(RxBuffer);
USART1_Write(USART1,RxBuffer,Rxcouter);

memset(RxBuffer,0,Rxcouter);

// for(i=0;i<Rxcouter;i++)
// RxBuffer[i]=0;//缓存

    Rxcouter=0;
//  IWDG_Feed();//喂狗

}

sendMQTTPkt(mqtt_msg,len);

delay_ms(1000);
//delay_ms(1000);

// MqttSample_Recv(); //对数据进行解析

if(uart2_ok)//确认数据都接收完成了
{
printf("step1 OK\r\n");
//MQTTOnent_Recdata();
Clear_Buffer();

  //MQTTClear_Buffer();
  printf("step2 OK\r\n");
  uart2_ok=0;
  printf("step3 OK\r\n");
}
printf("step4 OK\r\n");



    串口显示:len:31

step1 OK

SEND OK

+QIURC: "closed",0
step2 OK
step3 OK
step4 OK
提示close ,原因是什么

0

2个回答

设备ID未设置,导致连接断开,问题已解决。

0
weixin_39380344
weixin_39380344 请问怎么设置设备ID?
3 个月之前 回复

请问这部分代码可以给我看看吗

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
EC20基于STM32F407 MQTT协议上传数据到onenet
EC20基于STM32F407 MQTT协议上传温度湿度数据到onenet 源程序代码 调试通过,可以使用
移远EC20 MQTT协议文档 英文
移远EC20的4G模块关于MQTT协议和阿里云的服务器通讯的AT指令文档,实际测试过可以正常连接及数据通讯。
stm32实现mqtt协议,程序参考
stm32实现mqtt协议,程序参考........................主要内容都来自网上
STM32+MQTT+SIM800使用AT指令实现
STM32+MQTT+SIM800使用AT指令实现; 通过自建服务器测试完成,支持连接、订阅、发布、心跳保持; 全部使用AT指令控制;
基于4G模块的MQTT实现
基于stm32f10系列mcu+sim900 4G模块 通过开源的MQTT代码(可自行到github或开源官网下载)实现的终端到服务的MQTT协议通信 代码简单 实现了订阅、发布等相关功能,可以简单发送消息,亦可传输文件;
MD231 gprs模块建立tcp或udp连接,AT命令详细参考
讯研通MD231 gsm/gprs模块建立tcp或udp连接,AT命令详细参考流程说明
EC20建立多路SOCKT发数据_TCP
STM32F407 开发EC20代码,EC20建立多路SOCKT发数据_TCP
EC20_MQTT提交温湿度数据到ONENET
STM32F407 开发EC20代码,EC20_MQTT提交温湿度数据到ONENET
几步实现stm32上面移植mqtt
最近项目需要,stm32上面使用到mqtt了,百度了下,发现网上资料还是挺少的,虽然有几份相关的资料,下载下来之后,看到了mqtt的底层代码竟然还有错误,这个问题导致了我后面一直调试不通,后来,我直接从官方下载了mqtt的源码用比较器比较后找到了原因,最后果断将官方的mqtt底层代码移植上来,mqtt的发布还是比较顺利,订阅虽然可以收到消息,但是由于没有移植os,发布消息时,订阅接受有时无法收到消
EC20建立一路SOCKT发数据_TCP透传921600波特率
STM32F407 开发EC20代码,EC20建立一路SOCKT发数据_TCP透传921600波特率
【STM32+w5500汇总】23,HTTP_Client 连接到ONENET上传了一段数据之后会断开,数据上传格式的设置
1,ONENET的IP和端口 uint8 onenet_server_ip[4]={183,230,40,34};              /*api.onenet.net  的ip地址  或者{183,230,40,33};  换着用  */    uint16 onenet_port=80;                                            /*api....
STM32 MQTT协议功能实现
C语言实现MQTT协议客户端功能,移植好的MQtt协议,亲测可用!
EC20 STM32 AT 命令
实现STM32F103 EC20 初始化 , http通讯基本功能,循环读取RSSI信号
第一篇:如何通过串口发送给esp8266,并且通过MQTT发布出去
前言 ·   第一次写博客,这些也是参照前辈的Demo做出来的一个可以通过串口,发送给esp8266,esp8266再由通过MQTT协议发布三个主题出去。 问题 我看了别人的博客,发现他们所应用的串口文件不能修改,所以我找到了对应的方法去修改nonos文件,包括改变Makefile文件,替换文件等。我已经整合在我的Demo里面,大家可以去下载。 功能展示 在串口输入数据,通过...
SIM7600CE模块MQTT协议的AT指令流程
最近在做一个采用SIM7600模块,做一个MQTT协议传输数据到服务器,这里我先简单介绍一下关于AT指令的流程,后面有时间我会详细介绍自己移植的底层MQTT协议在单片机上面的实现(用于某些模块没有内置关于MQTT的AT指令),这里我给大家推荐一个链接是中国移动的onenet平台的MQTT相关源码,他们给出了单片机的应用代码,需要的话可以自己去参考。还有就是别去相信网上和淘宝的什么开发板说...
阿里云 MQTT 协议学习总结(二)
写在前面: 最近开始熟悉了wifi模块介入MQTT协议的一些认证方法和通信格式,本篇主要介绍影子设备和Json文档。欢迎大家共同交流,QQ:993650814.   正文: 一、 阿里云 MQTT 协议学习总结(一) 二、影子设备     1、影子设备就是一个Json文档,用于存储设备上报状态,或者应用端期望状态信息。    2、每个设备有且只有一个影子设备,设备可以通过MQTT获...
EC20状态机代码TCP传GPS数据 - APPMQTTIMEI定义3.15
STM32F407 开发EC20代码,EC20状态机代码TCP传GPS数据 - APPMQTTIMEI定义3.15
MQTT 移植STM32+GPRS(串口透传)(三)
昨天,去参观了AWE(中国家电及消费电子博览会),智能家居,智能插座、智能LED灯、智能摄像头、智能橱柜等等,大开眼界,原来这些别的公司的产品都正式投产了。还顺便打听了几家提供云服务的公司,他们一听MQTT就说支持MQTT的协议,2家开发通信模组的公司甚至直接可以提供支持MQTT的固件。看来我要加快了。 ##开发环境: stm32f103 + esp6288(固件中支持自动连接服务器) 裸机开
STM32+MQTT协议功能实现(测试demo)
自己亲测可用!也可以自己搭建MQTT服务器连接。不可用于正式项目
基于STM32实现MQTT
测试
EC20 模块开发资料
EC20 厂家指令集
EC20_MQTT提交地图定位数据到ONENET
STM32F407 开发EC20代码,EC20_MQTT提交地图定位数据到ONENET
记一次MQTT偶现无法发送Message至Android客户端的解决
Bug概述 服务端、客户端通信使用MQTT 客户端发生 小概率偶现 无法收到服务端Message,而后端显示已发送 Bug排查结果 客户端的MqttAndroidClient使用的ClientId因后端 没给值,导致ClientId为空 — 让后端解决 客户端没有断线重连机制,不要听信部分地方说的 在MqttCallbackExtended的connectionLost方法中写...
实现stm32与mqtt服务器通信
实现stm32与mqtt服务器通信, 并支持域名解析。 和http通信
STM32基于GPRS以mqtt协议与onenet通信
STM32F103基于GPRS使用mqtt连接onenet,并实时上传传感器数据。
通俗的来理解MQTT中的发布和订阅
通俗的来理解MQTT中的发布和订阅 刚开始接触物联网,IOT,MQTT,感觉傻傻的什么都分不清楚,对于MQTT各方的身份和功能也无法理解,直到有一天,真正亲自去使用了MQTT服务器,才理解其中的奥妙。 在不了解MQTT通信原理以及程序架构的情况下,不要先看代码,否则会无比痛苦,还是先通过MQTT通信工具测试一遍通信过程。这样理解起来就比较直观。 ...
MQTT 移植STM32+GPRS(串口透传)(二)
- 上一篇中,介绍了什么是MQTT协议、常用的领域和一些典型特征,这篇还要补充部分概念性理论。 ## 协议解析 整体的协议构造,整体分为 固定头部+可变头部+消息内容 如下图所示 ![head](http://omp77n3im.bkt.clouddn.com/MQTT_msg_head.png) * 其中byte 1 的高四位(4~7)代表信息的类型共13中,(0作为保留)上篇中
Android中MQTT的简单实现(只是连接到服务器,未实现发送、接受信息)
1.添加mqtt包到gradle.build a.在project的gradle.build中添加地址(P:我下载的参考例子是不用添加的,但是我自己写的时候不添加就编译不过去) allprojects { repositories { google() jcenter() maven { url &quot;https:/...
ESP8266通过MQTT订阅主题并推送数据到ONENET
板子自带: 三颗按钮【1.flash, 2.reset, 3.user】 DHT11 温湿度传感器 / DHT12 RGB 三色LED 单色LED 蜂鸣器 ESP8266-12E/F 固件下载:http://www.micropython.org/download#esp8266 源代码仓库:https://github.com/mokton/ESP8266_MQTT_OneNet 【最新】 请移步Github查看源代码,持续更新中,欢迎 Star 主要使用了两个库: 1. urequests.py 实现 HTTP 协议 2. simple.py 实现 MQTT 协议 其他文件: 1. boot.py 2. main.py 应用入口文件,启动服务 3. chipid.py 获取ESP8266EX芯片的ID号 4. wifi.py 设置WIFI连接 5. register.py 注册设备并返回设备PID和APIKEY 6. mqtt.py MQTT业务封装 功能说明: 1. 连接OneNet并自动注册设备 2. 自动订阅主题 “PID-FlashID-sub",PID和FlashID会被替换成设备ID和Chipid 3. 自动上传板载DHT11温湿度传感器的值 4. mqtt指令主要用来控制Pin的高低电平 格式: pin n state n 有效值为 0、1、2、3、4、5、12、13、14、15、16 state 有效值为 on、off、toggle 举例: pin 4 off 将给pin4引脚置低电平,可以看到ESP8266板载的LED灯点亮了(pin4默认被拉高,led低电平点亮)
自己整合的EC20调试资料
自己整合的EC20资料,可用,其中有文档为自己规划完成
简单程序例子stm332使用GPRS发送数据
简单程序例子stm332使用GPRS发送数据,向上位机发送数据
EC20建立一路SOCKT发数据_TCP透传命令切换
STM32F407 开发EC20代码,EC20建立一路SOCKT发数据_TCP透传命令切换
STM32采集和3G4G传输
通过相应的传感器采集信号给到单片机存储,通过32单片机控制3G或者4G传输模块将信号传到服务器。
STM32的SIM900A的GPRS数据传输
完整文档,保证可用,包含调试所用软件,以及如何在没有公网IP的情况下建立TCP连接。芯片为STM32F103RBT6,模块为SIM900A,可以循环向电脑发送数据。
[原创]SIM7600CE通过HTTP上报数据至OneNET
4G模块SIM7600CE,用着还不错,,先用串口助手试一下 切记,每一句发送都要加回车 ------------------------------------先检查网络------------------------------- AT AT+CSQ AT+CREG? AT+CPSI? AT+CGREG? -----------------------------------...
移远GSM模块MQTT开发应用手册
该手册详细的说明了移远GSM模块的MQTT开发过程及命令说明,适合初学者。
iot mqtt json数据包格式
iot json数据包格式数据类型:订阅类型    RegisterDevice    DeviceData    DeviceAlert    Acknowledge发布类型    RegistrationAck    DataPublis    UserCommandsub:{     &quot;hardwareId&quot;: &quot;(unique hardware id)&quot;,     &quot;type&quot;: &quot;(in...
移远EC20 WIFI通讯协议文档
主要是针对移远EC20的4G模块可以外接WIFI模块进行WIFI连接及数据通讯,里面是相关AT指令文档。
EC20/EC25开发资料
EC20 /EC25原理图和(pcb要找我QQ1015071477设计),可以做WiFi DTU 可以直接打样
STM32 ESP8266 温湿度上传or按键远程控制
** STM32+ESP8266-01S组成的温湿度上传 ** 材料清单:stm32f103cbt6,esp8266-01s,SHT20,光照模块 具体不做说明,程序如下: