Skip to content

Commit

Permalink
优化文档内容
Browse files Browse the repository at this point in the history
  • Loading branch information
microrain authored and microrain committed Feb 11, 2024
1 parent 4976863 commit db5e4f5
Show file tree
Hide file tree
Showing 10 changed files with 91 additions and 144 deletions.
13 changes: 9 additions & 4 deletions develop/base/introduce.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
# 系统介绍
---
sidebar_position: 0
---

# 程序说明

## 关于SagooIOT

SagooIOT基于GoFrame2.1,Vue3+Element plus 开发的一体化基础的物联网平台系统。
SagooIOT基于GoFrame,Vue3+Element plus 开发的一体化基础的物联网平台系统。

## 技术选型

Expand Down Expand Up @@ -184,7 +188,8 @@ start|stop|restart|status|tail

## 其它问题

### 如果在macOS下遇到 Warning :`IOMasterPort`
**1,如果在macOS下遇到 Warning :`IOMasterPort`**

```
warning: ‘IOMasterPort‘ is deprecated: first deprecated in macOS 12.0 [-Wdeprecated-declarations]
```
Expand All @@ -198,7 +203,7 @@ warning: ‘IOMasterPort‘ is deprecated: first deprecated in macOS 12.0 [-Wdep
go env -w CGO_ENABLED="0"
```

### 如果采用HTTPS方式时SSE不工作,需要如下配置:
** 2,如果采用HTTPS方式时SSE不工作,需要如下配置:**

```Nginx
proxy_set_header Connection '';
Expand Down
17 changes: 9 additions & 8 deletions develop/compile/environment.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,24 +15,25 @@ sidebar_position: 0

## 开发环境

需要Go1.16以上版本

**推荐使用Go1.20.8**

注意GO的版本最高使用到Go1.20.8,不要使用Go1.20.8以上版本,否则会出现编译错误。
| | SagooIoT V1.x 版本 | SagooIoT V2.x版本 |
| ------- | ------------------ | -------------------------------- |
| GO | v1.6.0 - v1.20.8 | v1.21.5 以上,可以使用最新版的go |
| GoFrame | v2.2.0 | v2.6.x 最新版 |

GoFrame V2.2.0
GoFrame CLI Tool v2.2.0
详见 https://goframe.org

:::tip 提示
开发过程中注意GoFrame的版本,不同版本的CLI工具可能会有不同的命令
:::

推荐使用GoLand开发工具开发
推荐使用GoLand开发工具开发,方便调试和代码管理

需要在go.mod中引用

```go
require (
github.com/gogf/gf/v2 v2.2.0
github.com/gogf/gf/v2 v2.6.1
)
```

Expand Down
52 changes: 30 additions & 22 deletions develop/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ sidebar_position: 0
:::tip 介绍
SagooIOT是一个基于golang开发的轻量级的物联网平台。支持跨平台的物联网接入及管理方案,平台实现了物联网开发相关的典型功能,基于这些功能可以快速的搭建起一整套的IOT相关的业务系统。

* 基于全新Go Frame 2.0+Vue3+Element Plus开发的全栈前后端分离的管理系统
* 基于全新Go Frame 2.6.x + Vue3+Element Plus开发的全栈前后端分离的管理系统
* 前端采用vue-next-admin 、Vue、Element UI。
:::

Expand Down Expand Up @@ -39,6 +39,10 @@ SagooIOT是一个基于golang开发的轻量级的物联网平台。支持跨平
│ └── service
├── manifest
├── resource
├── module
├── network
├── pkg
├── plugins
├── utility
├── go.mod
└── main.go
Expand All @@ -47,24 +51,28 @@ SagooIOT是一个基于golang开发的轻量级的物联网平台。支持跨平

## 目录说明

| 目录/文件名称 | 说明 | 描述 |
| :-------------- | :------- | :----------------------------------------------------------- |
| `api` | 对外接口 | 对外提供服务的输入/输出数据结构定义。考虑到版本管理需要,往往以`api/v1...`存在。 |
| `hack` | 工具脚本 | 存放项目开发工具、脚本等内容。例如,`CLI`工具的配置,各种`shell/bat`脚本等文件。 |
| `internal` | 内部逻辑 | 业务逻辑存放目录。通过`Golang internal`特性对外部隐藏可见性。 |
| ` - cmd` | 入口指令 | 命令行管理目录。可以管理维护多个命令行。 |
| ` - consts` | 常量定义 | 项目所有常量定义。 |
| ` - controller` | 接口处理 | 接收/解析用户输入参数的入口/接口层。 |
| ` - dao` | 数据访问 | 数据访问对象,这是一层抽象对象,用于和底层数据库交互,仅包含最基础的 `CURD` 方法 |
| ` - logic` | 业务封装 | 业务逻辑封装管理,特定的业务逻辑实现和封装。往往是项目中最复杂的部分。 |
| ` - model` | 结构模型 | 数据结构管理模块,管理数据实体对象,以及输入与输出数据结构定义。 |
| ` - do` | 领域对象 | 用于`dao`数据操作中业务模型与实例模型转换,由工具维护,用户不能修改。 |
| ` - entity` | 数据模型 | 数据模型是模型与数据集合的一对一关系,由工具维护,用户不能修改。 |
| ` - service` | 业务接口 | 用于业务模块解耦的接口定义层。具体的接口实现在`logic`中进行注入。 |
| `manifest` | 交付清单 | 包含程序编译、部署、运行、配置的文件。常见内容如下: |
| ` - config` | 配置管理 | 配置文件存放目录。 |
| ` - docker` | 镜像文件 | `Docker`镜像相关依赖文件,脚本文件等等。 |
| ` - deploy` | 部署文件 | 部署相关的文件。默认提供了`Kubernetes`集群化部署的`Yaml`模板,通过`kustomize`管理。 |
| `resource` | 静态资源 | 静态资源文件。这些文件往往可以通过 资源打包/镜像编译 的形式注入到发布文件中。 |
| `go.mod` | 依赖管理 | 使用`Go Module`包管理的依赖描述文件。 |
| `main.go` | 入口文件 | 程序入口文件。 |
| 目录/文件名称 | 说明 | 描述 |
| :-------------- |:-------|:---------------------------------------------------------|
| `api` | 对外接口 | 对外提供服务的输入/输出数据结构定义。考虑到版本管理需要,往往以`api/v1...`存在。 |
| `hack` | 工具脚本 | 存放项目开发工具、脚本等内容。例如,`CLI`工具的配置,各种`shell/bat`脚本等文件。 |
| `internal` | 内部逻辑 | 业务逻辑存放目录。通过`Golang internal`特性对外部隐藏可见性。 |
| ` - cmd` | 入口指令 | 命令行管理目录。可以管理维护多个命令行。 |
| ` - consts` | 常量定义 | 项目所有常量定义。 |
| ` - controller` | 接口处理 | 接收/解析用户输入参数的入口/接口层。 |
| ` - dao` | 数据访问 | 数据访问对象,这是一层抽象对象,用于和底层数据库交互,仅包含最基础的 `CURD` 方法 |
| ` - logic` | 业务封装 | 业务逻辑封装管理,特定的业务逻辑实现和封装。往往是项目中最复杂的部分。 |
| ` - model` | 结构模型 | 数据结构管理模块,管理数据实体对象,以及输入与输出数据结构定义。 |
| ` - do` | 领域对象 | 用于`dao`数据操作中业务模型与实例模型转换,由工具维护,用户不能修改。 |
| ` - entity` | 数据模型 | 数据模型是模型与数据集合的一对一关系,由工具维护,用户不能修改。 |
| ` - service` | 业务接口 | 用于业务模块解耦的接口定义层。具体的接口实现在`logic`中进行注入。 |
| `manifest` | 交付清单 | 包含程序编译、部署、运行、配置的文件。常见内容如下: |
| ` - config` | 配置管理 | 配置文件存放目录。 |
| ` - docker` | 镜像文件 | `Docker`镜像相关依赖文件,脚本文件等等。 |
| ` - deploy` | 部署文件 | 部署相关的文件。默认提供了`Kubernetes`集群化部署的`Yaml`模板,通过`kustomize`管理。 |
| `resource` | 静态资源 | 静态资源文件。这些文件往往可以通过 资源打包/镜像编译 的形式注入到发布文件中。 |
| `module` | 独立功能模块 | 一些独立的功能可以放在这个模块。 |
| `network` | 网络处理 | 网络处理模块,包括tcp,udp等 |
| `pkg` | 公共处理 | 系统中常用的功能进行统一的封装。 |
| `plugins` | 插件目录 | 插件编译后所在这个目录下 |
| `go.mod` | 依赖管理 | 使用`Go Module`包管理的依赖描述文件。 |
| `main.go` | 入口文件 | 程序入口文件。 |
6 changes: 3 additions & 3 deletions docs/base/concept/noun.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,19 +93,19 @@ sidebar_position: 0

不直接连接物联网平台,而是作为网关的子设备,由网关代理连接物联网平台

## 上行通信:
## 上行通信

- 指物联网设备向物联网平台发送数据的过程。
- 在该过程中,设备使用一定的通信协议(如MQTT、CoAP等)与物联网平台建立起连接,并通过该连接将设备采集到的数据或者状态信息等传输到物联网平台。
- 具体来说,设备会将采集到的数据打包成消息的形式,然后使用预先定义好的Topic和Payload发布到物联网平台,物联网平台再根据不同的Topic对这些消息进行分发和处理。同时,在物联网平台的支持下,设备还可以进行OTA(远程升级)等操作,以便实现远程管理和维护

## 下行通信:
## 下行通信

- 通过平台端的下发指令接口,将平台端的指令下发到设备端。实现对设备的控制

## SagooMQTT 协议

`SagooMQTT 协议``sagoo`平台默认的消息协议,详细内容参见[Sagoo Mqtt协议介绍](/develop/protocol/mqtt.md)
`SagooMQTT 协议``sagoo`平台默认的消息协议,详细内容参见[Sagoo Mqtt协议介绍](/develop/protocol/mqtt)



27 changes: 13 additions & 14 deletions docs/install/steps.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ sidebar_position: 2
---
# 安装过程

## 基础环境安装
SagooIOT基础环境安装包括以下几个部分:

1. Redis 7.0.4 【[官方安装文档](https://redis.io/docs/getting-started/installation/)
Expand All @@ -17,11 +16,11 @@ SagooIOT基础环境安装包括以下几个部分:
5. MySQL 5.7 或 PostgreSQL 13.4


### 1. 安装redis
## 安装redis

下面是在 Linux 上安装 Redis 7.x 的详细步骤:

1.1 升级系统并安装必要的软件包:
1 升级系统并安装必要的软件包:

```shell
sudo apt-get update
Expand All @@ -30,47 +29,47 @@ SagooIOT基础环境安装包括以下几个部分:
```


1.2 下载 Redis 源代码:
2 下载 Redis 源代码:

```shell
wget http://download.redis.io/releases/redis-7.0.12.tar.gz

```


1.3 解压缩源代码:
3 解压缩源代码:

```shell
tar xzf redis-7.0.12.tar.gz
cd redis-7.0.12
```


1.4 编译和安装 Redis:
4 编译和安装 Redis:
```shell
make
sudo make install
```

1.5 创建 Redis 配置文件目录:
5 创建 Redis 配置文件目录:

```shell
sudo mkdir /etc/redis
sudo cp redis.conf /etc/redis
```

1.6 修改 Redis 配置文件:
6 修改 Redis 配置文件:

```shell
sudo nano /etc/redis/redis.conf

```
1.7 启动 Redis 服务:
7 启动 Redis 服务:
```shell
redis-server /etc/redis/redis.conf

```
1.8 测试 Redis 连接:
8 测试 Redis 连接:

```shell
redis-cli ping
Expand All @@ -83,7 +82,7 @@ SagooIOT基础环境安装包括以下几个部分:

请确保您有 root 权限,并在每一步操作前确保系统已经升级到最新版本。

### 2. 安装TDengine
## 安装TDengine

1. 官网地址:` https://www.taosdata.com/`

Expand All @@ -110,7 +109,7 @@ SagooIOT基础环境安装包括以下几个部分:
详细的安装过程请看Tdengine的官网说明:[官网安装手册](https://docs.taosdata.com/get-started/package/)


### 3. 安装EMQX
## 安装EMQX

1. 官网地址:` https://www.emqx.com/zh`

Expand All @@ -129,7 +128,7 @@ SagooIOT基础环境安装包括以下几个部分:
详细的安装过程请看EMQX的官网说明:[官网安装手册](https://www.emqx.io/docs/zh/v5.0/deploy/install.html)


### 4. 安装Nginx
## 安装Nginx

1. 官网地址:`http://nginx.org/en/download.html`

Expand Down Expand Up @@ -157,7 +156,7 @@ SagooIOT基础环境安装包括以下几个部分:

详细的安装过程请看 [Nginx安装教程](https://www.runoob.com/linux/nginx-install-setup.html)

### 5. 安装MySQL
## 安装MySQL

1. 官网地址: `https://dev.mysql.com/downloads/mysql/`

Expand Down
23 changes: 12 additions & 11 deletions docs/iot/operate/ota.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,17 +39,18 @@ HTTPS协议下载:可以包括一个或多个文件,单个文件最大为1,0
![添加升级包](../imgs/operate/add.png)


| 参数名称 | 描述 |
| -------------- |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 升级包类型 | 必选单选框,是对类型进行定义。目前有整包和差分两种类型。<br />整包升级包包含完整的升级文件,直接推送给设备进行升级。<br />差分升级包仅包含新版本与之前版本的不同之处,<br/>仅发送差异部分至设备,设备进行差分还原后再升级,有效减少资源占用和流量消耗。 |
| 升级包名称 | 必填输入框,是对升级包名称进行定义。 |
| 所属产品 | 必填下拉框,是对所属产品进行定义。 |
| 升级包模块 | 必选下拉框,是对升级包模块进行定义。 |
| 升级包版本号 | 必填输入框,是对升级包版本号进行定义。格式为 xxx.xxx.xxx 其中xxx为数字,第一个为大版本号,第二个为小版本号|
| 算法签名 | 必选下拉框,是对算法签名进行定义,支持MD5和SHA256算法。 |
| 选择升级包 | 选择上传的升级包,支持的格式有`.bin``.dav``.tar``.gz``.zip`、<br/>`.gzip``.apk``.tar.gz``.tar.xz``.pack`|
| 升级包是否验证 | 必选单选框,是对升级包是否验证进行定义。 |
| 升级包描述 | 非必填输入框,是对当前新增的升级包进行描述。 |
| 参数名称 | 描述 |
|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 升级包类型 | 必选单选框,是对类型进行定义。目前有整包和差分两种类型。<br />整包升级包包含完整的升级文件,直接推送给设备进行升级。<br />差分升级包仅包含新版本与之前版本的不同之处,<br/>仅发送差异部分至设备,设备进行差分还原后再升级,有效减少资源占用和流量消耗。 |
| 升级包名称 | 必填输入框,是对升级包名称进行定义。 |
| 所属产品 | 必填下拉框,是对所属产品进行定义。 |
| 升级包模块 | 必选下拉框,是对升级包模块进行定义。 |
| 升级包版本号 | 必填输入框,是对升级包版本号进行定义。格式为 xxx.xxx.xxx 其中xxx为数字,第一个为大版本号,第二个为小版本号|
| 算法签名 | 必选下拉框,是对算法签名进行定义,支持MD5和SHA256算法。 |
| 选择升级包 | 选择上传的升级包,支持的格式有`.bin``.dav``.tar``.gz``.zip`、<br/>`.gzip``.apk``.tar.gz``.tar.xz``.pack`|
| 升级包是否验证 | 必选单选框,是对升级包是否验证进行定义。选择是否在批量升级前,使用少量测试设备对升级包进行验证。是:必须进行验证,验证通过后,才能进行批量升级。否:无需验证,直接进行批量升级。 |
| 升级包描述 | 非必填输入框,是对当前新增的升级包进行描述。 |
| 推送给设备的自定义信息 | 添加该升级包完成,并创建升级任务后,物联网平台向设备推送升级通知时,会下发该自定义信息给设备。自定义信息的长度不超过4096个字符,内容和格式没有限制。添加升级包成功后,可在升级包详情页面的升级包信息页签,单击编辑,修改推送给设备的自定义信息。 |


### **升级包验证**
Expand Down
8 changes: 3 additions & 5 deletions docs/iot/ruleEngine/access.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,17 @@
# 接入设备

## 说明

基于一款可视化的流编程工具,可以非常轻松的实现对设备的接入规则。

![img](../imgs/ruleEngine/access_engine_01_01-ea71c7ba1fb539360b22a8c9ca7e73ec.png)

## 操作步骤

### 1). 创建接入规则
## 创建接入规则

**规则引擎** -> **接入引擎** -> **创建接入规则**
点击`创建接入规则`按钮,填入自定义的规则名称。

### 2). 编辑
## 编辑

**规则引擎** -> **接入引擎** -> **编辑**
创建好规则后,就可以点击`编辑`按钮进入可视化的流编程工具,编辑节点。
Expand All @@ -23,7 +21,7 @@

编辑完后不要忘了点击`保存并运行`,否则规则不会生效。

### 3). 启动/暂停
## 启动/暂停

**规则引擎** -> **接入引擎** -> **启动**/**暂停**
当我们在流编程工具中编辑好一个规则并保存后,就可以直接在系统中`启动`/`暂停`了,无需再打开流编程工具。
Loading

0 comments on commit db5e4f5

Please sign in to comment.