haiwell 海为 hmi/cbox/ipc mqtt配置应用教程¼ˆ海为)hmi cbox......

20
MQTT 配置应用教程 厦门海为科技有限公司 www.haiwell.com Haiwell 海为 HMI/ CBOX/ IPC

Upload: others

Post on 31-Dec-2019

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Haiwell 海为 HMI/CBOX/IPC MQTT配置应用教程¼ˆ海为)HMI CBOX... Haiwell(海为)HMI/CBOX/IPCMQTT配置应用教程 目 录 一、搭建MQTT服务器 3 1.下载

MQTT 配置应用教程

厦门海为科技有限公司

www.haiwell.com

Haiwell 海为 HMI/ CBOX/ IPC

Page 2: Haiwell 海为 HMI/CBOX/IPC MQTT配置应用教程¼ˆ海为)HMI CBOX... Haiwell(海为)HMI/CBOX/IPCMQTT配置应用教程 目 录 一、搭建MQTT服务器 3 1.下载

www.haiwell.com Haiwell(海为)HMI/CBOX/IPC MQTT 配置应用教程

目 录

一、 搭建 MQTT服务器.......................................................................................................................................... 31. 下载............................................................................................................................................................... 32. 安装............................................................................................................................................................... 33. 启动............................................................................................................................................................... 44. 相关指令....................................................................................................................................................... 45. Web管理控制台(Dashboard)............................................................................................................... 4

二、 搭建 MySQL 数据库........................................................................................................................................ 51. 下载............................................................................................................................................................... 52. 安装............................................................................................................................................................... 63. 验证............................................................................................................................................................. 134. 开启远程访问权限..................................................................................................................................... 135. 远程访问数据库......................................................................................................................................... 14

三、 编写组态程序..................................................................................................................................................151. 新建工程..................................................................................................................................................... 152. 添加历史记录组......................................................................................................................................... 153. 服务器配置................................................................................................................................................. 164. 下载工程..................................................................................................................................................... 16

四、 配置客户端......................................................................................................................................................171. Haiwell Client..............................................................................................................................................172. 配置 MQTT服务器....................................................................................................................................173. 添加任务..................................................................................................................................................... 174. 开始任务..................................................................................................................................................... 18

五、 验证..................................................................................................................................................................191. MQTT服务器..............................................................................................................................................192. MySQL数据库............................................................................................................................................19

六、 附录..................................................................................................................................................................20组网示意图.......................................................................................................................................................20

特别声明

本文详细的介绍了 MQTT 与数据使用的一般过程,并且做了简单的程序示例。它适用于对 MQTT、数据

库等相关概念有一定了解的自动化或者上位机数据库开发工程师,海为技术人员并不都精于此,所以对

MQTT、数据库这些非 PLC、组态的知识问题,我们不做解答,见谅!有 MQTT、数据库问题的,烦请到互联

网学习了解相关概念。

** 注:本文使用的电脑系统为Windows 10(64位) **

Page 3: Haiwell 海为 HMI/CBOX/IPC MQTT配置应用教程¼ˆ海为)HMI CBOX... Haiwell(海为)HMI/CBOX/IPCMQTT配置应用教程 目 录 一、搭建MQTT服务器 3 1.下载

www.haiwell.com Haiwell(海为)HMI/CBOX/IPC MQTT 配置应用教程

第 3 页 共 20 页

一、搭建 MQTT服务器

1. 下载

这里介绍的是使用 EMQ开源项目来搭建自己的 MQTT服务器,可在官网 http://emqtt.com/下载。这

里下载的版本是 emqx-3.0.0 Windows 10(64位)。

下载完对应的版本后,解压到一个目录。本例的安装目录为 D:\MQTT\emqx。

2. 安装

以管理员身份运行Windows命令行窗口(cmd),使用 cd指令进入 EMQ X的安装目录。

输入指令“bin\emqx console”启动控制台模式。

启动成功后,会弹出控制台窗口。将此控制台窗口关闭后进行Windows服务注册。

Page 4: Haiwell 海为 HMI/CBOX/IPC MQTT配置应用教程¼ˆ海为)HMI CBOX... Haiwell(海为)HMI/CBOX/IPCMQTT配置应用教程 目 录 一、搭建MQTT服务器 3 1.下载

www.haiwell.com Haiwell(海为)HMI/CBOX/IPC MQTT 配置应用教程

第 4 页 共 20 页

在 cmd输入“bin\emqx install”为 EMQ X注册Windows服务。如果服务注册成功,会有“Serviceemqx_3.0 added to system.”的提示。

3. 启动

输入“bin\emqx start”来启动 EMQ X服务。

4. 相关指令

EMQ X停止服务的指令为“bin\emqx stop”,卸载服务的指令为“bin\emqx uninstall”。

5. Web管理控制台(Dashboard)EMQ X服务启动后,用户可以通过Web管理控制台(Dashboard)查看 MQTT服务器状态。如果

EMQ X安装在本机,可以在浏览器打开 127.0.0.1:18083进行登录,默认用户名 admin,密码 public。如

果不是,则输入“服务器 IP:18083”进行登录。这里运行 EMQ服务器的地址为 192.168.30.90,则输入

192.168.30.90:18083。在 Connections界面可以查看当前服务器的连接状态。

Page 5: Haiwell 海为 HMI/CBOX/IPC MQTT配置应用教程¼ˆ海为)HMI CBOX... Haiwell(海为)HMI/CBOX/IPCMQTT配置应用教程 目 录 一、搭建MQTT服务器 3 1.下载

www.haiwell.com Haiwell(海为)HMI/CBOX/IPC MQTT 配置应用教程

第 5 页 共 20 页

二、搭建MySQL数据库

1. 下载

进入 MySQL的官方网站 https://www.mysql.com/,打开 DOWNLOADS标签。

在打开的网页中选择“MySQL Community Edition(GPL)”,然后点击“MySQL Community Server”进入

下载项页面。

这里推荐使用 MySQL Installer进行安装,这个版本的 MySQL不需要自己进行配置,按照提示进行

安装就可以了。点击“Go to Download Page >”进入下载页面。

Page 6: Haiwell 海为 HMI/CBOX/IPC MQTT配置应用教程¼ˆ海为)HMI CBOX... Haiwell(海为)HMI/CBOX/IPCMQTT配置应用教程 目 录 一、搭建MQTT服务器 3 1.下载

www.haiwell.com Haiwell(海为)HMI/CBOX/IPC MQTT 配置应用教程

第 6 页 共 20 页

这里选择第二个选项进行下载,版本为 8.0.13。

2. 安装

双击 MySQL Installer进入安装界面,首先勾选同意协议并点击 Next。

Page 7: Haiwell 海为 HMI/CBOX/IPC MQTT配置应用教程¼ˆ海为)HMI CBOX... Haiwell(海为)HMI/CBOX/IPCMQTT配置应用教程 目 录 一、搭建MQTT服务器 3 1.下载

www.haiwell.com Haiwell(海为)HMI/CBOX/IPC MQTT 配置应用教程

第 7 页 共 20 页

这里只需要安装 MySQL数据库,所以选择第二项 Server only就可以。如果有需要其它组件,可以

选择其它类型进行安装。

之后点击 Execute进行安装,等安装完成后点击 Next进入配置界面。

Page 8: Haiwell 海为 HMI/CBOX/IPC MQTT配置应用教程¼ˆ海为)HMI CBOX... Haiwell(海为)HMI/CBOX/IPCMQTT配置应用教程 目 录 一、搭建MQTT服务器 3 1.下载

www.haiwell.com Haiwell(海为)HMI/CBOX/IPC MQTT 配置应用教程

第 8 页 共 20 页

Page 9: Haiwell 海为 HMI/CBOX/IPC MQTT配置应用教程¼ˆ海为)HMI CBOX... Haiwell(海为)HMI/CBOX/IPCMQTT配置应用教程 目 录 一、搭建MQTT服务器 3 1.下载

www.haiwell.com Haiwell(海为)HMI/CBOX/IPC MQTT 配置应用教程

第 9 页 共 20 页

Group Replication(组复制)和 Type and Networking(运行模式与网络)按默认设置即可。默认端

口号为 3306。

Page 10: Haiwell 海为 HMI/CBOX/IPC MQTT配置应用教程¼ˆ海为)HMI CBOX... Haiwell(海为)HMI/CBOX/IPCMQTT配置应用教程 目 录 一、搭建MQTT服务器 3 1.下载

www.haiwell.com Haiwell(海为)HMI/CBOX/IPC MQTT 配置应用教程

第 10 页 共 20 页

选择身份验证方式。第一种方式为强密码加密授权(推荐),第二种方式为传统授权方法(保留 MySQL5.x兼容性)。有一些客户端和程序还没有更新支持新授权方法,这时就需要选择传统授权方法。本文使

用的是第二种身份验证方式,配置完成后点击 Next。

接下来是为 root用户创建密码。下面还可以添加普通用户,一般使用 root用户即可。这个密码请务

必牢记,使用 root用户访问 MySQL服务必须用到这个密码。

Page 11: Haiwell 海为 HMI/CBOX/IPC MQTT配置应用教程¼ˆ海为)HMI CBOX... Haiwell(海为)HMI/CBOX/IPCMQTT配置应用教程 目 录 一、搭建MQTT服务器 3 1.下载

www.haiwell.com Haiwell(海为)HMI/CBOX/IPC MQTT 配置应用教程

第 11 页 共 20 页

将 MySQL设置为Windows服务,服务名称(Windows Service Name)可以自己设定,其它保持

默认设置即可。

点击 Excute执行配置。在配置完成后点击 Finish回到安装主程序。

Page 12: Haiwell 海为 HMI/CBOX/IPC MQTT配置应用教程¼ˆ海为)HMI CBOX... Haiwell(海为)HMI/CBOX/IPCMQTT配置应用教程 目 录 一、搭建MQTT服务器 3 1.下载

www.haiwell.com Haiwell(海为)HMI/CBOX/IPC MQTT 配置应用教程

第 12 页 共 20 页

点击 Finish,完成 MySQL的安装。

Page 13: Haiwell 海为 HMI/CBOX/IPC MQTT配置应用教程¼ˆ海为)HMI CBOX... Haiwell(海为)HMI/CBOX/IPCMQTT配置应用教程 目 录 一、搭建MQTT服务器 3 1.下载

www.haiwell.com Haiwell(海为)HMI/CBOX/IPC MQTT 配置应用教程

第 13 页 共 20 页

3. 验证

在安装完 MySQL后,在开始菜单找到 MySQL Command Line Client。执行命令行客户端后,会提

示输入密码,密码就是刚刚在配置过程中设置的 root用户密码。

成功连接会出现下面的窗口。

4. 开启远程访问权限

MySQL默认只允许本地 localhost登录,所以需要使用以下命令开启远程访问权限。

use mysql;CREATE USER ‘root’@‘%’ IDENTIFIED BY ‘你的密码’;GRANT ALL ON *.* TO ‘root’@‘%’;FLUSH PRIVILEGES;

通过执行命令“SELECT host, user from user;”,可以看到 root用户的 host变成了%,说明修改已经成功,

可以对 root用户进行远程连接了;

Page 14: Haiwell 海为 HMI/CBOX/IPC MQTT配置应用教程¼ˆ海为)HMI CBOX... Haiwell(海为)HMI/CBOX/IPCMQTT配置应用教程 目 录 一、搭建MQTT服务器 3 1.下载

www.haiwell.com Haiwell(海为)HMI/CBOX/IPC MQTT 配置应用教程

第 14 页 共 20 页

5. 远程访问数据库

远程访问数据库的可视化工具有很多,像 MySQL Workbench、Navicat、HeidiSQL 等。这里使用的

是 MySQL-Front作为例子。

打开 MySQL-Front -> 文件 -> 连接管理 -> 添加,在弹出的窗口填写 MySQL 服务器信息。主机填

写 MySQL服务器的主机 IP地址,端口默认为 3306。用户和密码为 MySQL数据库的 root用户和密码。

设置完之后点击确定,即可远程访问 MySQL数据库。

在这里我们需要建立一个新的数据库用于储存 HMI/CBOX/IPC上传的历史数据。右键点击主机 IP,选择新建 -> 数据库。在弹出的窗口输入名称,其余按默认设置即可。注意这里只能输入英文名称。

Page 15: Haiwell 海为 HMI/CBOX/IPC MQTT配置应用教程¼ˆ海为)HMI CBOX... Haiwell(海为)HMI/CBOX/IPCMQTT配置应用教程 目 录 一、搭建MQTT服务器 3 1.下载

www.haiwell.com Haiwell(海为)HMI/CBOX/IPC MQTT 配置应用教程

第 15 页 共 20 页

三、编写组态程序

1. 新建工程

打开海为组态软件 Haiwell SCADA Develop(2.0.11.0以上版本),新建工程,添加设备及变量。

2. 添加历史记录组

双击左边工程树的历史记录组,然后选择添加记录组。

在弹出的历史记录组编辑窗口添加通道变量,存储方式必须勾选远程存储。这里添加的变量为 V0、V1和 SM5。上报服务质量(QoS)有三种等级:

至多一次(QoS 0)- 发送者只发送一次消息;

至少一次(QoS 1)- 消息至少送达接收者一次,但也有可能会多发;

只有一次(QoS 2)- 保证消息只被接收一次。

远程标识对应数据库中的表格名称,上报标识对应数据库表格中的字段,这里注意必须使用英文字符。

MySQL数据库中无需提前建立表格及字段。

Page 16: Haiwell 海为 HMI/CBOX/IPC MQTT配置应用教程¼ˆ海为)HMI CBOX... Haiwell(海为)HMI/CBOX/IPCMQTT配置应用教程 目 录 一、搭建MQTT服务器 3 1.下载

www.haiwell.com Haiwell(海为)HMI/CBOX/IPC MQTT 配置应用教程

第 16 页 共 20 页

3. 服务器配置

双击左边工程树的数据中心进行 MQTT服务器配置。勾选启用,输入服务器地址,即为之前安装的

EMQ服务器 IP地址。EMQ服务器的默认端口为 1883。服务器项目标识可以使用随机生成的标识,也可

以自己进行命名,但是必须具有唯一性。上报验证的启用根据需求即可,这里启用了上报验证方便在接下

来进行验证。

4. 下载工程

完成服务器的配置后,做好画面,下载工程到 HMI上。

Page 17: Haiwell 海为 HMI/CBOX/IPC MQTT配置应用教程¼ˆ海为)HMI CBOX... Haiwell(海为)HMI/CBOX/IPCMQTT配置应用教程 目 录 一、搭建MQTT服务器 3 1.下载

www.haiwell.com Haiwell(海为)HMI/CBOX/IPC MQTT 配置应用教程

第 17 页 共 20 页

四、配置客户端

1. Haiwell ClientHaiwell Client是海为开发的数据库存储工具。首先从海为官网下载中心处获取 Haiwell Client客户端

软件http://www.haiwell.com/daruanjian/HaiwellClient.zip ,安装完打开Haiwell Client进行客户端的配置。

2. 配置 MQTT服务器

点击左上角的 MQTT服务器进行 MQTT服务器配置,与 Haiwell SCADA Develop中数据中心的服务

器配置类似,这里不再赘述。

3. 添加任务

点击 Haiwell Client右上角的添加任务进行 MySQL 数据库的配置。添加任务后点击设置进行任务设

置。

工程项目标识应与组态数据中心的服务器项目标识保持一致,记录组远程标识则为组态中历史记录组

的远程标识。数据库设置与通过 MySQL-front远程访问数据库的设置类似。主机填写 MySQL服务器的主

机 IP地址,端口默认为 3306。用户和密码为 MySQL数据库的 root用户和密码。数据库则选择此前在第

二步搭建 MySQL数据库中创建的 scada数据库。

Page 18: Haiwell 海为 HMI/CBOX/IPC MQTT配置应用教程¼ˆ海为)HMI CBOX... Haiwell(海为)HMI/CBOX/IPCMQTT配置应用教程 目 录 一、搭建MQTT服务器 3 1.下载

www.haiwell.com Haiwell(海为)HMI/CBOX/IPC MQTT 配置应用教程

第 18 页 共 20 页

4. 开始任务

添加完任务后,点击右下角的开始执行任务。如果任务成功执行,下方的日志窗口会提示“startsuccessfully!”。

Page 19: Haiwell 海为 HMI/CBOX/IPC MQTT配置应用教程¼ˆ海为)HMI CBOX... Haiwell(海为)HMI/CBOX/IPCMQTT配置应用教程 目 录 一、搭建MQTT服务器 3 1.下载

www.haiwell.com Haiwell(海为)HMI/CBOX/IPC MQTT 配置应用教程

第 19 页 共 20 页

五、验证

1. MQTT服务器

进入 EMQ服务器的Web管理控制台(Dashboard)。点击 Connections标签,可以在右边的窗口

看到有两个连接状态。Username(用户名)分别为 HWtest1和 HWtest2,分别为 Haiwell SCADA和 HaiwellClient设置的上报验证用户名。因此我们可以验证,HMI/CBOX/IPC和 Haiwell Client已经成功连接上了

MQTT服务器。

2. MySQL数据库

通过 MySQL-front远程访问 MySQL服务器,点开 scada 数据库。在这里可以看到,scada数据库已

经生成了一个名称为 test1的表格。双击 test1表格,并选择数据浏览器,这里可以看到 V0、V1和 SM5的数值已经存储到数据库并在不断更新。因此我们可以验证,HMI/CBOX/IPC的历史数据已经成功存储到

MySQL数据库。

Page 20: Haiwell 海为 HMI/CBOX/IPC MQTT配置应用教程¼ˆ海为)HMI CBOX... Haiwell(海为)HMI/CBOX/IPCMQTT配置应用教程 目 录 一、搭建MQTT服务器 3 1.下载

www.haiwell.com Haiwell(海为)HMI/CBOX/IPC MQTT 配置应用教程

第 20 页 共 20 页

六、附录

组网示意图

感谢您选用 Haiwell 产品,若您对我们的产品或服务有任何意见或建议,敬请告诉我们!

网址:www.haiwell.com Copyright © 2005厦门海为科技有限公司