如何使用 Bittly 根据业务流程自动发送串口指令

在设备开发过程中,如果想在上位机或者操作界面尚未完成的状态下,通过底层提供的通讯接口来操作设备,或者操作步骤过于复杂希望能够便捷的完成需要执行的步骤。 那么可以使用 Bittly 提供的动作流程功能来实现。

Bittly 的动作流程功能是将需要执行的动作通过流程图的方式来组合搭配起来, 每个动作为流程中的一个节点, 每个节点能够完成一个指定的功能,例如调用指令,执行脚本, 延时等待,变量赋值等。 Bittly 的动作流程由 开始 节点启动,依次执行流程中的每个节点,从而实现一个完整的业务流程的执行操作。

准备

在开始之前,我们需要先安装 Bittly, 您可在 Bittly 官网 选择适合您系统的安装包进行下载并安装。

使用场景

假设我们的设备是一台检测仪器,我们需要测试的流程如下 :

  1. 设备启动复位
  2. 添加检测任务
  3. 等待检测完成
  4. 推出检测样本
  5. 获取检测结果
  6. 显示检测结果

确定流程之后, 我们需要先将流程依赖的通讯指令通过 Bittly 的指令管理模块输入到 Bittly 中备用, 指令编辑完成之后便可通过拖拽的方式将其拖入流程中,以此来构建需要运行的流程。

配置流程

在 Bittly 中配置动作流程需要先切换到动作流程模块,然后在顶部菜单栏中点击 新建 即可创建新的动作流程。新的动作流程配置在默认情况下会自动创建一个 启动 节点,对于后续动作流程中实际需要执行的动作内容,则需要手动进行追加, 例如执行指令, 脚本, 更新变量, 延时等待等操作。

追加后续节点可通过在节点列表中选择需要添加的节点,并将其拖拽到指定节点之后即可, 如果需要追加的节点为配置好的指令, 则可直接通过指令列表来进行拖拽进行快速的追加节点。 我们以上面使用场景中的 设备启动复位 指令为例, 在指令列表中将其拖放至启动节点之后:

对于上述使用场景中的其他节点,我们同样使用拖拽的方式拖放至合适位置,则配置完成后的流程如下:

流程配置完成后,我们切换到运行模式来执行该流程,例如:

流程优化

一般情况下,我们的业务流程会出现多种判断,循环以及提前结束等要求,而我们上面配置的流程仅仅适用于所有步骤都正常的情况下才能够正确的执行,所以我们需要优化以下我们的流程以便能够应对不同的特殊情况。

判断节点 添加检测任务 是否成功

由于设备检测位置有限,所以当没有空余检测位置时再次田间检测任务会出现失败的现象。 这是我们需要判断指令响应码是否为成功, 如果任务添加失败则直接结束流程的执行。

首先我们需要先将 添加检测任务 指令的响应码解析到变量中, 例如:

接着,我们添加判断节点, 如果响应码不为成功则直接结束流程并显示消息, 否则我们继续执行后续节点, 例如:

配置完成后,切换到运行模式运行如下:

使用循环来检测任务是否完成

之前我们的步骤是通过等待一个固定时间来等待任务检测完成并执行后续节点。 假设执行时间波动特大,那么固定值的等待要么会造成时间太短检测还未完成, 或者时间太长浪费了时间。 在 Bittly 的动作流程中, 可通过条件循环节点来根据指定的等待条件,动态的等待检测任务的完成。

我们先添加一个 检测状态获取 的指令用于查询检测任务是否完成, 然后将指令响应状态解析到变量中, 最后通过判断状态来决定是否继续等待,响应解析配置如下:

添加条件循环节点,并编辑循环条件,循环体则为延时等待1秒钟,例如:

配置完成后,当条件不满足时则自动跳出循环执行后续步骤, 我们切换到运行模式,例如:

结束

通过 Bittly 的自动化流程功能,可以方便快速的验证业务流程,实现完整的业务流程自动化。通过拖拽和组合指令创建流程图。每个节点可以执行不同操作,如指令执行、赋值变量、判断条件等。为了提升流程的灵活性,可以使用变量动态输入参数,或者通过并行执行与聚合等待来优化流程。

如果你在使用 Bittly 的过程中遇到任何问题,或者有其他有趣的应用场景,欢迎在评论区与我分享。希望这篇文章对您的开发有所帮助,也期待你的反馈与讨论。

相关推荐
河北乐讯通物联网服务商10 小时前
航油管理终端:机场里每架飞机加了什么油、加了多少,是怎么实时算清楚的?
物联网·物联网卡·航油管理终端
数字新视界12 小时前
信创机房动环监控技术在提升数据中心管理效率中的应用与前景分析
物联网·数据中心·数据中心基础设施管理·dcim管理系统·数据中心dcim
Zwawa12 小时前
屏幕不止一种:OLED、LCD1602字符屏、TFT/IPS图形屏和串口屏怎么用,这与TTY和PTY又有什么关系
c语言·单片机·嵌入式
wuyk5551 天前
Keil工具链-第05讲-启动文件与__main到底做了什么
c语言·stm32·单片机·嵌入式硬件·物联网
La Pulga1 天前
【FreeRTOS源码学习笔记】任务延时列表
笔记·mcu·学习·嵌入式·freertos·实时操作系统
2035去旅行1 天前
bootcmd 详细讲解
linux·嵌入式·arm·soc
蓝天居士1 天前
EtherCAT从入门到精通(7)
机器人·嵌入式·ethercat
蓝天居士2 天前
EtherCAT从入门到精通(10)
机器人·嵌入式·ethercat
不脱发的程序猿2 天前
GD32串口数据收进内存之后DMA如何处理?
单片机·嵌入式硬件·dma·嵌入式·串口通信·gd32
Eyfcom2 天前
〖物联网终端实战 02〗RFID 批量群读防碰撞算法:整托盘入库如何做到“秒级”识别
物联网·物流系统·快递系统·跨境物流快递系统·物联网终端实战