本文将通过可燃气体探测器数据采集的组态案例和大家分享一款名为IOT-FAST的免费软件。
教程丨十分钟实现可燃气体探测器组态数据采集 - 图1
软件集合了数据采集、上报云端、图形组态为一体,仅三步就让你快速完成设备的数据采集控制组态项目。下载地址:www.gkiiot.com
教程丨十分钟实现可燃气体探测器组态数据采集 - 图2
在这里面我们选择Windows版本安装包下载。
教程丨十分钟实现可燃气体探测器组态数据采集 - 图3


下面我们详细介绍该套软件的操作案例,以采集可燃气体探测器数据为例,文章主要分为五个部分:

  • 前期准备

    可燃气体探测器设备概述

  • IOT-FAST-采集控制系统

    对底层设备进行数据读取、写入的配置界面,还可以进行数据处理。

  • IOT-FAST-云平台

    将采集控制系统收集的数据进行分类展示、告警阈值设置、历史数据查询等功能。

  • IOT-FAST-云组态

    进行2D组态,组态元素绑定云平台上展示的数据,来进行动作的执行或是数据展示。

  • IOT-FAST-App

    通过手机app进行远程数据的查看,以及动作的执行。

一、前期准备

1.1 准备工具

该设备为无线可燃气体探测器(NB-IOT),采用简易式壁挂安装,安装调试便捷快速。
教程丨十分钟实现可燃气体探测器组态数据采集 - 图4

三、IOT-FAST-采集控制系统

使用IOT-FAST采集控制系统对可燃气体探测器进行采集。
教程丨十分钟实现可燃气体探测器组态数据采集 - 图5

1.控件选择

设备采用NB-IOT联网方式,支持http通讯协议,所以从左边的采集引擎中拖出http in 节点。选择设备数据请求方式,填写URL地址。
教程丨十分钟实现可燃气体探测器组态数据采集 - 图6
此时先拉取一个调试节点调试部署,从右方调试窗口得到数据,验证通讯成功。
教程丨十分钟实现可燃气体探测器组态数据采集 - 图7
能够成功获取设备数据,我们需要回传数据传输成功的信息。
教程丨十分钟实现可燃气体探测器组态数据采集 - 图8
为了探测器上报的数据能传到云平台,我们需要对设备传输的数据格式进行调整,部署function函数节点。
教程丨十分钟实现可燃气体探测器组态数据采集 - 图9
格式我们可以从云平台创建好的燃气探测器设备调试窗口中复制,具体云平台如何创建设备详见下文。
教程丨十分钟实现可燃气体探测器组态数据采集 - 图10
文章末尾附上快速复用码,导入便可快速部署。

四、IOT-FAST-云平台

IOT-FAST云平台能够与IOT-FAST采集控制系统进行联动,将采集到的数据可视化。
教程丨十分钟实现可燃气体探测器组态数据采集 - 图11

1. 产品和设备的创建

登录IOT-FAST云平台,依次点击设备管理-产品-创建产品。
教程丨十分钟实现可燃气体探测器组态数据采集 - 图12
然后在该产品下创建一个设备,操作顺序如下图,选择上一步创建的产品,设置设备名称,最后点击确定即可。
教程丨十分钟实现可燃气体探测器组态数据采集 - 图13

2. 采集量的定义

回头查看刚刚创建的产品,在功能定义中,自定义功能中添加采集量。
教程丨十分钟实现可燃气体探测器组态数据采集 - 图14
标识符一定要和采集函数节点中的标识符一致,功能名称无所谓。
教程丨十分钟实现可燃气体探测器组态数据采集 - 图15
所有探测器功能自定义添加完成如下:
教程丨十分钟实现可燃气体探测器组态数据采集 - 图16

3. 可视化控件部署调试

回到IOT-FAST采集控制系统,在IOT-FAST云平台中拖出设备上行控件,点击节点进行产品设备的选择配置。
教程丨十分钟实现可燃气体探测器组态数据采集 - 图17
控件显示连接成功后,即可回到IOT-FAST云平台,在设备的运行状态中可以实时显示可燃气体探测器设备监测数据。
教程丨十分钟实现可燃气体探测器组态数据采集 - 图18

五、IOT-FAST-云组态

完成组态的创建需要以下三个小步骤:

4.1 创建项目及应用

点击云组态按钮进入云组态首页。
教程丨十分钟实现可燃气体探测器组态数据采集 - 图19
先新建一个项目,填写项目名称,保存,进入项目。
教程丨十分钟实现可燃气体探测器组态数据采集 - 图20
点击应用-我的应用,点击图示位置新增一张图纸,来构建组态。
教程丨十分钟实现可燃气体探测器组态数据采集 - 图21
填写图纸名称后就可以开始画组态图了。

4.2 设计所需模型图标

以在左侧项目树中选择图标使用现成的组件,也可以在设计中设计自己需要的组件。设计完成的个性化组件可以直接拉到后面你所创建项目图纸中,重复使用,方便快捷。
教程丨十分钟实现可燃气体探测器组态数据采集 - 图22
下面以可燃气体探测器为例,根据一张图介绍软件绘画中涉及线段、图形、文本、图形对齐的编辑方式,以及修改图形的背景颜色、线条宽度等操作。具体操作入径如下图所示。
教程丨十分钟实现可燃气体探测器组态数据采集 - 图23

4.3 绑定云平台数据

组件基础部分设计完成后,即可拖拽至项目应用图纸中。首先我们需要从图标栏中的基础部分拖出“数字”模块。
教程丨十分钟实现可燃气体探测器组态数据采集 - 图24
修改对应颜色后,即可点击数据源按钮进行数据的绑定。原理是通过采集系统采集到的设备燃气浓度数据上传至云平台的数据绑定到组态上。
教程丨十分钟实现可燃气体探测器组态数据采集 - 图25
点击数据源按钮,在弹出的标签页中选择数据源-设备,来源-我的,产品-云平台创建的产品,设备-云平台创建的设备,属性-选择燃气浓度,点击确定。图形下方的的电源指示灯以及其他的设备数据源同理,进行绑定。
全部完成后点击保存,然后点击右上角的预览,即可查看组态的可燃气体探测器采集动态效果。
教程丨十分钟实现可燃气体探测器组态数据采集 - 图26

五、IOT-FAST-微信小程序/APP

软件上的数据支持在微信小程序或者APP上查看,小程序和APP的二维码在云平台首页的右侧,目前只支持安卓APP,ios的用户可以直接用微信小程序查看。
教程丨十分钟实现可燃气体探测器组态数据采集 - 图27
扫码进入IOT-FAST小程序,输入PC端注册的账号密码进入首页。
教程丨十分钟实现可燃气体探测器组态数据采集 - 图28教程丨十分钟实现可燃气体探测器组态数据采集 - 图29

选择可燃气体探测器设备,点击查看可以看到设备的详细信息。
教程丨十分钟实现可燃气体探测器组态数据采集 - 图30
点击运行状态右侧箭头可以查看设备的实时数据。
教程丨十分钟实现可燃气体探测器组态数据采集 - 图31
教程丨十分钟实现可燃气体探测器组态数据采集 - 图32
回到首页,点击组态查看该账号下的所有组态,选择可燃气体探测器这个组态,点击查看。
教程丨十分钟实现可燃气体探测器组态数据采集 - 图33
教程丨十分钟实现可燃气体探测器组态数据采集 - 图34

六、附录

快速复用码

以上教程可以通过拷贝下面代码实现快速复用,在新建的流程中点击界面右侧 菜单栏-导入-剪贴板,在文本框中粘贴下面代码后点击确定,即可快速复用

  1. [
  2. {
  3. "id": "551a3606.9f85a8",
  4. "type": "tab",
  5. "label": "可燃气体探测器",
  6. "disabled": false,
  7. "info": ""
  8. },
  9. {
  10. "id": "5388ce81.96f79",
  11. "type": "http in",
  12. "z": "551a3606.9f85a8",
  13. "name": "设备事件通知接口",
  14. "url": "/device/event",
  15. "method": "post",
  16. "upload": false,
  17. "swaggerDoc": "",
  18. "x": 150,
  19. "y": 300,
  20. "wires": [
  21. [
  22. "bd3f2ef2.ed933",
  23. "1dda6636.af3f1a"
  24. ]
  25. ]
  26. },
  27. {
  28. "id": "89953cca.9798",
  29. "type": "http response",
  30. "z": "551a3606.9f85a8",
  31. "name": "回传成功",
  32. "statusCode": "",
  33. "headers": {},
  34. "x": 410,
  35. "y": 220,
  36. "wires": []
  37. },
  38. {
  39. "id": "bd3f2ef2.ed933",
  40. "type": "function",
  41. "z": "551a3606.9f85a8",
  42. "name": "",
  43. "func": "msg.payload={\n \"code\":\"0\",\n \"message\":\"成功\"\n}\nreturn msg;",
  44. "outputs": 1,
  45. "noerr": 0,
  46. "initialize": "",
  47. "finalize": "",
  48. "libs": [],
  49. "x": 310,
  50. "y": 220,
  51. "wires": [
  52. [
  53. "89953cca.9798"
  54. ]
  55. ]
  56. },
  57. {
  58. "id": "1dda6636.af3f1a",
  59. "type": "function",
  60. "z": "551a3606.9f85a8",
  61. "name": "",
  62. "func": "msg.payload = {\n \"action\": \"devSend\",\n \"pk\": \"29j3gD016g946BgC\",\n \"devId\": \"9BJJ26eb6G9Eg13f\",\n \"msgId\": new Date().getTime(),\n \"data\": {\n \"cmd\": \"up\",\n \"params\": {\n \"imei\":msg.payload.imei,\n \"icccid\":msg.payload.icccid,\n \"eventTime\":msg.payload.eventTime,\n \"dv\":msg.payload.dv,\n \"csq\":msg.payload.csq,\n \"gas\":msg.payload.gas,\n \"alarmType\":msg.payload.alarmType,\n \"status\":global.get(\"status2\")\n }\n }\n};\n\nreturn msg;",
  63. "outputs": 1,
  64. "noerr": 0,
  65. "initialize": "",
  66. "finalize": "",
  67. "libs": [],
  68. "x": 305,
  69. "y": 300,
  70. "wires": [
  71. [
  72. "0d11c6e84da80c1c"
  73. ]
  74. ]
  75. },
  76. {
  77. "id": "0d11c6e84da80c1c",
  78. "type": "hc-iot-driveOut",
  79. "z": "551a3606.9f85a8",
  80. "name": "",
  81. "prodId": "{\"prodId\": \"10C258diG0cFGB2i\", \"prodKey\": \"undefined\"}",
  82. "cmdType": "{\"cmdKey\": \"up\", \"cmdName\": \"上报\"}",
  83. "device": "{\"deviceKey\": \"AGEA9AG3HgC5GBgg\", \"deviceSecret\": \"74382cdc49ff4251905a71beb47230d0\"}",
  84. "clientId": "app:10C258diG0cFGB2i:AGEA9AG3HgC5GBgg:1652684466105",
  85. "username": "md5:1652684466105",
  86. "password": "89d0d83722c02ebe7cd3be10ff535924",
  87. "x": 420,
  88. "y": 300,
  89. "wires": [
  90. []
  91. ]
  92. }
  93. ]