ESP8266与STM32通信

最近想实现esp8266-01s系列和stm32f103c8t6之间进行串口通信,然后在网上看了好多这方面的资料最终都以失败告终。不断尝试下还是实现该功能,同时非常感谢这位博主。
博主链接

实现的最终功能是能够通过手机连上ESP8266作为服务端模式下的wifi,让后在手机上发送相关的指令,esp8266接收后再通过串口发送给单片机 ,间接的来控制我们的外设。

esp8266常用指令介绍
具体的用法可以查看相关的esp8266的手册
下面就只介绍一下配置三种不同模式常用的几个指令

模式一:STA模式

 //通俗的来讲 该模式就是将esp8266作为客户端 来连接服务端(可以通过我们手机开热点)1. AT+CWMODE=1                    设置模组为STA模式。(串口助手)2. AT+CWLAP                        查询附近 WIFI(串口助手)3. AT+CWJAP="nova5Pro","yin12345"   连接 WIFI(串口助手)4. AT+CIFSR                       查看路由器分配给模组的IP地址,例如 192.168.43.20(串口助手)5. AT+CIPMUX=1                    打开多连接(串口助手)6. AT+CIPSERVER=1,8080         设置模块服务器端口(串口助手).7. 打开网络调试助手进行设置:请打开电脑去连接路由器的WIFI热点。并且打开网络调试助手,在网络调试助手上输入连接模块的 IP和设置的端口。8. AT+CIPSEND=0,11                进入数据发送模式为11个字节

在电脑终端查看当前Ip ipconfig

记住该Ip在我们配置的时候会使用到 让后通过网络串口助手打开服务端 在使用另外一个串口助手打开就可以观察到我们客户端的启动情况 和 二者之间的数据收发 在esp8266.c中 打开我最开始注释的就可以了

模式二:AP 模式

//AP模式就是让我们的8266模块作为热点 让我们来连接 实现局域网的无线控制1.  AT+CWMODE=2                              开启 AP 模式(串口助手)2.  AT+CWSAP="ESP8266","12345678",11,0     设置模块的 wifi 和密码(串口助手)3.  AT+CIPSERVER=1,8080                     设置模块服务器端口(串口助手),4.  打开电脑或者手机上的TCP助手去连接模块建立的AP热点5.  打开网络调试助手,输入连接模块的 ip 和设置的端口。6. AT+CIFSR       查看当下的ip 7.  AT+CIPSEND=0,11                          进入数据发送模式为11个字节(串口助手)
下面串口打印出来的信息就可以观察到我们的配置已经成功了
并且可以看到esp8266作为服务端下的IP,我们通过手机或者网络串口助手连接
输入该IP和我们配置的端口号就可以了
注意:

通信连接

上面就实现了简单的通信

模式三:STA+AP 模式

该模式就是上面两种模式的共存模式,一般没有用到 就不做具体介绍了感兴趣的同学可以自己去试试。

最后在讲一下透传模式

透传模式简单的来说就是实现我们发送的数据,发送什么另一端就接收什么,可以一直发送。
如果不开启透传模式,发送数据前都必须先发送指令AT+CIPSEND=num,
例如T+CIPSEND=4  //发送的数据长度不能大于4 要不然在次发送的时候句处于忙的状态。AT+CIPMODE=<1> :进入透传模式
AT+CIPSEND :之后发送的所有内容将全部当成数据
注意:透传只能在单连接模式下进行,所以在建立连接之前一定要用(AT+CIPMUX=0 设置单连接)
退出透传模式: 发送数据"+++"就可以了。注意:此时“+++”后面,不接“发送新行”!

c 主程序

/***************************************************/
//该程序还是借鉴前面提到的博主,后面会根据自己功能的需求进行相应的修改#include "stm32f10x.h"
#include "bsp_usart.h"
#include "delay.h"
#include "led.h"
#include "usart3.h"
#include "string.h"
#include "esp8266.h"
/*** @brief  主函数* @param  无* @retval 无*/
int main(void)
{   USART_Config();delay_init();LED_Init();usart3_init(115200);esp8266_start_trans();   printf("初始化完成Start Test\n");USART3_RX_STA=0;while(1){    if(USART3_RX_STA&0x8000)    //如果消息接收完成,则处理{if(strstr((const char*)USART3_RX_BUF,"on"))  //这里是看接收到的消息中有没有自己设置的命令“on”,strstr()函数不会用的可以搜一下{GPIO_ResetBits(GPIOC,GPIO_Pin_13);}if(strstr((const char*)USART3_RX_BUF,"off")) {GPIO_SetBits(GPIOC,GPIO_Pin_13);}USART3_RX_STA=0;   //消息处理完成,开始重新接收memset(USART3_RX_BUF,0,600);         //将接收区清0}}
}
/*********************************************END OF FILE**********************/

源码链接 链接:https://pan.baidu.com/s/1YwXKHYdV_wxlAYa7eDA7vQ 提取码:avug --来自百度网盘超级会员V4的分享

ESP8266与STM32相关推荐

  1. ESP8266连接STM32创建网络服务器

    如果您考虑未来的技术,那么您脑海中立即出现的两个名称是人工智能(AI)和物联网(IoT). AI仍处于初始阶段,还有很多东西需要开发.但物联网正处于成长阶段,许多基于物联网的产品 已经在市场上销售.此 ...

  2. ESP8266+STM32获取网络时间、OLED显示时间图片视频。

    学习过程不易,发文共享以下学习过程~ 先说说我的设计内容的组成: 目录 学习过程不易,发文共享以下学习过程~ 1. STM32控制ESP8266获取网络时间 第一步:电脑控制ESP8266获取时间数据 ...

  3. 基于ESP8266的STM32物联网开发板

    这个板子也是我做的第二块开发板,同时也是一款物联网开发板. 既然是开发板,那我肯定是把所有模块都打通了: 既然是物联网开发板,也是把物联网打通了才会来画这个开发板. 废话不多说,先上图再详谈: 上图芯 ...

  4. esp8266与stm32、手机通讯(原子云)——hal库(有代码)

    本文所讲: 正点原子的wifi模块esp8266与正点原子开发板战舰V3(stm32f103zet6)及手机app通讯 esp8266分为三种工作模式: STA:8266连接到网络比如wifi.手机热 ...

  5. 古董万年历升级WiFi授时 STM32+ESP8266

    [小制作]古董万年历升级WiFi授时 STM32+ESP8266 故事,还得从一只蝙蝠说起... 先来看一下前后对比 硬件方面 升级之前 升级之后 功能方面 调用序列图-这里只放个大概 详细的还得结合 ...

  6. 利用stm32+app inventor与esp8266通信

    利用stm32+app inventor与esp8266通信 stm32与esp8266通信 移动端app制作.生成.控制 本章实验的目的是将手机连接上ESP8266提供的WIFI网络,打开自定义的a ...

  7. 7天搭建物联网项目 STM32 + ESP8266 第 1 节 上传数据到云平台

    开发环境准备: 硬件平台我们需要如下设备,一个stm32开发板(STM3F103C8T6型号,使用其他型号只需要修改下软件工程配置,也可以直接买我做好的开发板哈).ESP8266 wifi 芯片.jl ...

  8. stm32——esp8266物联网开发,连接onenet云平台(http)做智能家居(1)

    此处感谢b站up主--彼岸有光我们有船(我认为讲的和江科大老师一样好,如果习惯江科大老师的讲法的朋友们都可以看看捏) 提供的教程和最初的正点原子的源码,因为我学习的是江科大的stm32,所以进行了部分 ...

  9. STM32使用ESP8266模块AT指令连接心知天气API获取天气信息

    由于之前使用STM32单片机来开发一些物联网的小项目,接触到了WIFI模块ESP8266,所以写下来记录一下.本文主要介绍的是STM32通过发送AT指令集来控制ESP8266 WIFI模块连接WiFi ...

最新文章

  1. cdf2rdf--复对角矩阵转化为实对角矩阵
  2. Android 编译系统分析(三)
  3. Windows7 支付宝证书安装方法
  4. android sdk方法隐藏_每个Android开发都必须知道的利器
  5. 小程序入门到精通:微信小程序介绍及开发准备工作(一)
  6. 如何评价「施一公请辞清华大学副校长,全职执掌西湖大学」?你如何看待西湖大学的发展前景?
  7. MyBatis各个jar包的作用
  8. 小米路由器4a刷第三方固件_小米路由器4A的断网问题初探
  9. 《软件工程实践》第一次作业 之第3题
  10. HashMap 和 currentHashMap 我们终于给你总结清楚了!
  11. C#无法将顶级控件添加到控件 新的子窗体无法添加到主窗体
  12. elk日志分析系统_ELK 日志分析系统
  13. fiddler安装常见问题
  14. java 针式打印_JAVA针式打印机打印整理
  15. 带通滤波器参数详细推导
  16. 台式电脑计算机怎么用,怎么用键盘开机电脑_台式电脑键盘怎么开机-win7之家
  17. Proxy Server源码及分析(TCP Proxy源码 Socket实现端口映射)
  18. webpack中的chunk
  19. Hive return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask一种解决办法
  20. unity人物刚体移动_教程篇 | Unity人物移动动画

热门文章

  1. 现实版进化论 三代普锐斯混动技术革新解析
  2. 阿里云OSS不同账号之间的迁移(使用阿里云自带的ossimport工具)
  3. 10个成功使用Node.js的公司、10个成功的NodeJS大项目。
  4. 复旦团队“人体经络图”火了!耗时9年,证明茶可疏通经络,网友:啊这都可以发论文...
  5. 圣诞节诗歌-最美的礼物—赞美之泉
  6. python游戏库pygame经典教程
  7. python爬取酷狗音乐排行榜
  8. canva怎么拼接图片_canvas 生成和合并图片
  9. PKPM框架梁学习笔记
  10. 飞机3D轨迹绘制(经度-纬度-高度)