实现arduino和esp8266的连接

今天把arduino和esp8266的连接这个实际操作实验给做了,这个实测我弄了很久,一直不成功,今天正好学长在,问了学长,终于弄懂了。

一.首先是相应的准备工作

最首先的当然是安装arduino的ide,也就是软件要求,这一点不加解释了,自己去网上找就可以找到的。至于做这个实验所需要的硬件要求,也不一一列举了,应该都知道的,面包板,arduino uno,esp8266,若干根线。(还是列出来了)

安装成功之后,继续接下来的操作。使用1.6.4及以上版本的Arduino, 打开Arduino IDE,打开 文件->首选项 在 附加开发板管理器网址 一栏写入:
http://arduino.esp8266.com/package_esp8266com_index.json

http://arduino.esp8266.com/stable/package_esp8266com_index.json
添加完以后点击 好。
做完这步以后重启Arduino IDE,然后依次点击 工具->开发板->开发板管理 搜索框输入esp,然后能找到类似’esp8266 by ESP8266 Community’,点击并安装。
然后重启。点击工具->开发板->Generic ESP8266 Module,接着按照下面的信息在工具栏找到对应项进行配置

  • Flash Mode: DIO(部分运行模式是DOUT)
  • Flash Frequency: 40 MHz
  • Upload Using: Serial
  • CPU Frequency: 80 MHz
  • Flash Size: 4M (1M SPIFFS)
  • Debug port “Serial”
  • Flash Size: 4M (1M SPIFFS)
  • Port: 对应的USB 端口 (当你一将Arduino连接电脑时,在设备管理器中会冒出端口号)
  • Programmer: AVRISP mkll

其他设置就不变就可以了。

二.烧录

首先我们先将arduino和esp8266接线完成。如下图在这里插入图片描述
在这里插入图片描述
基本上是按照上图所连接,但是有一些小地方不一样,我们选择将CH_PD和VCC都连接到3.3V(可以通过面包板来将两根线连接到一起),则与上图 3.3V和5V的接线口不一样。实际接线图如下在这里插入图片描述
然后我们就将arduino与电脑相连接。然后打开我们的arduino的ide(即编译器),开始编写我们要烧录的程序,烧录也就是把我们所需要的功能通过代码烧录到arduino板子上,这样他就可以运行程序,实现我们需要的功能。

我们烧录的代码如下(可直接复制粘贴)

#include<SoftwareSerial.h>
SoftwareSerial mySerial(3, 2);  // RX, TX

void setup() {
  Serial.begin(9600); 
  while (!Serial) {;}
  Serial.println("hardware serial!");
  mySerial.begin(115200);
  mySerial.println("software seria");
}

void loop() {
  if(mySerial.available())
    Serial.write(mySerial.read());

  if(Serial.available())
    mySerial.write(Serial.read());
}

要注意

SoftwareSerial mySerial(3, 2); // RX, TX

这行代码的意思是我们的arduino和esp所连接的引脚口,你若是直接复制此代码,则需要把RX和TX连接到代码中的引脚口,若是自己连接好了,那你需要修改代码的引脚口。如果你还是上传不成功,可以试试将RX和TX的接线换一下。

在这里插入图片描述
上传成功图示。(上传为左上角对号旁边的右箭头)

对了,很重要的一点,当我们烧录的时候,要选对开发板和端口,我之前一直上传不成功,发现原来是选错了,我们要选arduino,而不是esp8266,端口每个电脑是不一样的,要看自己的。如图
在这里插入图片描述

三.开始透传模式

我们点击右上角的串口监视器,开始操作。刚开始的时候他会出现一堆乱码,不用着急,这是很正常的。


版权声明:本文为weixin_49658694原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。