ESP8266与手机相互通信 透传模式(STM32F103C8T6 HAL库)有APP和完整代码

这篇具有很好参考价值的文章主要介绍了ESP8266与手机相互通信 透传模式(STM32F103C8T6 HAL库)有APP和完整代码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、目标

        stm32f103c8t6用串口发送AT指令控制esp8266发送数据到手机APP上,同时手机也可以发送数据到stm32f103c8t6主控,控制LED的亮灭。

esp8266透传服务器,stm32,单片机,嵌入式硬件

         将esp8266模块的GND、VCC、TXD、RXD、CH-PD与单片机对应引脚连接,其中TXD与RXD要反接,模块在工作时CH-PD要处于高电平状态。

二、串口助手实验过程  

        步骤:1 esp8266配置wifi模式  AT+CWMODE=1

                   2 esp8266重启  AT+RST

                   3 开启手机热点

                   4 esp8266连接手机热点  AT+CWJAP="热点名称","热点密码"

                   5 esp8266设置成单路模式  AT+CIPOMUX=0   

                   6 esp8266开启透传模式   AT+CIPMODE=1

                   7 打开手机APP,建立tcp server配置端口号,点击激活就可以看到服务器的ip地址

                   8 esp8266建立TCP连接   AT+CIPSTART="TCP","ip地址",端口号

                   9 进入透传模式 AT+CIPSEND  

        

        具体作如下:

        打开手机热点再以下步骤

       在助手串口助手输入AT指令,发送的时候注意勾选“发送新行”

esp8266透传服务器,stm32,单片机,嵌入式硬件

配置完以上就可以打开手机app,建立一个服务端

esp8266透传服务器,stm32,单片机,嵌入式硬件

点击激活以后就会弹出ip地址,如下图,记住ip地址 

esp8266透传服务器,stm32,单片机,嵌入式硬件

接下来就可以建立tcp连接,输入AT指令,填好ip地址、端口号,就可以发送,返回CONNECT则连接成功,就可以接着发送进入透传模式的AT指令

esp8266透传服务器,stm32,单片机,嵌入式硬件

出现这个箭头表示可以发送数据了,同时app上会出现esp8266连接的图标

esp8266透传服务器,stm32,单片机,嵌入式硬件

esp8266透传服务器,stm32,单片机,嵌入式硬件

到这里就配置完成,接下来就可以发送数据了。

串口助手发送数据到手机app(注意要取消勾选“发送新行”)

esp8266透传服务器,stm32,单片机,嵌入式硬件

 app上就接收到从串口助手发送过来的数据了

esp8266透传服务器,stm32,单片机,嵌入式硬件

 手机app发送数据到串口助手

在输入框输入内容,点击发送

esp8266透传服务器,stm32,单片机,嵌入式硬件

 串口助手收到数据

esp8266透传服务器,stm32,单片机,嵌入式硬件

三、stm32f103c8t6发送AT指令控制esp8266与手机APP通信

        如果是esp8266的第一次配置,建议先用串口助手配置,直接下载代码会连接失败。

用串口助手配置后,重新上电会自动连接手机热点,这样就可以省下前面好几个步骤了。

        我用的是串口3来做收发指令。对应引脚 TX--PB10  RX--PB11

        esp8266配置代码

void esp8266_start_trans(void)//ESP8266配置
{
	
//第一次配置esp8266模块需解开以下注释 (esp8266第一次配置建议用串口助手)	
/*	
	esp8266_send_cmd("AT+CWMODE=1","OK",50);//设置为AP模式
	esp8266_send_cmd("AT+RST","ready",20);//重启
	HAL_Delay(1000);       
	HAL_Delay(1000);
	HAL_Delay(1000);`
	HAL_Delay(1000);
	esp8266_send_cmd("AT+CWJAP=\"heimao\",\"840777967\"","OK",200);//连接WiFi名称、密码 
	HAL_Delay(1000);`
	HAL_Delay(1000);
*/
	esp8266_send_cmd("AT+CIPMUX=0","OK",20);//配置单路连接模式
	HAL_Delay(1000);
	esp8266_send_cmd("AT+CIPMODE=1","OK",20);//开启透传模式
	HAL_Delay(1000);
	esp8266_send_cmd("AT+CIPSTART=\"TCP\",\"192.168.234.24\",8080","OK",200);//建立TCP连接
	HAL_Delay(1000);
	esp8266_send_cmd("AT+CIPSEND","OK",50);//进入透传模式
	HAL_Delay(1000);
}

接收代码

void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
  UNUSED(huart);

	if(huart->Instance == USART3)
	{	
		if(Uart3_Rx_Cnt >= 255)  //检测是否溢出
		{
			Uart3_Rx_Cnt = 0;
			memset(RxBuffer,0x00,sizeof(RxBuffer)); //清除缓存区	        
		}
		else
		{		
			RxBuffer[Uart3_Rx_Cnt] = usart3_buffer;   //接收数据缓存
			Uart3_Rx_Cnt++;
		}
			HAL_UART_Receive_IT(&huart3, (uint8_t *)&usart3_buffer, 1);
		}
	}

操作步骤:

        1 完成stm32f103c8t6与esp8266的接线

        2 打开手机热点

        3 打开手机APP,建立tcp server配置端口号,点击激活就可以看到服务器的ip地址

        4 下载代码

        5 连接成功

操作展示

        已提前开启热点

esp8266_1

点击下发链接 内有完整代码

https://live.csdn.net/v/294693文章来源地址https://www.toymoban.com/news/detail-596312.html

到了这里,关于ESP8266与手机相互通信 透传模式(STM32F103C8T6 HAL库)有APP和完整代码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 入门stm32:STM32hal库实现ESP8266与手机通信(不定长数据收发和ESP8266使用的一些问题)

    目录 前言 一、stm32cubeMX的串口配置 二、空闲中断+dma接收 三、ESP8266.c和ESP8266.h ESP8266.h ESP8266.c 注意事项 四、与手机通信例程 步骤:  例程代码main.c 运行结果 五、相关问题 总结 相关的app和源码         前提: 1.掌握串口通信和ESP8266的使用方法 串口通信:单片机串口通信

    2024年02月04日
    浏览(94)
  • 十、stm32-ESP8266(串口透传、MCU透传、控制LED亮灭)

    见博客:stm32f103c8t6新建固件库模板(可自取) 固件库模板 MDK5开发环境 stm32参考手册 UART串口协议 stm32中断概念 ESP8266模块资料 利用固件库模板点灯工程(下面第三行,手动狗头) CH340 USB→TTL模块 ESP8266模块 手机软件 实验程序已经发布到百度网盘,本文末有链接可以自取

    2023年04月19日
    浏览(48)
  • 入门小白:STM32hal库实现ESP8266与手机通信(不定长数据收发和ESP8266使用的一些问题)

    目录 前言 一、stm32cubeMX的串口配置 二、空闲中断+dma接收 三、ESP8266.c和ESP8266.h ESP8266.h ESP8266.c 注意事项 四、与手机通信例程 步骤:  例程代码main.c 运行结果 五、相关问题 总结 相关的app和源码         前提: 1.掌握串口通信和ESP8266的使用方法 串口通信:单片机串口通信

    2024年02月07日
    浏览(67)
  • ESP32用作经典蓝牙串口透传模块与手机进行串口通信

    ESP32-WROOM-32模组集成了双模蓝牙包括传统蓝牙(BR/EDR)、低功耗蓝牙(BLE)和 Wi-Fi,具有广泛的用途:Wi-Fi 支持极大范围的通信连接,也支持通过路由器直接连接互联网;而蓝牙可以让用户连接手机或者广播 Bluetooth LE Beacon 以便于信号检测。 蓝牙特性: • 支持标准 Class-1、

    2024年02月09日
    浏览(41)
  • 关于ESP8266的透传模式测试(一)——TCP Client透传模式

    一、前言 本次测试所使用的是正点原子的ATK-ESP8266 WIFI模块。直接使用官方提供的固件使用AT指令来配置模块并使用。 模块默认为AT指令状态,模拟波特率为115200(8bit数据位,1bit停止位)。 硬件连接 使用USB转TTL方式(电脑需要安装CH340驱动)连接ESP8266,接线图如下。 二、透

    2024年02月22日
    浏览(61)
  • 基于stm32 ESP8266WiFi模块的基本通信

    本篇涉及到的模块与工具为: 1. ATK-ESP8266wifi模块 2. USB-UART模块 3. 串口调试助手 提取链接:https://pan.baidu.com/s/17xRlpnjp8j-VvyD2VDxNXw?pwd=ufms 提取码:ufms 4. 网络调试助手 提取链接:https://pan.baidu.com/s/10spxZmwMGI70USlzkOzdxg?pwd=fmxe 提取码:fmxe 程序源码提取连接放置文章底部,需者自提

    2024年02月02日
    浏览(92)
  • 利用stm32+app inventor与esp8266通信

    本章实验的目的是将手机连接上ESP8266提供的WIFI网络,打开自定义的app连接ESP8266的ip地址及端口号,实现app与ESP8266模块的通信,进而达到app控制32开发板的目的,并将开发板上面的数据返回到app上显示出来。   关于stm32与esp8266之间的通信,在前面的文章中已经介绍得差不多

    2023年04月11日
    浏览(43)
  • ESP8266 模块简易驱动程序 -- 基于 STM32F103 及原子云固件实现云功能

    本简易驱动程序是基于 正点原子 的ESP8266模块,主要用于实现连接 原子云 的功能。MCU选用的是 STM32F103ZET6 注:原子云固件添加了 AT+ATKCLDSTA 和 AT+ATKCLDCLS 两条指令 用于连接正点原子自家的原子云平台,原厂的AT指令不受任何影响 本程序主要实现了如下功能: 设定工作模式 连

    2023年04月23日
    浏览(46)
  • ESP8266模块双模式(AP+STA)共存同时与电脑及手机进行UDP通信

    1.准备工作: 硬件:  ESP8266模块             USB连接线: 连接ESP8266模块到电脑 如果电脑没有USB接口,准备一个USB HUB: USB HUB 连接电脑Type-C接口,ESP8266模块连接USB HUB  软件: 安装Arduino IDE 2.2.1 在Arduino IDE中安装esp8266开发板(USB没识别芯片,要安装对应操作系统CH2340或者CP2102驱动) 系统

    2024年01月23日
    浏览(51)
  • 3.41 - haas506与esp8266-01s的串口通信(TCP透传)

    点 击 跳 转 点击跳转HaaS506官方最新案例 esp8266-01s 1.接线(与电脑通信) 与电脑通信时引脚连接,wifi模块需要稳定3.3v供电,可以使用开发板进行供电。 VCC接3.3V CH_PD接3.3V,否则wifi不工作 TX接串口TX RX接串口的RX GND接地,WiFi模块,CH340模块,开发板共地 2.各模式AT指令 wifi模块默

    2024年02月11日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包