lou 发表于 2020-5-7 11:13:58

Blynk物联网系列(3)-远程开门

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

Blynk物联网系列(3)-远程开门(基于Blynk平台+WeMos D1 WIFI开发板)


一、材料准备

[*]舵机
舵机是一种位置(角度)伺服的驱动器,可以在程序控制下转到指定的角度。
二,项目实践-远程开门(1)思路分析
在本项目中,我们希望在APP中电机“开门”,舵机就可以将门打开;点击关门就可以将门关闭。
(2)硬件连接
舵机                   WeMos D1S      <------>   D2(GPIO16)V      <------>       5VG      <------>      GNG
(3)创建项目
Blynk APP中,点击“New Project”,在“Create New Project”页面输入项目名称“远程开门”,选择ESP8266硬件类型,然后单击“Create”按钮,即可创建项目。

(4)添加组件
为了能控制舵机转动,我们使用Styled Button组件,在功能上和Button组件相似,但是比Button组件可设置更多的样式。添加Styled Button组件后,设置输出管脚为V0(虚拟管脚),第一个值为0,第二个值为90,再设置“OFF”和“ON”的标签分别为“关门”和“开门”。

Styled Button组件设置参数说明如下:

设置项推荐值说明
设置组件名称家门设置组件名称,建议少于4个字
OUTPUTV0设置虚拟管脚为V0
OFF0关门时舵机角度
ON90开门时舵机角度
MODESWITCHSWITCH为切换开关,按下发送ON,再按一次发送OFF;PUSH为轻触开关,按下发送ON,松开发送OFF
OFFLABELS关门按钮关闭状态时的标签文本,此处设置为“关门”
ONLABELS开门按钮开启状态时的标签文本,此处设置为“开门”
OFFBACKGROUND绿色关闭时按钮的背景色
ONBACKGROUND绿色开启时按钮的背景色
FONTSIZE中设置文本大小
EDGESROUNDED按钮样式,ROUNDED表示小圆角矩形,SHARP表示矩形,PILL表示大圆角矩形
STYLESOLID按钮样式,SOLID表示实心按钮,OUTLINE表示带轮廓空心按钮
LOCKSIZEOFF是否锁定按钮大小

(5)程序实现
①用Mixly编写程序在Mixly软件模块类别中,打开Blynk IoT,选择“服务器信息”,输入正确的服务器地址、WiFi名称、WiFi密码及Blynk授权码。在本项目中,开发板需要从手机端获取数据,因此还需要一个“从APP获取数据”模块,虚拟管脚采用默认的“V0”,再将“舵机控制”模块拖入“从APP获取数据”内部,并将从虚拟管脚获取的值“vpin_value”放到舵机控制模块的角度中。这样就可以从手机端获取角度值,并让舵机转到指定角度。

②用Arduino IDE编写程序打开Arduino IDE软件,选择“文件”->“示例”->“Blynk”->“Hardewares”->”Servo”,打开示例项目。修改程序中的授权码、WiFi名称和密码,舵机对应管脚号,具体程序如下:
#define BLYNK_PRINT Serial // 开启串口监视
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <Servo.h>
char auth[] = "2a365b624c0f4ea891256d4a66d428f7";//授权码
char ssid[] = "ssid";//wifi名称
char pass[] = "psssword";//wifi密码
Servo servo;

BLYNK_WRITE(V0)//通过虚拟管脚V0写入角度
{
servo.write(param.asInt());
}
void setup()
{
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);//官方服务器
//Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 8080);//自建服务器域名模式
//Blynk.begin(auth, ssid, pass, IPAddress(192, 168, 1, 158), 8080);//自建服务器ip模式
servo.attach(16);//舵机连接管脚
}
void loop()
{
Blynk.run();
}

接下来就可以在Bynk APP中实现远程控制开关门了。
页: [1]
查看完整版本: Blynk物联网系列(3)-远程开门