FastBee文档 FastBee文档
  • 系统运行
  • 系统部署
  • Docker部署
  • 硬件设备接入
  • 视频设备接入
  • 硬件SDK说明
  • 小程序和App
  • 使用说明
  • 操作手册

    • 快速入门
    • 通用物模型
    • 产品管理
    • 设备管理
    • 场景联动
    • 视频监控
    • 固件开发
  • 其它

    • 平台主题
    • 物模型格式
    • 告警和场景格式
    • 消息流转
    • 使用TDengine
    • 常见问题
    • 相关文档
  • 物联网开发板
  • 智慧农业
  • 智能开关
  • 相关硬件

    • 硬件和开发板
商用授权
在线演示 (opens new window)
返回官网 (opens new window)
  • 系统运行
  • 系统部署
  • Docker部署
  • 硬件设备接入
  • 视频设备接入
  • 硬件SDK说明
  • 小程序和App
  • 使用说明
  • 操作手册

    • 快速入门
    • 通用物模型
    • 产品管理
    • 设备管理
    • 场景联动
    • 视频监控
    • 固件开发
  • 其它

    • 平台主题
    • 物模型格式
    • 告警和场景格式
    • 消息流转
    • 使用TDengine
    • 常见问题
    • 相关文档
  • 物联网开发板
  • 智慧农业
  • 智能开关
  • 相关硬件

    • 硬件和开发板
商用授权
在线演示 (opens new window)
返回官网 (opens new window)
  • 文档

    • 系统运行
      • 一、系统运行环境
      • 二、后端运行
      • 三、前端运行
      • 四、EMQX配置
        • HTTP认证
        • WebHook
        • 关闭匿名认证
        • 启用Http认证和WebHook插件
    • 系统部署
    • Docker部署
    • 硬件设备接入
    • 视频设备接入
    • 硬件SDK说明
    • 小程序和App
    • 使用说明
  • 操作手册

    • 快速入门
    • 通用物模型
    • 产品管理
    • 设备管理
    • 场景联动
    • 视频监控
    • 固件开发
  • 其他

    • 平台主题
    • 物模型格式
    • 告警和场景格式
    • 消息流转
    • 使用TDengine
    • 常见问题
    • 相关文档
目录

系统运行

# 一、系统运行环境

JDK = 1.8
Mysql = 5.7.0 
EMQX = 4.0
Redis >= 3.0
Maven >= 3.0
Node >= 12
TDengine = 2.4 (可选)
1
2
3
4
5
6
7

注意

运行环境很重要,低于该版本运行不了。JDK版本高于1.8缺少部分依赖,要单独安装。EMQX目前使用4.0版本,安装后需要配置HTTP认证和WebHook。


# 二、后端运行

  1. 创建FastBee数据库,字符集使用utf8或utf8mb4,导入项目中的 springboot/sql/wumei.sql 数据库脚本。(Linux中安装mysql,配置大小写敏感,在 /etc/my.cnf 添加 lower_case_table_names=1 重启MYSQL服务。)
  2. 开发工具IDEA打开springboot文件夹,会自动安装Maven依赖,等待安装完成,速度取决于网络。
  3. 修改数据库连接,文件位于: springboot/wumei-admin/src/main/resources/application-druid.yml
# 数据源配置
spring:
    datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        driverClassName: com.mysql.cj.jdbc.Driver
        druid:
            # 主库数据源
            master:
                url: 数据库地址
                username: 数据库账号
                password: 数据库密码
1
2
3
4
5
6
7
8
9
10
11
  1. 服务配置,主要是mqtt/emqx和redis配置,注意配置文件的格式,缩进一定要对齐。文件位于:springboot/wumei-admin/src/main/resources/application.yml。
  ## 文件上传路径必须以uploadPath结尾,示例(Windows配置D:/uploadPath,Linux配置 /var/data/java/uploadPath)
  profile: /var/data/java/uploadPath
 
  ## redis 配置
  redis:
    # 地址
    host: localhost
    # 端口,默认为6379
    port: 6379
    # 数据库索引
    database: 0
    # 密码
    password: wumei-smart
  
  # mqtt 配置
  mqtt:
    host-url: tcp://localhost:1883             # mqtt连接tcp地址
    client-id: ${random.int}                   # 客户端Id,不能相同,采用随机数 ${random.value}
    username: wumei-smart                      # 账号,服务端Mqtt客户端自认证使用
    password: wumei-smart                      # 密码,服务端Mqtt客户端自认证使用
    default-topic: test                        # 默认主题
    timeout: 30                                # 超时时间
    keepalive: 30                              # 保持连接
    clearSession: true                         # 清除会话(设置为false,断开连接,重连后使用原来的会话 保留订阅的主题,能接收离线期间的消息)
  task:
    execution:
      pool:
        core-size: 10         # 最小连接数
        max-size: 30          # 最大连接数
        queue-capacity: 3000  # 最大容量
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
  1. 日志路径配置,文件位于:springboot/wumei-admin/src/main/resources/logback.xml
# 示例( Windows配置D:/logs,Linux配置 /var/data/java/logs)
<property name="log.path" value="/var/data/java/logs" />
1
2
  1. 运行项目 WumeiSmartApplication.java ,出现下图表示启动成功。
                               _                            _   
                              (_)                          | |             
__      ___   _ _ __ ___   ___ _   ___ _ __ ___   __ _ _ __| |_            
\ \ /\ / / | | | '_ ` _ \ / _ \ | / __| '_ ` _ \ / _` | '__| __|     
 \ V  V /| |_| | | | | | |  __/ | \__ \ | | | | | (_| | |  | |_         
  \_/\_/  \__,_|_| |_| |_|\___|_| |___/_| |_| |_|\__,_|_|   \__|     

 ----------开源物联网平台----------
 =========wumei-smart启动成功=========
1
2
3
4
5
6
7
8
9

# 三、前端运行

开发工具Visual Studio Code 打开项目中vue目录

  1. 修改根目录的 .env.development 文件,后端接口默认8080端口,EMQX接口默认8081端口,EMQX消息服务器地址使用ws协议对应8083端口,使用wss协议建议配置代理访问8083端口。
# 后端接口地址
VUE_APP_SERVER_API_URL = 'http://localhost:8080'

# EMQX接口地址和账号(EMQX安装默认账号密码为admin public)
VUE_APP_EMQX_API_URL = 'http://localhost:8081'
VUE_APP_EMQX_API_USER_NAME = 'admin'
VUE_APP_EMQX_API_PASSWORD = 'public'

# EMQX消息服务器连接地址
VUE_APP_EMQX_SERVER_URL = 'ws://localhost:8083/mqtt'

# 百度地图AK
VUE_APP_BAI_DU_AK = 'nAtaBg9FYzav6c8P9rXXXXXX'
1
2
3
4
5
6
7
8
9
10
11
12
13

提示

百度地图AK到 百度地图开放平台 申请。

  1. 修改完成后,开始安装依赖,可以通过重新指定 registry 来解决 npm 安装速度慢的问题。
# 安装依赖
npm install
npm install --registry=https://registry.npm.taobao.org

# 本地开发 启动项目
npm run dev
1
2
3
4
5
6

提示

  • 强烈建议不要用直接使用 cnpm 安装,会有各种诡异的 bug
  • NPM是7.0以上版本,使用 npm install --legacy-peer-deps 命令安装,或者重新安装NPM7.0以下版本
  1. 打开浏览器,输入:http://localhost:80 默认账户/密码 admin/admin123 。若能正确展示登录页面,并能成功登录,菜单及页面展示正常,则表明环境搭建成功。

# 四、EMQX配置

提示

  • Http认证和webhook配置的地址为后端接口地址,确保能正常访问。
  • 启用Http认证和WebHook插件,该步骤可以在控制台里面手动启动

# HTTP认证

系统使用EMQX的HTTP认证插件,实现自定义认证逻辑。配置文件位于:etc/plugins/emqx_auth_http.conf

## 修改认证请求中的请求地址,其他保持默认
auth.http.auth_req = http://localhost:8080/iot/tool/mqtt/auth
auth.http.auth_req.method = post
auth.http.auth_req.params = clientid=%c,username=%u,password=%P

## 注释超级用户的请求地址、请求方式和参数
# auth.http.super_req = http://127.0.0.1:8991/mqtt/superuser 
# auth.http.super_req.method = post                                                                    
# auth.http.super_req.params = clientid=%c,username=%u

## 注释ACL鉴权的请求地址、请求方法和参数                                    
# auth.http.acl_req = http://127.0.0.1:8991/mqtt/acl                                                             
# auth.http.acl_req.method = get                                                                                  
# auth.http.acl_req.params = access=%A,username=%u,clientid=%c,ipaddr=%a,topic=%t,mountpoint=%m
1
2
3
4
5
6
7
8
9
10
11
12
13
14

认证请求地址为后端接口 http://localhost:8080/iot/tool/mqtt/auth ,后端运行在本地使用localhost或本机IP,端口默认8080,如果做了修改或者代理,需要对应修改。超级用户认证和ACL鉴权用不到,但是需要注释掉,不然会占用几秒的认证时间。

# WebHook

系统使用EMQX的WebHook插件,实现设备上下线和IP定位功能。配置文件位于:etc/plugins/emqx_web_hook.conf

## 修改webhook地址
web.hook.api.url = http://localhost:8080/iot/tool/mqtt/webhook

# web.hook.rule.client.connect.1       = {"action": "on_client_connect"}
# web.hook.rule.client.connack.1       = {"action": "on_client_connack"}
web.hook.rule.client.connected.1     = {"action": "on_client_connected"}
web.hook.rule.client.disconnected.1  = {"action": "on_client_disconnected"}
# web.hook.rule.client.subscribe.1     = {"action": "on_client_subscribe"}
# web.hook.rule.client.unsubscribe.1   = {"action": "on_client_unsubscribe"}
# web.hook.rule.session.subscribed.1   = {"action": "on_session_subscribed"}
# web.hook.rule.session.unsubscribed.1 = {"action": "on_session_unsubscribed"}
# web.hook.rule.session.terminated.1   = {"action": "on_session_terminated"}
# web.hook.rule.message.publish.1      = {"action": "on_message_publish"}
# web.hook.rule.message.delivered.1    = {"action": "on_message_delivered"}
# web.hook.rule.message.acked.1        = {"action": "on_message_acked"}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

WebHook地址为后端接口 http://localhost:8080/iot/tool/mqtt/webhook,后端运行在本地使用localhost或本机IP,端口默认8080,如果做了修改或者代理,需要对应修改。启用 web.hook.rule.client.connected.1 和 web.hook.rule.client.disconnected.1 其他项注释掉,节省后端资源。

# 关闭匿名认证

匿名认证不安全,同时会影响认证流程,需要关闭。配置文件位于: etc/emqx.conf ,文件比较大,大概位于第447行。

## Value: true | false
allow_anonymous = false
1
2

# 启用Http认证和WebHook插件

在 EMQX 启动时就默认启动插件,直接在 data/loaded_plugins 添加需要启动的插件名称 {emqx_auth_http,true}. {emqx_web_hook,true}. {emqx_delayed_publish ,true}. 。安装方式不同配置文件可能在 /var/lib/emqx/loaded_plugins 位置。emqx所有配置修改完后,重启emqx。

{emqx_management,true}.
{emqx_recon,true}.
{emqx_retainer,true}.
{emqx_dashboard,true}.
{emqx_rule_engine,true}.
{emqx_bridge_mqtt,false}.
{emqx_auth_http,true}.
{emqx_web_hook,true}.
{emqx_delayed_publish ,true}.
1
2
3
4
5
6
7
8
9
上次更新: 2023/02/19, 02:16:59
系统部署

系统部署→

Theme by Vdoing | Copyright © 2021-2023 蜂信物联 | FastBee | AGPL-3.0 License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式