STM32以​​ESP8266作为wifi模块发送TCP消息

一、NodeMCU作为wifi模块

1.硬件测试型号

NodeMCU型号:ESP8266MOD。无需接外部电源和USB,需要刷AT固件(刷固件的教程在这里),这样才能响应AT指令。

  

STM32型号:正点原子战舰版(STM32F103ZET6),接通电源。

2.硬件针脚连接 

 

 3.下载源代码

WIFI模块ATK-ESP8266讨论链接资料下载

 资料下载后解压,打开源代码工程(位于“【正点原子】WIFI模块ATK-ESP8266资料\2,程序源码\(库函数版本,适合战舰V3和精英STM32开发板)扩展实验13 ATK-ESP8266 WIFI模块测试实验”)

4.修改源代码

原工程中用到了LCD屏幕、LED、KEY,这些其实都不需要,可以去掉。

(1)修改main.c

#include "sys.h"
#include "delay.h"
#include "usart.h" 	
#include "usart3.h"
#include "common.h" 

 int main(void)
 {	 
	u8 key,fontok=0; 	    
 
	delay_init();	    	
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
	uart_init(115200);	 
	usart3_init(115200);	
	if(atk_8266_quit_trans() == 0)
	{
		while(atk_8266_send_cmd("AT","OK",20));
 
		while(atk_8266_send_cmd("ATE0","OK",20));
	 
		atk_8266_send_cmd("AT+CWMODE=1","OK",20);
		
		atk_8266_send_cmd("AT+CWJAP_DEF=\"ENJOY2018\",\"enjoy12345\"","OK",1000);
		
		atk_8266_send_cmd("AT+CIPMUX=0","OK",20);
		
		atk_8266_send_cmd("AT+CIPSTART=\"TCP\",\"192.168.43.146\",8088","OK",200);
		
		atk_8266_send_cmd("AT+CIPMODE=1","OK",200);
		
		atk_8266_send_cmd("AT+CIPSEND","OK",200);
	}
	
		
	delay_ms(1000);
	u8 *p;
	p=mymalloc(SRAMIN,32);
	
	while(1)
	{
		int a = rand();
		sprintf((char*)p,"score:%d",a);
		atk_8266_send_cmd(p,"OK",20);
		delay_ms(1000);
	}
}

 (2)修改atk_8266_send_cmd函数

        在atk_8266_send_cmd中增加一行输出AT指出的语句

......
    u3_printf("%s\r\n",cmd);	//发送命令
	printf("cmd:%s\r\n",(u8*)cmd);---//新增行
	if(ack&&waittime)		//需要等待应答
......

4.编译,写入hex到stm32板子。写入完成后按下stm32板子上蓝色开关按钮,重启板子并打开串口调试助手,查看AT指令运行情况。

二、ESP-01作为wifi模块

1.直接将ESP-01插入正点原子战舰版 ATK-MODULE。

2.必须短接USART3组下的PB11(RX)<---> GBC_TX ,    PB10(TX)<---> GBC_RX. 

三、GD32与NodeMCU(作为wifi模块)连接图

​​​​​​​

 

 

  • 11
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
近年来,随着物联网技术的飞速发展,越来越多的物联网应用出现在我们的生活和工作中。其中,stm32f103和esp8266wifi模块作为常见的物联网开发板和wifi模块,被广泛应用于物联网领域。 移动onenet平台作为国内领先的物联网云平台,提供了强大的云端存储、数据分析以及远程监控等功能,为物联网应用提供了极大的便捷性和品质保证。因此,将stm32f103通过esp8266wifi模块使用tcp协议连接至移动onenet平台,具有很高的实际应用价值。 具体实现流程如下: 1. 首先,搭建硬件环境,将stm32f103和esp8266wifi模块连接起来,保证硬件完好无损。 2. 在移动onenet平台上创建设备,并获取其设备ID、APIKey等重要参数,以便在后续代码编写中使用。 3. 在stm32f103开发板上编写相应的程序代码,通过esp8266wifi模块连接至WiFi网络,获取IP地址,并使用tcp协议建立与onenet平台的连接。 4. 将所需数据上传至onenet平台,包括发送的数据内容、数据流名称、设备ID等信息。 5. 在onenet平台上进行相应的数据处理和分析,获取实时监测数据、趋势分析、告警信息等相关内容。 总的来说,stm32f103通过esp8266wifi模块使用tcp协议连接至移动onenet平台,不仅能够实现数据的实时监测和远程控制,更能为物联网应用提供完整的云端解决方案,助力企业实现数字化转型和升级,提高竞争力和核心价值。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值