点击“文件->首选项”。详细内容:Blynk用户指导手册(UltiRobot出品) -副本 - 幕布
(http://arduino.esp8266.com/stable/package_esp8266com_index.json)
Blynk Library库文件:打开网站下载
https://github.com/blynkkk/blynk-library/releases/tag/v0.6.1
(会慢慢慢慢,但是可以下载,下面给网盘链接)
网盘链接:https://pan.baidu.com/s/1SWO3TtQbqlUxDMU15etALg?pwd=r4tx
提取码:r4tx
Esp-01s出厂波特率为 115200,Arduino Uno软串口波特率9600。因此,需要通过CH340将Esp-01s波特率改为9600。(这一步非常重要,一开始因为波特率没有修改一直报错连接超时【esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header】)
接线方式如下,千万不可以连接5v,巨烫,亲测会烧。
CH340 |
esp-01s |
3.3V |
3.3V |
TXD |
RX |
RXD |
TX |
GND |
GND |
CH340实物图如图所示:
操作方法:打开AiThinker Serial Tool 串口助手,选择对应的串口,点击打开 打开串口,输入命令:AT+UART_DEF=9600,8,1,0,0,收到ok则修改成功。
3.3v-3.3v,gnd -gnd,tx-rx,rx-tx。(esp-01需要gpio1拉高,en拉低。esp-01s可能也需要,如果运行示例报错,可以尝试en拉低或者gpio1拉高)(RX、TX是代码中设置的,实例代码中设置的是2、3口,不要设置0、1口,可能会冲突)
Blynk已经有新版本,这个是旧版本。
新建projrct->选择Arduino uno板子->复制token以备使用。布局好温度、光强等。
注意:1.一个token对应一个项目,不能写错。
2.温度、光强、水位等数据,获取采用虚拟引脚。
部分代码:
// Wifi数据发送函数
void sendWifi() {
Blynk.virtualWrite(V3, catchTemp()); // V3温度数据
Blynk.virtualWrite(V6, catchDepth()); // V6水位数据
Blynk.virtualWrite(V7, catchLight()); // V7光强数据
}
开发板选择Arduino Uno。示例->Blynk->Boards-wifi ->ESP8266_Shield 。
填写auth,ssid,pass,修改波特率为9600等等。
1.报错:esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header
解决:检查接线,尝试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秒。没有继续想到好的解决方法。
串口查看连接状态:显示ok则连接成功。
实物接线图:
手机端显示图:
目录
1.8266库文件、blynk安装
1.1 8266库文件安装
1.2 Blynk安装
2. 改端口波特率9600
2.1接线方式:四根接线
2.2操作指令
3. 连接Uno板
4.Blynk手机端操作
5.运行示例程序
6.编译程序及报错解决
7.实物展示