10752| 12
|
[高级教程] 只会用 WiFi 连接 Blynk 物联网?带你解锁三种新姿势! |
![]() ![]() 本文作者:默 & 铁熊 Blynk 是一个与硬件无关的物联网平台,使用起来简单便捷,仅需通过简单的拖拽组件即可创建漂亮的 APP 界面,再加上少量代码就能够完成一个物联网项目的开发,可谓是最简单的物联网平台之一。 ![]() 随着国内图形化编程的风靡,更是进一步降低了物联网开发的门槛。裘炯涛与陈众贤(铁熊)两位老师就编写了一本《物联网,So Easy》的参考书,专门介绍 Blynk 与物联网的编程。 ![]() 但是《物联网,So Easy》这本书中使用的是以 ESP8266 为核心的开发板,许多老师在学习后都会面临这样一个疑问:我能不能使用自己最熟悉的开发板接入 Blynk?一方面,对于大多数的 Arduino 玩家来说,Arduino Uno 或 Nano 是他们最常用的开发板之一,如果 Arduino Uno 或 Nano 也能使用 Blynk 就更好了;另一方面,ESP8266 引脚太少,尤其是模拟输入引脚只有一个,通常是不够用的。如果能够根据自己的实际情况,选择合适的开发板连接 Blynk,那无疑是 Blynk 爱好者的福音。 最后,Blynk 物联网的接入需要使用互联网,在某些情况下,并没有 WiFi 网络可用。那有没有办法让开发板像手机一样使用 4G 网络呢?如果使用 4G 网络接入 Blynk,再搭配上太阳能电池,这不就是最理想的物联网项目了吗? 带上这些疑问让我们开始本期的教程。本期教程主要探讨接入 Blynk 物联网的几种方式,让大家能够更加愉快的使用 Blynk,轻松享受物联网编程带来的乐趣。 # 姿势1:通过电脑网络连接 Blynk 对于 Blynk 来说,最简单的接入方法,无疑是 USB 串口连接方式,该种方式只需要一台连接到互联网的电脑,通过 USB 串口将开发板连接到电脑,便能享受 Blynk 服务。 先来看一下演示视频。该示例中选择的是 Arduino Nano 开发板作为演示,连接方式为 USB 串口连接。 其主要代码如下:
首先使用 Blynk App 扫描下方二维码克隆示例项目: ![]() 打开克隆的示例项目,并复制该项目授权码,替换上述程序中的 auth,然后上传程序。同时我们打开 Arduino 软件的安装目录(文末会提供安装好 Blynk 库的 Arduino 软件下载链接),并找到 Blynk 库文件,查找 scripts 文件夹,并编辑其文件夹下的 blynk-ser.bat 文件,将文件中的端口号替换为自己的开发板端口号,修改波特率为 115200,还需要修改 Blynk 服务器的 IP 与端口号与 Blynk 服务器保持一致,如下图所示: ![]() 图中的是国内第三方 Mixly 团队提供的免费服务器,修改完成后点击保存。最后双击打开 blynk-ser.bat 这个文件,如果看到如下图所示输出字样,就代表连接 Blynk 服务器成功,最后使用上述克隆的 Blynk 项目,点击项目中的按钮,便可控制Arduino Nano 上的板载 D13 指示灯亮灭了。 ![]() USB 串口连接方式仅需要一台联网的电脑便能连接 Blynk,快速体验 Blynk 物联网,但是由于其硬件串口被占用,导致了硬件串口的打印功能失效,通常情况下我们使用硬件串口来调试程序,没有串口,程序的调试就变得困难,因此我们有了第二种连接方式,通过软串口来连接 Blynk 服务器,硬件串口保留原来的打印功能用于程序调试。 程序如下:
在上面的程序当中,我们定义了软串口 DebugSerial,定义其 RX 引脚为 A4,TX 引脚为 A5,使用软串口连接 Blynk 服务器。 在具体使用时,我们利用 USB 转 TTL 模块连接该软串口,并将 USB 端插到电脑获取该模块的串口号,重新修改 blynk-ser.bat 配置文件的串口号就能够连接 Blynk,同时不影响原来的硬件串口功能,值得注意的是软串口没有硬件串口稳定,因此我们设置了一个较低的波特率 9600 作为通讯速率。当然,你也可以使用硬串口连接 Blynk,改用软串口进行调试。 # 姿势2:使用 WiFi 模块连接 Blynk 在网上也经常看到 Uno + ESP8266 连接 Blynk 的方式,它使用 Uno 的硬串口连接 ESP8266,然后通过 ESP8266 连接 WiFi,从而达到连接 Blynk 的目的。当我们使用该连接方式时发现其并不稳定,常有掉线的情况发生,也碰到了很多来咨询的老师,而我的回答一般都是推荐他们不要使用这种方式。 至于掉线的原因主要有二:第一,使用的 ESP8266 为山寨劣质产品,此为硬件本身的缺陷导致;第二,是程序本身的问题,Uno 连接 ESP8266 需要引用 ESP8266_Lib.h 这个库文件来设置 ESP8266,该库会占用一定的程序存储空间和动态内存,再加上 Uno 本来就资源性能有限,如果编程经验不足,较大概率会写出大量的低效率代码,这些低效率代码不但本身的执行效率低下,而且还会引起其他程序的阻塞,例如 Blynk 需要保持主函数内的 Blynk.run() 函数运行,当有程序阻塞的情况发生时,这会导致掉线情况的发生,倘若再使用 OLED 这类占用程序存储空间以及动态内存较大的模块时,就会导致不稳定的现象。 下图分别是 Uno 连接 ESP8266 编译与直接使用 USB 连接方式编译的情况。从图中的编译结果可以看到,使用 USB 连接方式的程序存储空间与动态内存的使用率都比连接 ESP8266 方式的低。 ![]() 若果我们能够将 Uno 联网的部分就如 USB 连接电脑方式联网一样独立开,使用一个第三方的模块负责联网,Uno 只负责程序交互,剩下的联网问题交由第三方模块,那这便能够极大的提高程序的可靠性与稳定性。 Blynk 物联网的本质是主控板与服务器的 TCP 连接,我们只需要使用其他 WiFi 模块通过 TCP 连接到 Blynk 服务器,便能使用 Blynk 物联网了。针对有 WiFi 网络的情况下,根据简单易用的原则,这里我使用汇承的 HC-25 WiFi 模块来连接 Blynk 服务器,HC-25 作为一个串口类 WiFi 模块,与 ESP8266 一样均支持AT指令设置,与 ESP8266 相比它还支持 Web 设置,通过手机或者电脑连接到其 AP 热点,输入其默认的 IP 地址便能够打开 Web 设置页面进行配置。HC-25 WiFi 模块如下所示: ![]() 我们将前面 USB 连接模式软串口的程序上传到 Arduino Nano 开发板,程序上传完成后使用 4 根杜邦线连接 HC-25 与 Nano,先连接电源管脚 3V3 与 GND,然后将 RXD 与 TXD 分别连接到 Nano 的 A5 和 A4 引脚,最后按下 HC-25 的多功能按键2秒,等待板载指示灯快速闪烁,然后按照下图顺序进行配置: ![]() 按上图的顺序进行配置并保存设置,重启 HC-25,重启后连接到网络的过程中指示灯慢闪烁,联网成功后指示灯常亮。注意:不能连接到中文的 WiFi 名或 5G 频段的网络,Socket 必须选择 Client,协议为 TCP,远程 IP 地址与端口号和 USB 连接模式的配置一致。为了方便后续配置,可以设置 HC-25 的 AP 名称与密码。AP 名称不支持中文,按下多功能按键 10 秒可恢复出厂设置。 联网成功后演示如下: # 姿势3:使用 4G 网络连接 Blynk 没有 WiFi 的时候,如果想要使用物联网就需要用到蜂窝网络,目前的主流网络制式是 4G 网络,因此,我们采取 4G 模块来连接 Blynk,这里我采用的是合宙 4G Cat.1 透传 DTU 模块全网通无线通信模组 Air724UG 核心板,该模块支持全网通且其与 HC-25 类似均提供了 Web 设置界面,能很方便的进行模块配置,Air724UG 核心板结构如下图所示: ![]() ![]() 下面我们介绍如何使用 Air724UG 核心板连接 Blynk 服务器。购买 Air724UG 核心板时,店家会附赠一张 300M 流量的移动物联网卡,该卡上电即激活,激活后的使用期限为一年,一年过后需联系客服购买流量。此处为了测试我们可以使用自己的手机卡测试,流量卡待到有需要的时候再使用。Air724UG 核心板有两种固件,一种是 AT 固件,AT 固件的所有配置均通过 AT 指令进行配置,相对比较繁琐。它还有一种 DTU 固件,DTU 固件需要联系店家分配 DTU 管理系统 http://dtu.openluat.com/login/ 的账号,具体情况可咨询客服。 此处我们使用的是 DTU 固件。先登录店家分配的账号进入管理网站,如下图所示: ![]() 登录系统后,就能看到自己的设备以及配置分组(这里我有两个设备且已经配置好分组),设备根据 IMEI 编号进行区分。第一步我们先新建分组,这里我们填写 Mixly 提供的 Blynk 服务器作为分组名: ![]() 新建分组后我们点击参数配置,填写如下配置信息: ![]() ![]() 最后保存设置,并在设备列表修改连接 Blynk 服务器的设备分组为刚才设置好的分组,设置完成重启 Air724UG 核心板,当 Air724UG 核心板板载指示灯闪烁较慢时代表已连接到 Blynk 服务器,此时便可以通过手机控制 Nano,演示效果如下: # 小结 本期教程我们介绍了 Blynk 连接网络的几种方法,其中我们都是以软串口的形式连接,当我们程序书写并调试无误后,我们应当禁用串口调试,同时使用硬件串口连接 Blynk 服务器,并修改其通信波特率为 115200,这能带来更加快速和稳定的连接。 通过本教程的学习,你能够使用你最熟悉的开发板享受到 Blynk 物联网带来的便捷,通过 4G 连接也让你脱离了网络环境带来的困扰,让我们专注于创意的实现。文中介绍的模块资料将放教程附录,供大家学习查阅,以便更加深入的了解文中模块用途。以上两个联网模块我们仅使用了模块的 TCP透传功能,对于其他功能大家可以根据教程附录进行学习。到这里相信你对 Blynk 的网络连接有了一个全新的认识。 # 资源下载 最后,欢迎关注公众号:铁熊玩创客,不定期更新创客制作、技术教程、创客教育等相关内容。 回复 Blynk联网方式 即可获取本教程的完整资源的下载链接。 回复 Arduino 即可下载已配置好开发环境的 Arduino 绿色软件。 欢迎转发朋友圈。如需转载,请注明出处和原作者。 ![]() |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed