//**** 声明 ********************************************************************
/*******************************************************************************
 * 下面来自互联开源程序，由深圳市大夏龙雀科技有限公司收集
 * 方便用户参考学习，本公司不提供任何技术支持
 * 程序仅供测试参考，不能应用在实际工程中，不一定能通过编译
 * 公司网站 http://www.szdx-smart.com/
 * 淘宝网址 https://shop184598174.taobao.com/?spm=a1z10.5-c-s.w12096189-21564973333.3.547b1176WCCDxR&scene=taobao_shop
*******************************************************************************/
/********************************************************************
* 文件名  ：  WF24-TCP协议应用
* 描述    :  该文件实现WF24和单片机数据透传。
***********************************************************************/
/*
 Name:    TCP
 Created: 2024/8/21 
 Author:  WAM
*/
#include <REGX52.H>  // STC89C52RC的寄存器定义
#include "UART.h"
#include "string.h"
#include "stdio.h"
#include "oled.h"
extern unsigned int rxIndex;
extern unsigned char rxBuffer[ARRAY_SIZE];
extern unsigned int rx_flag;
unsigned int  CONNECT_FLEG;//连接标志
// 主函数
unsigned char conver[64];
char *ptr = NULL;
void MQTT_CONVER(void);
void TCP_UDP_CONVER(void);
void main() {
    Serial_Init();  // 初始化串口
	OLED_Init();
	CONNECT_TO_TCP("DX-SMART","SMART@601");
    while (1) {
		
        // 主循环，可以添加其他任务
         TCP_UDP_CONVER();
    }
}

void TCP_UDP_CONVER(void)
{
	if (rx_flag) 
	{
        UART_sentString(rxBuffer);
//		CONNECT_TX_Control();
		rxIndex = 0;  // 重置索引，准备下一次接收
		memset(rxBuffer,0,ARRAY_SIZE);    //清空缓冲区
    }
}
void MQTT_CONVER(void)
{
	if (rx_flag)
		{
			if(strstr(rxBuffer,"RECV:test-app")!=NULL)
			{
				ptr = strrchr(rxBuffer,','); 
				memcpy(conver,ptr,*(ptr-1));
				while(!WIFI_CheckAck("AT+MQTTPUBRAW=test-w,32,0,0\r\n","OK",2000)!=0);
				buff_memset();//数据有误 清空
				UART_sentString(conver);
				
			}
		
		}
}
void MQTT_CONTROL(void)
{
	if (rx_flag)
	{
		CONNECT_TX_Control();
	}
}