跳至主要內容

常见问题

fastbee2024年9月27日大约 9 分钟

提示

遇到未解决的问题或者Bug,请提交 Issue

1. 后端报错提示找不到数据库表

Mysql版本不能低于5.7,建议使用5.7版本。Linux中安装数据库,配置大小写敏感,在 /etc/my.cnf 添加 lower_case_table_names=1 重启MYSQL服务。

2. 后端报错提示找不到包

项目JDK使用1.8版本,如果安装了其他高版本,简单处理就直接卸载其他版本,或者自己安装缺少的依赖。

3. 后端运行报错的其他问题

项目依赖Redis和Emqx,确保正确配置Redis连接地址和密码;Emqx正确配置了Http认证地址和Webhook地址,后端正确配置了Emqx的连接地址。

4. 前端安装包的时候报错 npm ERR! code ERESOLVE

npm7.X版本的检查比之前版本严格,可以使用 npm i --legacy-peer-depsnpx -p npm@6 npm i --legacy-peer-deps 命令安装。或者安装npm6.X版本。

5. 前端install时候报错 syscall mkdirnpm ERR

删除C:\Users{账户}\下的.npmrc文件即可。

6. 前端项目打包时提示 Entrypoint size limit 的警告

问题:vue-cli打包项目时警告: entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (244 KiB). This can impact web performance.
解决:直接在vue.config.js文件中配置:

7. 获取到实时监测数据,设备首页和运行状态不显示监测到的数据

实时监测数据是用来实时查看的,不会存储到数据库,所以对应的监测值没有改变。可以通过设备端定时上报属性(监测数据是属性的一种),存储到数据库;或者系统中设置定时上报属性功能。

8.固定大屏添加方式

上级菜单:主类目
菜单类型:目录
菜单图标:monitor-a
菜单名称:大屏展示
是否外链:是
显示排序:5
路由地址:https://iot.fastbee.cn/bigScreen   https://iot.fastbee.cn改为自己服务器的地址
显示状态:显示
菜单状态:正常

9.设备激活/设备状态

设备有 未激活 在线离线 禁用 几种状态,有三种方式可以更改设备状态:

  1. 设备认证,认证成功后状态变更为在线
  2. 发布设备信息主题,主题消息内容中状态固定为3=在线
# 描述:1.设备上电后发布设备信息; 2.设备接收到设备信息指令后发布设备信息
# rssi             设备信号(信号极好[-55 0],信号好[-70 -55],信号一般[-85 -70],信号差[-100 -85])
# status           设备状态,固定为3,表示在线
# firmwareVersion  固件版本
# userId           可选,用户的ID,可设置为admin用户ID为1,仅Wifi类设备需要上传用户ID,配网时再分配设备给用户。
# longitude        可选,经度,使用设备定位时需要上传
# latitude         可选,纬度,使用设备定位时需要上传
# summary          可选,摘要,设备的配置信息等,json格式,对象可自定义
{
     "rssi": -43,
     "firmwareVersion": 1.2,
     "status": 3,
     "userId": "1", 
     "longitude": 0,
     "latitude": 0,
     "summary": {}
}
  1. 设备断电或者离线后,状态更新为离线。

设备离线需要超过设备端配置的保活/心跳时间的1.5倍

  • 例如:设备端配置了10S的 keep-alive 值,则设备的离线时间是10 X 1.5 = 15s
  • 注意:设备端配置的保活时间要小于系统配置的保活时间,系统默认配置70s,则设备端配置的保活时间不能大于60S

10.设备配网 / 扫码添加设备

提示

有两种情况:第一种是系统不存在该设备,配网或扫码后会新建设备到用户账号下;第二种是系统已存在该设备,配网或扫码后是关联设备到用户账号下。

  1. 设备配网:通过配网可以把wifi信息配置到设备,以及新建设备到用户账号下。目前H5、微信小程序、安卓和IOS都支持单设备配网,多设备配网只有微信小程序支持。单设备配网时用户手动切换手机wifi为设备热点,然后进行配网。

  2. 扫码添加设备:用户通过扫码新建设备到自己账号下。系统中的每个设备都有二维码,在设备详情摘要中查看。二维码固定为下面JSON格式:

# type固定值为1,代表扫码添加设备
# typedeviceNumberproductId 为必填项,productName为可选项
{
	"type": 1,
	"deviceNumber": "D888666",
	"productId": 5,
	"productName": "智能插座"
}

11.多租户说明

系统默认包含五种类型账号:超级管理员,管理员、游客、租户、用户,通过角色区分。默认注册的账号为普通用户,可以重新给用户分配角色。

  1. 超级管理员:admin账号,且只有一个。可以管理系统所有数据。
  2. 管理员:可以管理系统所有数据,具体权限可自定义。
  3. 游客:用于项目的演示,相对于管理员,缺少数据删除的权限和部分功能权限。
  4. 租户:可以查询系统定义的产品分类和通用物模型,以及管理自己的产品、产品分类、通用物模型、产品固件、设备分组、场景联动和产品下的所有设备。
  5. 用户:管理自己的分组、设备和场景联动,以及其他用户分享给自己的设备。

12.系统账号

# 后台添加用户:默认密码为123456

管理员       admin     admin123
游客账号     fastbee     123456
租户T1       fastbee-t1  123456
用户U1       fastbee-u1  123456

13.数据监控账号

# 文件位于 fastbee\springboot\fastbee-admin\src\main\resources\application-druid.yml
# 数据监控的账号密码配置,默认fastbee

statViewServlet:
    enabled: true
    # 设置白名单,不填则允许所有访问
    allow:
    url-pattern: /druid/*
    # 控制台管理用户名和密码
    login-username: fastbee
    login-password: fastbee

14.服务器配置推荐

推荐4核8G,100G硬盘以上服务器配置,这个配置一般阿里云、腾讯云等云服务器都有对应优惠活动。

15.名词解释

  1. 物模型:物模型是产品或设备的数据模型。包括属性、功能和事件。属性指设备的状态、配置和监测数据,例如温湿度;监测数据只能读取,配置和状态可以读取和写入。功能用于执行某项特定任务,例如打开风扇,可读取和写入。事件是设备主动上报给系统,例如温度过高,设备异常等。

  2. 设备影子:用于缓存设备的属性和功能。设备离线时可以控制设备,设备上线后系统把离线控制的属性和功能下发给设备,设备作出响应。

  3. 场景联动:一种自动化业务逻辑的可视化编程方式。例如设置晚上回家这个场景,门锁一打开,就把电视、饮水机和空调打开。

16.Maven插件配置

# 文件位于 fastbee\springboot\pom.xml
# 配置bootclasspath项,windows使用`;` ,linux使用 `:`

<plugins>
  <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.1</version>
      <configuration>
          <source>${java.version}</source>
          <target>${java.version}</target>
          <encoding>${project.build.sourceEncoding}</encoding>
          <compilerArguments>
              <!-- rt.jar和jce.jar中间的分隔符,windows为“;”,linux为“:” -->
              <bootclasspath>${java.home}/lib/rt.jar;${java.home}/lib/jce.jar</bootclasspath>
          </compilerArguments>
      </configuration>
  </plugin>
</plugins>

17.日志文件配置

# 文件位于 fastbee\springboot\fastbee-admin\src\main\resources\lockback.xml

<!-- 日志存放路径 -->
<property name="log.path" value="/logs" />
<!-- 日志输出格式 -->
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />

18.文件上传路径配置

# 文件位于 fastbee\springboot\fastbee-admin\src\main\resources\application.yml
# 文件路径,以uploadPath结尾 示例( Windows配置D:/uploadPath,Linux配置 /var/data/javva/uploadPath)

profile: /uploadPath

19.实时监测没有数据

实时监测消息是用户端和设备直接交互,不会存储数据。

20.mqtt客户端认证

服务端、web端、手机端和设备端都是一个mqtt客户端,需要一个账号密码来连接EMQX。系统使用EMQX的HTTP认证插件,约定clientId的起始部分为他的来源,如服务端的clientId以 server- 开头,前端以 web- 开头,移动端的以 phone- 开头,设备端根据加密方式以 SE 开头。

21.EMQX钩子实现设备上线和下线

22. 影子模式和在线模式区别