分享一下,STM32开发板连接网络的第一种方法:连接esp8266。

esp8266与STM32利用串口通信连接,esp8266连接网络,把收到的数据通过串口的方式传输给STM32,之后STM32接收到消息做出对应的反应。

使用到的开发板如图:esp-12和正点原子stm32f103zet6.

首先,我们先掌握一下什么事串口通信:

串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节。与串行通信相对的是并行通信。数据传输一般都是以字节传输的,一个字节8个位。拿一个并行通信举例来说,也就是会有8根线,每一根线代表一个位。一次传输就可以传一个字节,而串口通信,就是传数据只有一根线传输,一次只能传一个位,要传一个字节就需要传8次。

单片机的串口(USART)有接收和发送端,RX 是指串口通信的数据接收,TX是指串口通信的数据发送,两个单片机可以利用串口进行数据传输。

我们可以利用esp8266和STM32的串口进行数据传输。

esp8266与STM32接线方式如下:

 esp6266 STM32
RX TX
TX RX
VCC VCC
GND GND

因为想要把STM32连接上网络,所以esp8266这里我们先把它连上网络,大家可以使用AT指令,或者代码烧录的形式,这里我使用的是代码,将esp8266作为http server 接收数据。

#include <ESP8266WiFi.h>
const char* ssid = "改成自己的";
const char* password = "改成自己的";
//静态地址、网关、子网掩码
WiFiServer server(80);
IPAddress local_IP(192, 168, 1, 80);//固定IP地址,避免IP变化影响通信
IPAddress gateway(192, 168, 1, 1);
IPAddress subnet(255, 255, 255, 0);
String ss = "";
String httpResponse = "HTTP/1.0 200 OK\r\n""Connection: close\r\n""Content-Type: application/json;\r\n""\r\n""{\"code\":1}";
void setup() {Serial.begin(115200);WiFi.config(local_IP, gateway, subnet);//设置静态IPWiFi.mode(WIFI_STA);WiFi.begin(ssid, password);//路由器的WiFi名称和密码while (WiFi.status() != WL_CONNECTED) {delay(500);Serial.print(".");}Serial.println(WiFi.localIP());server.begin();
}void loop() {WiFiClient incomingClient = server.available();if (incomingClient) {if (incomingClient.find("\r\n\r\n")) {while (incomingClient.available()) {ss = ss + char(incomingClient.read());}}Serial.println(ss);incomingClient.print(httpResponse);ss = "";}
}

STM32端代码,这里大家可以直接使用正点原子的串口代码,注意两种单片机的波特率必须一致

代码工程点击下方链接下载

GitHub - qq-hh/qq-hh-My_Project_stm32

连接完成,上传代码后测试,

stm32开发板可以通过串口接收esp8266收到的网络数据。

STM32+esp8266,让你的STM32开发板连接网络-----esp8266相关推荐

  1. 新手学stm32学f1还是f4,stm32初学者最好买哪种开发板?

    现在学习单片机,各种教程.开发板只能用泛滥成灾来形容. 不像我10年前自学的时候,没那么多选择,有配套视频教程的已经谢天谢地了. 选择多未必是好事啊,我发现一个问题就是,教程越多,很多初学者反而学不会 ...

  2. STM32 无刷电机BLDC 1KW带刹开发板 PDF原理图 源代码 MDK源码

    STM32 无刷电机BLDC 1KW带刹开发板 PDF原理图 源代码 MDK源码 BLDC开发板配套资料,开发板功率最高达1000W,带刹车功能,PID速度闭环,驱动带霍尔直流无刷电机,资料含PDF原 ...

  3. ESP8266 NodeMCU开发板连接手机热点问题

    ESP8266 NodeMCU开发板连接手机热点问题 前言: 众所周知,esp是构建一个IOT工程里得力助手之一,通俗点来说就是:"WIFI模块" 不过下面要讲的是esp8266中 ...

  4. *基于RT-Thread的战舰开发板连接Onenent云平台(学习笔记)**

    基于RT-Thread的战舰开发板连接Onenent云平台(学习笔记) 摘要:本文主要是我在使用正点原子开发板在rt_thread框架下连接onenet云平台的学习笔记.此文主要介绍配置步骤和开发过程 ...

  5. 玩转mini2440开发板之【如何设置开发板的网络参数】

    今天在研究nfs时,内核启动时一直提示挂载nfs文件系统失败,怀疑是网络参数没有配置正确,导致开发板连不上ubuntu.所以回过头来仔细研究了一下如何给mini2440开发板配置网络参数,验证网络连接 ...

  6. Linux学习之ARM开发板连接ubuntu18.04LTS及NFS相关配置

    Linux学习之ARM开发板连接ubuntu18.04LTS及NFS相关配置 第一步:在PC机安装Ubuntu18.04LTS 具体安装步骤参见上一篇文章 第二步:安装arm-linux-gcc交叉编 ...

  7. 配置海思开发板的网络(永久修改)

    刚拿到的海思开发板(我的是hi3516dv300)里面默认的网络配置通常是不可用的(比如默认的网段跟我们自己的不一样.没法ping通外网等),这时候需要我们修改相关的配置文件. 1.可以先用ifcon ...

  8. Arduino开发板连接XBee模块的方法

    在本篇文章中,我们将使用Arduino Uno开发板连接一个XBee模块.与Arduino开发板连接的XBee模块将作为一个接收器,它将与其他XBee模块进行无线通信,这些模块使用Explorer B ...

  9. 使用Arduino开发板连接模拟pH传感器

    在化学中,pH是用于指定水基溶液的酸性或碱性的标度.酸性溶液的pH值较低,而碱性溶液的pH值较高.因此,Ph传感器具有确定任何溶液的Ph的能力,即可以判断该物质本质上是酸性.碱性还是中性.通过了解pH ...

最新文章

  1. HTML5基础01-网页的构造块
  2. 水来了,数据中心如何做好防汛防洪措施?
  3. Microsoft Azure云服务停机!系水泵未知原因关闭导致
  4. vb怎么运用api对文件夹进行加密_[MIUI玩法篇 30] | 小米私密文件夹 深度揭秘
  5. android 图片剪切组件,Android 图片裁剪库 uCrop
  6. Java求出1000内的完数
  7. 理解 position:relative 与 position:absolute
  8. 各类IT编程视频教程下载网址大全
  9. Multisim14.0仿真:晶闸管单相半波可控整流电路
  10. Ceph新建monitor或者osd报错:use --overwrite-conf to overwrite
  11. 常用生活必备在线网页软件
  12. 图书馆用户信息表单生成
  13. IOI2015部分题解
  14. cygwin apt-cyg
  15. 最近常用容易遗忘的命令
  16. 华为OD机试 - 预订酒店(Java JS Python)
  17. 使用pandas清洗携程旅游数据
  18. 图/树——宽度优先搜索(BFS)
  19. JS笔记_P72数组的四个主要方法
  20. Firefly AIO-3399ProC开发板与PC端部署Qt5.12.2交叉编译环境

热门文章

  1. WLAN 感知概览(Wi-Fi Aware)
  2. 毕业季闲鱼发布租房大数据:700万套房和1800万租客
  3. 如何压缩jpg大小?jpg图片压缩的简单方法
  4. 图像处理:单通道转为3通道
  5. Qt 多线程(QThread)
  6. centos中常用命令
  7. php excel类(解决中文乱码问题,支持多工作薄) 数据分卷技术 附带Demo
  8. 总结TS常用的编译选项
  9. 计算机视觉和动作检测,计算机视觉技术深度解读之视频动作识别
  10. 西邮共享上网工具不正确使用的后果(如何在西邮免费上网)