Arduino uno连esp-01s实现底层数据与blynk交互

1.8266库文件、blynk安装

1.1 8266库文件安装

点击“文件->首选项”。详细内容:Blynk用户指导手册(UltiRobot出品) -副本 - 幕布

Arduino uno连esp-01s实现底层数据与blynk交互_第1张图片

(http://arduino.esp8266.com/stable/package_esp8266com_index.json)

1.2 Blynk安装

Blynk Library库文件:打开网站下载

https://github.com/blynkkk/blynk-library/releases/tag/v0.6.1 
(会慢慢慢慢,但是可以下载,下面给网盘链接)

网盘链接:https://pan.baidu.com/s/1SWO3TtQbqlUxDMU15etALg?pwd=r4tx 
提取码:r4tx

2. 改端口波特率9600

Esp-01s出厂波特率为 115200,Arduino Uno软串口波特率9600。因此,需要通过CH340将Esp-01s波特率改为9600。(这一步非常重要,一开始因为波特率没有修改一直报错连接超时【esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header】)

2.1接线方式:四根接线 

接线方式如下,千万不可以连接5v,巨烫,亲测会烧。

CH340

esp-01s

3.3V

3.3V

TXD

RX

RXD

TX

GND

GND

CH340实物图如图所示:

Arduino uno连esp-01s实现底层数据与blynk交互_第2张图片

2.2操作指令

操作方法:打开AiThinker Serial Tool 串口助手,选择对应的串口,点击打开 打开串口,输入命令:AT+UART_DEF=9600,8,1,0,0,收到ok则修改成功。

Arduino uno连esp-01s实现底层数据与blynk交互_第3张图片

3. 连接Uno

3.3v-3.3v,gnd -gnd,tx-rx,rx-tx。(esp-01需要gpio1拉高,en拉低。esp-01s可能也需要,如果运行示例报错,可以尝试en拉低或者gpio1拉高)(RX、TX是代码中设置的,实例代码中设置的是2、3口,不要设置0、1口,可能会冲突)

Arduino uno连esp-01s实现底层数据与blynk交互_第4张图片

4.Blynk手机端操作

Blynk已经有新版本,这个是旧版本。

新建projrct->选择Arduino uno板子->复制token以备使用。布局好温度、光强等。

Arduino uno连esp-01s实现底层数据与blynk交互_第5张图片        Arduino uno连esp-01s实现底层数据与blynk交互_第6张图片

注意:1.一个token对应一个项目,不能写错。

      2.温度、光强、水位等数据,获取采用虚拟引脚。

部分代码:

// Wifi数据发送函数

void sendWifi() {

Blynk.virtualWrite(V3, catchTemp()); // V3温度数据

Blynk.virtualWrite(V6, catchDepth()); // V6水位数据

Blynk.virtualWrite(V7, catchLight()); // V7光强数据

}

5.运行示例程序

开发板选择Arduino Uno。示例->Blynk->Boards-wifi ->ESP8266_Shield 。

Arduino uno连esp-01s实现底层数据与blynk交互_第7张图片

填写auth,ssid,pass,修改波特率为9600等等。

Arduino uno连esp-01s实现底层数据与blynk交互_第8张图片

6.编译程序及报错解决

1.报错:esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header

Arduino uno连esp-01s实现底层数据与blynk交互_第9张图片

解决:检查接线,尝试en拉低、gpio1拉高;杜邦线是否损坏;修改esp8266波特率;检查库文件是否安装;串口是否选择正确;串口波特率是否为9600;开发板是否选择正确”Arduino uno“。

2.报错:esp is not responding

解决:esp8266与Arduino uno是通过AT通信。我报这个错是因为之前烧录了另一wifi连接程序,导致原有程序被覆盖,因此AT通信程序没有了,我在串口助手输入AT指令不会回复ok了。然后我的解决办法是换了一个esp-01s,然后就可以重新烧录程序。

3.问题:Arduino与esp8266连接时断时续

解决:确实有这个现象,但是基本的数据传输问题不大,在课设演示的时候卡顿的延时可以接受,延时大约5-10秒。没有继续想到好的解决方法。

7.实物展示

串口查看连接状态:显示ok则连接成功。

Arduino uno连esp-01s实现底层数据与blynk交互_第10张图片

实物接线图:

Arduino uno连esp-01s实现底层数据与blynk交互_第11张图片

手机端显示图:

Arduino uno连esp-01s实现底层数据与blynk交互_第12张图片

目录

1.8266库文件、blynk安装

1.1 8266库文件安装

1.2 Blynk安装

2. 改端口波特率9600

2.1接线方式:四根接线

2.2操作指令

3. 连接Uno板

4.Blynk手机端操作

5.运行示例程序

6.编译程序及报错解决

7.实物展示


你可能感兴趣的:(单片机,算法,c++)