在这个项目中,我将向您展示如何在智能手机上使用Blynk App远程控制Arduino。使用这个实现,您可以在世界上的任何地方控制Arduino板。
介绍
此前,我已经向您展示了如何使用蓝牙,Wi-Fi,Ideter等来远程控制Arduino板的数字IO引脚,在所有这些项目中,我使用Arduino使用蓝牙模块或Wi-Fi模块等附加组件(esp8266)或我单独使用esp8266 Wi-Fi模块。
但是,如果您想在任何地方控制Arduino,而不添加额外的连接外围设备,该怎么办呢?解决方案是Blynk平台。使用Blynk,您可以通过各种通信协议,如Arduino, ESP8266,树莓派等各种硬件。
什么是blynk?
在使用Blynk应用程序开始控制Arduino之前,我认为对Blynk的基本了解以及如何运作是一个好主意。
Blynk是一个IOT(物联网)平台,您可以使用它轻松和远程控制硬件。此外,您还可以查看传感器数据,存储数据,在互联网上显示数据等。
谈到硬件,Blynk平台支持各种电路板和MCU:
- Arduino Uno,Nano,Mini,Mega等基本上所有Arduino板
- arduino样板如esp8266及其变体,蓝丸(STM32F103C)等。
- 德州仪器的Tiva板,MSP432发射台系列等。
- 覆盆子PI,Beaglebone黑色,普通PC(Windows,Linux或Mac)等。
Blynk是如何运作的吗?
要了解Blynk平台如何工作,您需要了解平台的组件。Blynk平台中有三个主要组件。他们是:
- blynk应用程序
- Blynk服务器
- Blynk库
适用于Android和iOS的Blynk应用程序允许用户为其项目创建直观的接口。Blynk服务器负责arduino硬件与智能手机上的应用程序之间的通信。
最后,Blynk库允许硬件与服务器通信,并处理所有传入和传出的命令。
因此,首先,在必要的库的帮助下,硬件已经准备就绪。当一个命令通过你的智能手机上的Blynk应用程序发出时,比如Toggle an LED,它会到达Blynk服务器并被重定向到你的硬件上,基于从服务器接收到的命令,硬件会做出相应的响应。
使用blynk控制arduino的不同方式
由于Arduino是这个项目中选择的硬件,让我们看看所有不同类型的连接,您可以使用Arduino板,可以支持Blynk协议。
以太网
您需要像Arduino以太网屏蔽(W5100)或SeeedStudio以太网屏蔽V2.0(W5200)等以太网的以太网屏蔽。
蓝牙
蓝牙2.0系列配置文件采用HC-05、HC-06等,BLE配置文件采用HC-08、DFRobot BLE- link模块等。
无线上网
Arduino Wi-Fi Shield, ESP8266作为Wi-Fi Modem, Adafruit CC3000 WiFi Breakout板等,用于基于Wi-Fi的通信。
GSM / 3G / LTE
GSM modem如SIM800A, SIM900A, Adafruit FONA等,用于蜂窝通信。
USB
如果您没有上述任何通信系统,您仍然可以使用Arduino的Blynk协议使用USB(串行通信)连接到笔记本电脑/ PC。
如何使用blynk应用程序远程控制Arduino?
现在我已经简要介绍了Blynk一般,让我们继续了解如何使用Blynk应用程序控制Arduino。
开始与Blynk应用程序
第一步是在智能手机上安装Blynk应用程序。您可能必须注册有效的电子邮件ID以完全利用Blynk服务。
根据您的设备安装从App Store或Google Play Store的Blynk应用程序。如果需要,请打开应用程序并输入您的凭据。然后选择“新项目”。在您的项目提供适当的名称,并在这种情况下选择硬件即e.ArduinoUno。
此外,您必须选择要使用的连接类型。所以,选择“USB”。然后单击“创建”选项。您的Blynk项目将被创建,并且将发送身份验证令牌将发送到注册的电子邮件地址。记下这个auth令牌。
在项目空间中,选择“+”符号将小部件添加到项目中。因为我要切换一个连接Arduino的一个Digital IO引脚的LED,所以我要选择一个Button。
选择Button以更改其设置。首先选择Arduino的LED引脚。我使用了Arduino UNO的板载LED。因此,选择“PIN”,设置“Digital”和“D13”。
另外,按钮的模式可以设置为“切换”,用于切换动作。
就是这样。完成Blynk应用的设置。现在让我们继续安装库。
安装Blynk库
转到blynk的官方github页面或跟随这链接并下载最新版本。在撰写本文时,最新版本是blynk_release_v0.6.1。下载zip文件。提取zip文件的内容并复制“库”文件夹的内容并将其粘贴到Arduino的库文件夹中。在我的情况下,这是“C:\Program Files (x86)\Arduino\libraries”。
上传代码到Arduino
打开Arduino IDE和SELECT文件 - >示例 - > BLYNK - > BOARDS_USB_SERIAL - > ARDUINO_SERIAL_USB草图。
向下滚动到“char auth [] =”yourauthtoken“;',并添加您在邮件中收到的auth令牌代替您的authtoken。选择正确的COM端口(在我的情况下)并将草图上传到Arduino。
使用Blynk通过USB控制Arduino(串行)
你几乎准备控制你的arduino板。最后一步是在笔记本电脑/ PC中运行一个小脚本。使用管理员权限打开命令提示符并将工作目录更改为“C:\ Program Files(x86)\ arduino \ libraries \ blynk \ scripts使用CD命令。
如果在资源管理器中打开此文件夹,则可以查看用Python,shell,批次等写入的一些脚本文件。因为我在Windows机器上,我将使用.bat文件。在命令提示符(使用上面提到的工作目录集)中,输入以下内容并按Enter键。
blynk-ser.bat - c COM5
在这里,COM5是在我的情况下Arduino UNO连接的COM端口。请确保检查您的COM端口,并在上述行中进行必要的更改。它所做的是,它允许Blynk服务器与连接到这台PC的COM5的设备通信。由于在我们的例子中连接了Arduino,所以Blynk将能够控制Arduino Board。
现在,打开手机上的Blynk App,按下按键,根据按键状态显示LED on和OFF。
完成之后,必须停止脚本并释放COM端口。为此,在命令提示符中输入“ctlr+c”,并选择Y来终止作业。