当前位置:首页 > 物联网 > IoT设计分享
[导读]Blynk是一个物联网平台,允许我们快速构建项目来控制和监控使用Android和iOS设备的数据。我们可以创建一个项目仪表板,并添加控件,如按钮、显示器、滑块等,用于控制微控制器和其他外围设备。使用这些小部件,我们可以控制设备,可以监控手机屏幕上的传感器数据。

你有没有想过远程控制你的Arduino板,而不使用任何屏蔽或模块,如ESP8266和蓝牙?是的,在Blynk应用程序及其服务器的帮助下,这是可能的。

Blynk是一个非常受欢迎的物联网平台,用于构建物联网项目,如:

•使用Blynk和ESP8266 (Node MCU)的物联网控制LED

•基于物联网的温湿度监测,使用BLYNK, ESP8266和DHT11传感器

•物联网家庭自动化使用Blynk应用程序使用ESP32

•基于物联网的家庭自动化使用Blynk应用程序和树莓派

•物联网控制LED使用ESP32与Blynk应用程序

在这个项目中,我们将使用Blynk应用程序远程控制两个LED。两个LED都将与Arduino连接,一个LED将被打开和关闭,另一个LED将使用Blynk应用程序控制亮度。

布林克是什么?

Blynk是一个物联网平台,允许我们快速构建项目来控制和监控使用Android和iOS设备的数据。我们可以创建一个项目仪表板,并添加控件,如按钮、显示器、滑块等,用于控制微控制器和其他外围设备。使用这些小部件,我们可以控制设备,可以监控手机屏幕上的传感器数据。

我们之前已经介绍了Blynk应用程序与其他基于物联网的微控制器,请点击链接找到它们。

Blynk的特点:

1. 您可以使用Blynk应用程序添加通知服务,而无需使用任何第三方平台,如IFTTT。例如,您可以在Twitter上发布数据,并在达到阈值时收到电子邮件。这可以通过配置Blynk应用程序来实现。

2. 在物联网项目中,与软件部分相比,硬件部分更容易。但是使用Blynk,软件部分也变得比硬件更容易。所需的编码非常少,所有代码都包含在其库中。Blynk是构建简单项目的完美工具。

3. 市场上大多数可用的微控制器都由Blynk支持,这些微控制器可以使用Blynk应用程序通过Wi-fi, BLE, USB, GSM和以太网进行控制。

4. 您可以创建自己的本地Blynk服务器,只需使用几个步骤即可在本地控制设备,并且可以使用Blynk应用程序轻松控制。

5. Blynk最有趣的特性之一是虚拟引脚的使用。虚拟引脚是Blynk发明的一个概念,用于在硬件和Blynk移动应用程序之间提供任何数据交换。这些引脚不同于数字和模拟引脚,它们没有任何物理属性。

因此,如果您想要来自虚拟引脚的任何数据,Blynk应用程序将将数据发送到定义的虚拟引脚,然后可以在MCU引脚上访问此数据。此外,数据可以从Blynk应用程序发送到任何虚拟引脚,然后可以很容易地在应用程序上访问数据。

在这个项目中,我们还将使用虚拟引脚来控制Arduino。

所需的材料

•Arduino Uno

•Arduino Uno USB电缆

•两个发光二极管

•跳线

•电路试验板

线路图

电路图非常简单,只需将一个LED连接到PWM引脚(5),另一个LED连接到Arduino Uno的数字引脚4。

现在,让我们从安装Blynk应用程序和库开始。

安装和配置Blynk应用程序来控制LED

1. 从play store下载Blynk应用。Android和iOS用户都可以使用。打开应用程序,通过输入你的电子邮件ID和密码创建一个帐户。

2. 现在,我们将创建一个新项目。点击新建项目。

3. 给出一个项目名称,并选择设备为Arduino UNO,连接类型为USB,因为我们使用串行通信与Arduino和Blynk服务器进行通信。现在,单击Create,如下所示。

4. 创建项目后,您将在注册邮件id上收到一个认证令牌。此令牌将在代码中使用。在本教程的末尾给出了完整的代码。

5. 现在将显示一个空的仪表板,我们将放置所有所需的小部件,即按钮,显示器,滑块等。点击+号。这里显示了所有可用的小部件。您可以浏览所有的小部件,并根据自己的需求使用它们。

在本教程中,我们将切换一个LED并控制其他LED的亮度。我们需要一个按钮和一个滑块来控制亮度。

选择按钮小部件和滑块类型(H或V)通过点击它。

6. 现在,设置这两个小部件的属性。轻按仪表盘上的按钮。在D4上选择输出和模式切换,然后回到仪表板并点击滑块。在虚拟引脚V1上选择输出引脚,所有属性保持不变。

现在我们已经准备好了Blynk应用程序。让我们开始编程Arduino板,以便与Blynk应用程序一起工作,为此有一个可用于Arduino的库。

在Arduino中安装Blynk Library

在开始为Arduino Uno编写代码之前,我们将首先在Arduino IDE中安装Blynk库:

1. 要安装库,请转到Sketch -> Include Libraries -> Manage Libraries。然后搜索Blynk并安装最新版本,如下所示。

2. 现在,我们将修改一个示例代码。因此,打开示例->Blynk->Boards_USB_Serial->Arduino_Serial_USB。

让我们看看给定的代码并试着理解它。

基于Blynk App的Arduino编程

在本教程的最后给出了完整的代码和演示视频。在这里,我们一步一步地解释了代码。

1. 首先,在代码中根据需要使用#define声明宏。这里宏BLYNK_PRINT被定义为DebugSerial用于打印。

2. 现在,包括software serial和Blynk函数的头文件,并为software serial创建一个实例DebugSerial。

3. 将该验证令牌存储在字符数组中。

4. 在setup()函数中初始化波特率为9600的软件串口、内置串口和Blynk。函数blynk.begin()接受两个参数,即Serial和auth token。

5. 在void loop()函数中,应该有非常少的代码,以便Blynk可以在没有任何中断或数据丢失的情况下工作。这是因为当你把一些东西放入空循环函数中,比如从MCU或智能手机获取传感器读数,它执行百万次,这些数据上传到Blynk服务器上,这意味着Blynk云将被大量消息淹没,服务器将认为这是垃圾邮件,所以Blynk云将自动终止连接。此外,避免在环路中使用延迟功能,因为它完全停止了MCU的功能,在这种情况下连接也会关闭。

从Arduino获取传感器数据的最佳选择是使用计时器。在setup函数中初始化计时器,并定义一个函数来执行任务。

这将需要一个最小的函数——Blynk.run()和timer函数可以处理获取数据并将其发送到服务器的所有任务。但在本教程中,我们不发送任何数据,因此不需要计时器。

6. 用于切换LED的代码内置在Blynk.run()函数中,但我们必须创建一个用于从智能手机获取滑动条值的函数。有两个函数用于发送和接收数据,即BLYNK_READ()和BLYNK_WRITE()。这些函数将虚拟引脚作为读取和写入数据的输入参数。因此,我们必须使用BLYNK_WRITE函数从Blynk应用程序写入虚拟引脚V1上的数据。

现在,将从引脚V1传入的值赋给一个变量,param.asInt()函数将接收到的值作为整数返回。如果接收到的值不是整数,则可以使用float、double或string。

然后使用analogWrite()函数将此值放入Arduino的PWM引脚中。

就是这样。我们已经完成了编码部分。现在,使用USB电缆插入Arduino板,并在设备管理器中检查板的COM端口。

互联网连接脚本:

在这里,我们没有使用Arduino板的任何模块,但需要一个工作的互联网连接来发送和接收云上的数据,所以有一个脚本包含在Blynk库中,可以访问我们的笔记本电脑/PC互联网连接。因此,该脚本通过串行通信从Arduino板获取数据,并使用笔记本电脑的互联网连接将数据上传到Blynk云上。我们必须运行这个脚本来启动操作。

这个脚本可以在Arduino目录下的Documents文件夹中找到,转到Libraries -> Blynk -> Scripts。有一个名为blynk-ser.bat的文件,它是所需的脚本。使用Arduino板的COM端口和Blynk云端口号编辑此脚本。

使用记事本打开脚本并替换以下内容。你只需要替换你的COM端口并保存文件,所有其他的东西保持不变。

测试-使用Blynk应用程序远程控制Arduino

现在,我们都准备好了用Blynk应用程序控制Arduino GPIO引脚。确保你已经连接了两个led,并在笔记本电脑和智能手机上有一个工作的互联网连接。

为了运行项目,双击脚本,它将开始执行。现在,打开应用程序,点击右上角的播放按钮。

然后轻按LED按钮开启LED,再轻按关闭LED。

同样,移动滑块来改变LED的亮度。

如果你在应用程序的棋盘图标上看到一个红点,这意味着两边都没有互联网连接,所以检查一下互联网连接,然后再试一次。

这就是如何轻松地使用Blynk应用程序远程控制Arduino板。

本文编译自iotdesignpro

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭