lou 发表于 2020-5-7 10:21:32

Blynk物联网系列(1)-远程控制LED灯

本帖最后由 lou 于 2020-5-7 15:47 编辑

Blynk物联网系列(1)-远程控制LED灯(基于Blynk平台+WeMos D1 WIFI开发板)


一、搭建物联网开发环境(1)安装电脑端编程软件Mixly/Arduino IDE
Arduino IDE的安装可以参考WeMos D1 WIFI开发板的基础资料。
(2)安装Blynk APP及注册Blynk账号安卓用户可以在手机应用商城、iOS用户可以在AppStore中搜索“Blynk”下载安装。
打开APP后,单击Create New Account(注册新用户),然后在注册页填写自己的邮箱和密码即可完成注册。

二、项目实践-远程控制LED灯(1)思路分析
一个完整的物联网控制系统需要包含以下几个模块:
[*]APP端:通过APP接收数据、发送命令;
[*]ESP8266开发板:作为整个物联网控制系统的核心,ESP8266开发板承担着采集数据、发送数据、处理数据等任务;
[*]Blynk服务器:用于存储信息,作为APP端与开发板的中介;
[*]路由器:路由器是ESP8266开发板连入网络的第一道门槛。将开发板连接到路由器后,才能连上Blynk服务器。


(2)硬件连接
将LED模块连接到开发板D10口(GPIO15)。
(3)创建项目

打开手机上的Blynk APP,点击“New Project”新建项目,在“Create New Project”页面输入项目名称“远程控制LED灯”,选择ESP8266硬件类型,然后单击“Create”按钮,即可创建项目。创建完成后,系统会给您的邮箱发送一封包含授权码的邮件,也可以在项目设置中再次找到该授权码。

在“Project Settings”(项目设置)中,找到AUTH TOKENS(授权码),可以选择“Email all”(发送全部授权码到邮箱)或“Copy all”(复制授权码到剪贴板)。
(4)添加组件

点击项目顶部的“⊕”,可以在出现的组件栏里选择需要的组件

Buttom(按钮组件)
选择“Button”,页面上会出现一个Buntton组件,用于控制LED灯的亮灭。单击Button组件,进入设置页面,各项参数设置如下:

设置项推荐值说明
设置组件名称开关设置组件名称,建议少于4个字
OUTPUTGPIO15组件要控制的管脚号,此项目中LED灯连接的为GPIO15管脚
OFF0当按钮处于关闭状态时,发送电平值设置为0
ON1当按钮处于开启状态时,发送电平值设置为1
MODESWITCHSWITCH为切换开关,按下发送ON,再按一次发送OFF;PUSH为轻触开关,按下发送ON,松开发送OFF
OFFLABELS关按钮关闭状态时的标签文本,此处设置为“关”
ONLABELS开按钮开启状态时的标签文本,此处设置为“开”

Slider(滑杆组件)
在组件列表选择Slider组件,用于控制LED灯的亮度。Slider组件可以让开发板输出一个模拟值,这个模拟值一般可以用来控制灯的亮度、电机的转速灯。具体参数设置如下:

设置项推荐值说明
设置组件名称开关设置组件名称,建议少于4个字
OUTPUTGPIO15组件要控制的管脚号,此项目中LED灯连接的为GPIO15管脚
MIN0设置组件发送最小值
MAX1023设置组件发送最大值
SENDON RELEASEON松开滑杆发送数据,可以设为关闭或开启
SHOWVALUEON在项目页面显示滑杆对应的数值,可以设为关闭或开启

(5)程序实现
①用Mixly编写程序
打开Mixly软件,首先选择开发板类型“Arduino ESP8266”,

然后选择开发板连接对应端口,端口可以在计算机管理—设备管理器—端口中查看。

然后在Mixly模块栏中选择“Blynk物联网”,将“服务器信息”模块拖动到代码区,需要依次填入服务器地址、需要连接的WIFI名称和密码、Blynk授权码,如下图所示:

服务器地址为:blynk-cloud.com

服务器地址为:blynk-cloud.com检查开发板类型和端口是否正确后,点击上传,上传程序。程序上传完成后,打开串口监视器,按下开发板上的RESET按键,如果出现如下图示类似信息,则说明已经成功连接到Blynk服务器。

②用Arduino IDE编写程序打开Arduino IDE软件,选择“文件”->“示例”->“Blynk”->“GettingStarted”->“BlynkBlink”,打开示例项目。代码如下:
#define BLYNK_PRINT Serial // 开启串口监视
#include <ESP8266WiFi.h>//引入ESP8266库
#include <BlynkSimpleEsp8266.h>//Blynk库
char auth[] = "0k49gDdJq6pGASPirhlzBCPZWKSdzhsc";//授权码
char ssid[] = "SSID";//wifi名称
char pass[] = "PASS";//wifi密码
void setup()
{
      Serial.begin(9600);
   Blynk.begin(auth, ssid, pass,"blynk-cloud.com", 8080);//官方服务器
//Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 8080);//自建服务器域名模式
//Blynk.begin(auth, ssid, pass, IPAddress(192, 168, 1, 158), 8080);//自建服务器ip模式
}
void loop()
{
      Blynk.run();
}

上传程序前,要根据所使用的物联网开发板进行设置。选择“工具”->“开发板:“WeMos D1 R1””,在右侧列表中选择“WeMos D1 R1”。

再选择开发板连接的端口。

完成以上两项设置后,就可以将程序上传到开发板,点击Arduino IDE软件左上角“上传”按钮,完成上传

程序显示上传成功后,在Arduino IDE软件右上角,打开串口监视器,查看。

打开串口监视器后,按下开发板上的“RESET”按钮,如果串口监视器上看到如下画面,则说明开发板已经成功连接到Blynk服务器了。

如果没有看到Ready消息,则说明开发板没有连接成功,请再次检查WIFI信息和授权码是否正确。
(6)效果演示
当程序上传完成后,打开Blynk APP,此时可以在“远程控制LED灯”项目中可以通过BUTTON组件开启关闭LED灯,通过SLIDER滑杆组件控制LED灯的亮度。
页: [1]
查看完整版本: Blynk物联网系列(1)-远程控制LED灯