本帖最后由 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组件,进入设置页面,各项参数设置如下:
设置项 | | | | | | | | 组件要控制的管脚号,此项目中LED灯连接的为GPIO15管脚 | | | | | | | | | SWITCH为切换开关,按下发送ON,再按一次发送OFF;PUSH为轻触开关,按下发送ON,松开发送OFF | | | | | | |
Slider(滑杆组件)
在组件列表选择Slider组件,用于控制LED灯的亮度。Slider组件可以让开发板输出一个模拟值,这个模拟值一般可以用来控制灯的亮度、电机的转速灯。具体参数设置如下:
设置项 | | | | | | | | 组件要控制的管脚号,此项目中LED灯连接的为GPIO15管脚 | | | | | | | | | | | | |
(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灯的亮度。 |