STM32+esp8266,让你的STM32开发板连接网络-----esp8266
分享一下,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相关推荐
- 新手学stm32学f1还是f4,stm32初学者最好买哪种开发板?
现在学习单片机,各种教程.开发板只能用泛滥成灾来形容. 不像我10年前自学的时候,没那么多选择,有配套视频教程的已经谢天谢地了. 选择多未必是好事啊,我发现一个问题就是,教程越多,很多初学者反而学不会 ...
- STM32 无刷电机BLDC 1KW带刹开发板 PDF原理图 源代码 MDK源码
STM32 无刷电机BLDC 1KW带刹开发板 PDF原理图 源代码 MDK源码 BLDC开发板配套资料,开发板功率最高达1000W,带刹车功能,PID速度闭环,驱动带霍尔直流无刷电机,资料含PDF原 ...
- ESP8266 NodeMCU开发板连接手机热点问题
ESP8266 NodeMCU开发板连接手机热点问题 前言: 众所周知,esp是构建一个IOT工程里得力助手之一,通俗点来说就是:"WIFI模块" 不过下面要讲的是esp8266中 ...
- *基于RT-Thread的战舰开发板连接Onenent云平台(学习笔记)**
基于RT-Thread的战舰开发板连接Onenent云平台(学习笔记) 摘要:本文主要是我在使用正点原子开发板在rt_thread框架下连接onenet云平台的学习笔记.此文主要介绍配置步骤和开发过程 ...
- 玩转mini2440开发板之【如何设置开发板的网络参数】
今天在研究nfs时,内核启动时一直提示挂载nfs文件系统失败,怀疑是网络参数没有配置正确,导致开发板连不上ubuntu.所以回过头来仔细研究了一下如何给mini2440开发板配置网络参数,验证网络连接 ...
- Linux学习之ARM开发板连接ubuntu18.04LTS及NFS相关配置
Linux学习之ARM开发板连接ubuntu18.04LTS及NFS相关配置 第一步:在PC机安装Ubuntu18.04LTS 具体安装步骤参见上一篇文章 第二步:安装arm-linux-gcc交叉编 ...
- 配置海思开发板的网络(永久修改)
刚拿到的海思开发板(我的是hi3516dv300)里面默认的网络配置通常是不可用的(比如默认的网段跟我们自己的不一样.没法ping通外网等),这时候需要我们修改相关的配置文件. 1.可以先用ifcon ...
- Arduino开发板连接XBee模块的方法
在本篇文章中,我们将使用Arduino Uno开发板连接一个XBee模块.与Arduino开发板连接的XBee模块将作为一个接收器,它将与其他XBee模块进行无线通信,这些模块使用Explorer B ...
- 使用Arduino开发板连接模拟pH传感器
在化学中,pH是用于指定水基溶液的酸性或碱性的标度.酸性溶液的pH值较低,而碱性溶液的pH值较高.因此,Ph传感器具有确定任何溶液的Ph的能力,即可以判断该物质本质上是酸性.碱性还是中性.通过了解pH ...
最新文章
- HTML5基础01-网页的构造块
- 水来了,数据中心如何做好防汛防洪措施?
- Microsoft Azure云服务停机!系水泵未知原因关闭导致
- vb怎么运用api对文件夹进行加密_[MIUI玩法篇 30] | 小米私密文件夹 深度揭秘
- android 图片剪切组件,Android 图片裁剪库 uCrop
- Java求出1000内的完数
- 理解 position:relative 与 position:absolute
- 各类IT编程视频教程下载网址大全
- Multisim14.0仿真:晶闸管单相半波可控整流电路
- Ceph新建monitor或者osd报错:use --overwrite-conf to overwrite
- 常用生活必备在线网页软件
- 图书馆用户信息表单生成
- IOI2015部分题解
- cygwin apt-cyg
- 最近常用容易遗忘的命令
- 华为OD机试 - 预订酒店(Java JS Python)
- 使用pandas清洗携程旅游数据
- 图/树——宽度优先搜索(BFS)
- JS笔记_P72数组的四个主要方法
- Firefly AIO-3399ProC开发板与PC端部署Qt5.12.2交叉编译环境