基于MQTT的终端连接交互系统

zyl ca13644f70 feat: 修改JwtIgnore文件位置 2 gadi atpakaļ
CodeGenerator_ c8d8c96030 feat: 新增swt 2 gadi atpakaļ
_mvn e486e05d0d Revert "Initial commit" 2 gadi atpakaļ
qhiot-common ca13644f70 feat: 修改JwtIgnore文件位置 2 gadi atpakaļ
qhiot-gateway 08896f9c12 优化gateway模块 2 gadi atpakaļ
qhiot-link-data-server ca13644f70 feat: 修改JwtIgnore文件位置 2 gadi atpakaļ
qhiot-link-modules 935b06eaff fix:修改link-api代码 2 gadi atpakaļ
qhiot-link-transport-server 49c04d952d fix:优化消息订阅及分发 2 gadi atpakaļ
qhiot-spring-test c4c85ff945 fix:修改测试代码 2 gadi atpakaļ
qhiot-web f041578b68 fix:修改common-log模块 2 gadi atpakaļ
.gitignore d07a8e4c59 修改git忽略配置 2 gadi atpakaļ
README.md e486e05d0d Revert "Initial commit" 2 gadi atpakaļ
mvnw e486e05d0d Revert "Initial commit" 2 gadi atpakaļ
mvnw.cmd e486e05d0d Revert "Initial commit" 2 gadi atpakaļ
pom.xml 6458f236e0 fix:修改pom文件 2 gadi atpakaļ

README.md

SEM(Smart Environment Management)开发框架使用说明书

前言

开发环境

  • Servlet 3.0+
  • JDK 1.8+
  • Tomcat 9+
  • Elasticsearch 5.5+
  • redis 5.5+
  • influxdb 1.7 ~ 1.8
  • mysql 5.7+
  • Kafka 2.7+
  • zookeeper 3.4+
  • Maven

技术点

  • 服务器端

    • Velocity*
    • Spring Boot
    • Spring Cloud
    • Spring MVC
    • MyBatis
    • Kafka
    • MQTT
  • 数据库

    • MySQL/MariaDB
    • Redis*
    • influxdb
  • 第三方软件/中间件

    • Redis
    • Kafka 2.7+
    • nocas
    • Zookeeper
    • grafana
    • kapacitor
    • influxdb
    • 阿里 oss文件系统 (可替换)
    • emqx MQTT服务器 (可替换)

Tip: 标记为 * 的项不为必要项

开发工具

EclipseIntelliJ IDEA,建议使用 IntelliJ IDEA

框架结构

本框架采用模块化开发(Web 模块化使用 Servlet3.0+ 特性 Web-Fragment)

主要模块划分

基础模块 qhiot-core

该模块内集成了大量的工具类。

WEB模块 qhiot-webcore

该模块为 Web 公共模块,完成了基础配置的封装和初始化。

WEB模块 qhiot-web

该模块为 Web 应用的入口,其余各模块都将按需集成到该应用内。

3 框架使用

注意事项

Oss(文件存储系统的使用)

pom.xml

    <dependency>
        <groupId>com.qhiot</groupId>
        <artifactId>qhiot-oss</artifactId>
        <version>1.1.1</version>
    </dependency>

代码示例

//存储文件 参数 归属租户, 子路径 , 
String fileKey = ossFileStoreService.saveFile(getTargetTenantId(), "sysTabPicture", sysTabPhoto);

MQTT客户端要点

  • MQTT 服务器连接连接
  • MQTT动态订阅/发布
  • 定义 json对象,描述消息通道和消息体结构,以及是否有回应通道、回应消息体是什么