一、实验目的
通过本实验,了解手机远程控制物联网设备的基本工作原理,熟悉能控制物联网设备的常见手机APP应用程序,掌握通过Blynk手机APP软件远程开启和关闭LED灯的配置方法。
二、实验要求
1、在手机上下载安装Blynk应用程序,注册账户并新建项目,制作控制LED开关的界面并完成相应设置。
2、使用导线正确连接ESP 8266电路板及LED灯,并编写相应的Arduino程序代码,连接WIFI并把相应信息传递到Blynk云服务平台,实现使用Blynk手机APP控制LED开关的效果。
三、实验过程
1、手机上下载安装及配置Blynk
(1)手机连接网络后到应用市场搜索并下载对应自己手机版本的Blynk应用程序,下载后根据提示安装,本实验以安卓系统为例(苹果系统基本类似),安装成功后在手机上出现如图所示图标。
图9-1 Blynk图标
(2)打开Blynk应用程序,使用有效的电子邮箱地址注册账号,成功后会收到一封包含1个授权码(Auth Token)的电子邮件,此授权码在后面的Arduino程序中会用到,是ESP8266电路板硬件与APP软件通信的关键。
(3)创建新项目,命名后在设备中选择ESP8266,如图13-2所示。在界面设计时点击右上角的按钮,选择Button后会添加1个按钮到操作界面上(该APP初始时有2000能量值,使用控件会消耗一定的能量值,比如使用1个按钮会消耗200能量值,删除控件后相应能量值会自动恢复,即1个项目最多能同时使用的控件能量值总和不能超过2000,若需要增加能量值的总量,则需要另行购买,软件中有相应说明),可以自由移动按钮到任意位置,单击这个按钮,进入设置界面,如图13-3所示设置按钮的名称、选择LED灯连接的GPIO接口号、选择按钮的模式、设置开关上文字的内容等。
图9-2创建新项目图9-3设置按钮的属性
2、连接电路板及编写Arduino程序
(1)使用导线连接面包板的电源总线负极到电路板的GND接口;放置1个LED在面包板上,正极通过导线连接到电路板的D2(GPIO4)接口(必须与APP应用程序中设置的端口一致),负极通过1个1K电阻连接到面包板电源总线负极,电路连接如图所示。
图9-4实验电路连接图
(2)在新建的Arduino程序窗口中输入如下代码:
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>//需下载更新相应库文件
//使用邮箱在APP上注册blync账号,会收到此授权码
char auth[] = "**********";
//填写要连接的WIFI的SSID和密码
char ssid[] = "……";
char pass[] = "……";
void setup(){
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);//开始Blync连接
}
void loop(){
Blynk.run();//运行Blync
}
3、测试实验结果
(1)将USB线缆插入计算机,待程序上传成功后打开串口监视器,会显示WIFI连接情况及与blynk云服务器的连接情况,如图所示。
图9-5串口监视器
(2)在手机上打开Blynk软件,在项目中点击右上角的按钮,运行程序,运行状态下点击右上角的
按钮可查看设备是否在线,点击
按钮可返回编辑状态。
(3)通过点击APP中的开关按钮,可切换开关的状态,同时面包板上的LED灯的开启状态也会随之改变。因为是通过位于Internet的云服务器发送指令控制LED灯的开启和关闭,因此当手机不接入本地WIFI而使用移动数据网络时仍然可以实现对面包板上LED灯的控制。ESP8266电路板也可以断开与计算机的USB线缆连接,改由供电模块(9V电池)供电,此时一个真正意义上的物联网设备就诞生了。
图9-6 APP运行状态