单片机学习小组
直播中

石利军

7年用户 902经验值
私信 关注

在使用Mixly时一些特殊模块的使用方法和技巧分享

怎样去使用Mixly中Blynk IoT物联网图形编程模块呢?有什么方法和技巧吗?

回帖(1)

蔡烁坚

2022-2-22 10:47:10
Mixly 中 Blynk IoT 物联网图形编程模块,目前已经集成到 Mixly 1.0 版本中,目前基本上已经适配了 Mixly 支持的所有板子。打开 Mixly 1.0 及以后 版本,你就可以在左侧模块栏看到 Blynk IoT 按钮。



点开 Blynk IoT 模块,你就可以看到很多 Blynk 物联网相关的编程模块。



下面开始正式介绍几个 Blynk 模块的使用技巧。

# Blynk 定时器模块 #




首先我们来看这个块有什么作用,在使用 Blynk 的过程中,硬件与服务器不间断的通信,就意味着我们不允许有像延时函数一样的阻塞函数,Blynk 也不允许你发送大量的数据到服务器,因为这会导致服务器崩溃,所以有一个保护机制,那就是你每秒发送的数据只能有几百个,具体多少,我没有测试过,不过在本地服务器中可以修改此限制,发送大量数据。在原来的 Mixly 版本中只能用一个软件定时器,现在最多可以使用 16 个软件定时器且时间可以不同。例如这样:



上面的程序,可以以不同的周期闪烁 LED 且不影响与 Blynk 服务器的连接,相同时间段做的事情可以放到一起。

# 从App获取数据模块 #




很多人用到这个块通常用来控制电机转速,LED 亮度之类的,这样也没什么问题,可是这个还有一个重要的用途,当我们的程序有很多参数需要调整,但是不知道最理想的参数时,我们通常是一个一个的去试然后无数次的上传程序。如果是这样,那就太 LOW 了,我们可以使用这个块来动态调整参数以达到最佳的效果。

举一个简单的例子,比如你要做一个楼道灯,准备使用声音传感器,当检测到的声音数值高于某个阈值时,点亮楼道灯。但是这个声音阈值设置为多少合适呢?我们可以使用这个模块动态调整阈值,来选择最合适的取值。



只需要调整一个参数时,传统的方法实现起来也容易,但是如果程序中有很多参数都要动态调整选取合适值的时候,这种方法的优势就体现出来了。

# 硬件已连接模块 #




这个模块的作用是,当硬件重启或是上电在无网络故障的情况下连接到 Blynk 服务器时会执行一次块所接的代码块,类似程序的初始化,如果有想要在连接服务器时做些什么不妨试试这个。

# 状态同步模块 #




这两个块都是同步状态但是他们有一点区别,第一个将会同步硬件管脚的状态和虚拟引脚状态与 App 一致,简单来说如果你 App 上管脚 5 为高电平那么硬件上同步后也为高,若程序有从虚拟引脚获取数据,那么将无条件执行一次获取数据操作。第二个块仅仅同步已设置的虚拟引脚。以上两个块通常与硬件已连接块一起使用用来初始化我们 App 的硬件的配置。

# Blynk服务器连接状态模块 #




这个模块将返回与 Blynk 服务器的连接状态,若连接正常则返回真反正则返回假。下面的程序是这个块的其中一个应用



这个程序的功能是:当与服务器连接异常时,13 号管脚的 LED 将持续闪烁以提示异常状态。

# 本地蓝牙连接模块 #




这个模块的入口,一般在不同板卡的高级视图里。它使用起来很方便,在使用 Blynk 时,我们发送的指令一般都要先经过服务器才到达硬件,这就无可避免的会遇到网络延时情况,如果网络特别糟糕,那么就不能及时的控制了。使用这个块发送的指令将由 App 直接发送给硬件进行控制,这就带来了一个好处——超低的延时,几乎 0 延时。该模块利用硬件软串口进行控制,对于 ESP32 来说,因其自带了蓝牙功能,因此除了本模块外,还可以使用如下两个模块:



其中仅需填写授权码及自定义的蓝牙名称即可,不推荐使用中文蓝牙名称。

下面我将以第一个通用的蓝牙连接为例,进行说明此模块与普通 WiFi 连接方式的区别。

第一点是连接方式选择的问题,原来我们选择的连接方式为 WiFi,现在连接方式要选择为蓝牙:

然后后我们还需要添加蓝牙组件:


到这里后其他步骤与常规创建步骤一致,待程序上传成功及 App 组件都添加完毕后,需连接蓝牙。点开蓝牙组件进行蓝牙连接:


蓝牙连接成功后,剩下的就与常规操作方法一样了。注意使用蓝牙连接方式后,部分组件的使用将受到限制。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分