Compare commits

...

151 Commits

Author SHA1 Message Date
2248356998 qq.com
c9da3dee7c 更新1.4.0
注意Excel导入已不适用以前版本
1、去除动态更新插件
2、改用MiniExcel,支持动态导入,excel配置更简单
3、优化多处界面与后台逻辑,部分方法规范更名
4、修复外网地址获取错误等
2023-04-15 20:48:56 +08:00
2248356998 qq.com
c8c224e202 修复报警文本逻辑 2023-04-11 13:40:13 +08:00
2248356998 qq.com
f34559daaf 1,修复控制台报错(echarts.js问题,已删除)2,多处Dispose修正 2023-04-07 08:48:34 +08:00
2248356998 qq.com
9fefbf4c27 过滤 2023-04-06 14:46:24 +08:00
2248356998 qq.com
1af9fd73ea 历史数据库选择为sqlite时查询转换日期错误 2023-04-05 18:04:33 +08:00
2248356998 qq.com
75ef394eff 启用开发环境web详细日志,调整App.Razor位置,添加网页ico 2023-04-05 17:14:26 +08:00
2248356998 qq.com
ec6cc2c63e update console/file datetime format 2023-04-05 15:49:00 +08:00
2248356998 qq.com
06bc2e192b 更新readme 2023-04-04 18:41:56 +08:00
2248356998 qq.com
78701ec7c1 😀版本1.3.1 2023-04-04 17:55:52 +08:00
2248356998 qq.com
c925fab7e4 网关软件时间统一UTC 2023-04-04 17:55:15 +08:00
2248356998 qq.com
42fd72c164 update iotSharpClient 2023-04-04 11:07:05 +08:00
2248356998 qq.com
7fd160e1a2 😀 更新1.3.0 2023-04-04 10:15:34 +08:00
2248356998 qq.com
97a0d940eb update iotSharpClient 2023-04-04 09:25:16 +08:00
2248356998 qq.com
efaa099d81 update iotSharpClient 2023-04-04 09:23:22 +08:00
2248356998 qq.com
47864a804b IosSharpClient Rpc优化 2023-04-04 09:22:22 +08:00
2248356998 qq.com
91136c0e43 IotSharp Rpc方法完善 2023-04-04 09:19:48 +08:00
2248356998 qq.com
28c3b1bd61 添加写入多个变量的api方法 2023-04-04 09:18:58 +08:00
2248356998 qq.com
551352bc40 update IotSharpClient 2023-04-03 20:16:38 +08:00
2248356998 qq.com
e73c24c925 更新种子 2023-04-03 19:34:12 +08:00
2248356998 qq.com
7ec4c286cc 添加IotSharp插件 2023-04-03 19:30:52 +08:00
2248356998 qq.com
6705e2ec4b 分页显示令牌 2023-04-03 15:29:35 +08:00
2248356998 qq.com
6f0373063b 后台启动时Furion RootServices NULL值 2023-04-03 15:19:59 +08:00
2248356998 qq.com
f64eef60b5 修复不存在采集设备时,初始化报警/历史服务bug 2023-04-03 14:12:56 +08:00
2248356998 qq.com
89546bf86b 弹窗消息在SignalR订阅方法中需InvokeAsync 2023-04-03 13:35:14 +08:00
2248356998 qq.com
793678feca 修复规范化结果包装2次导致登录返回结果不正确的问题 2023-04-03 12:45:19 +08:00
2248356998 qq.com
923cc3019a 更新演示地址 2023-04-03 10:47:49 +08:00
2248356998 qq.com
10eb98a5f6 readme 2023-04-02 18:12:18 +08:00
2248356998 qq.com
bd9e89d8dd readme 2023-04-02 18:08:56 +08:00
2248356998 qq.com
1926b4ce73 更新readme 2023-04-02 18:05:54 +08:00
2248356998 qq.com
4ef3062d74 更新readme 2023-04-02 18:05:28 +08:00
2248356998 qq.com
abb6e0f60f 更新包 2023-04-02 17:10:32 +08:00
2248356998 qq.com
f204d8d84e 添加注释 2023-04-02 16:59:46 +08:00
2248356998 qq.com
fa301656f1 调整依赖,添加关系图 2023-04-01 17:28:35 +08:00
2248356998 qq.com
7e1221028f 调整依赖,更新版本1.2.1 2023-04-01 15:45:02 +08:00
2248356998 qq.com
41308cb2dd 整理 2023-04-01 13:57:57 +08:00
2248356998 qq.com
130600521c 😀 OPCUAServer支持历史查询数据 2023-03-31 18:32:55 +08:00
2248356998 qq.com
cd57548a48 添加ThingsGateway.Foundation注释 2023-03-31 16:25:33 +08:00
2248356998 qq.com
efacc99f76 硬件信息获取添加延时 2023-03-30 20:51:08 +08:00
2248356998 qq.com
f0d236e172 脚本显示优化 2023-03-30 19:51:38 +08:00
2248356998 qq.com
a8118bd8c6 更新文档 2023-03-30 19:39:35 +08:00
2248356998 qq.com
0e58f2ef53 mqtt/mq上传 添加上传实体自定义脚本 2023-03-30 19:07:18 +08:00
2248356998 qq.com
f4b22b3a0c 表达式整理 2023-03-30 16:23:03 +08:00
2248356998 qq.com
df5bd281c7 更新版本 2023-03-30 14:12:39 +08:00
2248356998 qq.com
a3f23837ce 更新文档 2023-03-30 14:11:16 +08:00
2248356998 qq.com
612d989b97 readme 2023-03-30 14:06:03 +08:00
2248356998 qq.com
42c01ee9a2 更新readme,nuget 2023-03-30 14:05:00 +08:00
2248356998 qq.com
14074db591 删除多余代码 2023-03-30 13:53:57 +08:00
2248356998 qq.com
43dfdd7942 opcua 写入添加用户名日志 2023-03-30 13:32:32 +08:00
2248356998 qq.com
f397b97ccf 去除ua数据类型验证 2023-03-30 13:20:26 +08:00
2248356998 qq.com
95f8716144 更新readme 2023-03-30 13:13:44 +08:00
2248356998 qq.com
17ba472b2e 类命名错误更改 2023-03-30 13:11:46 +08:00
2248356998 qq.com
42d82571ab 发布文件添加 2023-03-30 13:11:43 +08:00
2248356998 qq.com
9119a28141 添加OPCUAServer插件,修复个别bug 2023-03-30 13:10:31 +08:00
Diego2098
a32263d838 1、OPCUAClient修复客户端证书未自动生成
2、修复异步方法错误使用
2023-03-30 00:15:13 +08:00
2248356998 qq.com
208ae2bb88 添加部分代码注释 2023-03-29 16:22:01 +08:00
2248356998 qq.com
4d85462a85 驱动支持主机名称 2023-03-29 11:07:21 +08:00
2248356998 qq.com
f601aa9ca0 修复初始化失败导致的一系列问题 2023-03-29 10:53:42 +08:00
2248356998 qq.com
8aee3ad455 上传插件间隔时间修正 2023-03-28 16:40:00 +08:00
2248356998 qq.com
6a2a1e9561 历史变量enable失效 2023-03-28 16:38:29 +08:00
2248356998 qq.com
5f8786c9dc 历史报表时间格式改为yyyy-MM-dd HH:mm:ss ffffff 2023-03-28 16:31:53 +08:00
2248356998 qq.com
73f1d3eead 采集设备状态判断错误 2023-03-28 16:21:30 +08:00
2248356998 qq.com
2bf21bb3c3 采集设备状态判断错误 2023-03-28 15:55:01 +08:00
2248356998 qq.com
f80f0dbb11 修复历史保存值 频繁时出现值相同的问题 2023-03-28 15:14:30 +08:00
2248356998 qq.com
37518c70c4 opc 活动时间修正 2023-03-28 14:15:14 +08:00
2248356998 qq.com
e5951b5bef 添加写入采集时间的接口,而不是固定DateTime.Now 2023-03-28 14:03:11 +08:00
2248356998 qq.com
ab320bd90b 更新tcpclient 2023-03-28 13:52:33 +08:00
2248356998 qq.com
7bd36b5371 修复linux 分隔符错误问题 2023-03-28 11:48:16 +08:00
2248356998 qq.com
b882b0f2bc 更改插件文件不存在时的日志信息 2023-03-28 10:21:39 +08:00
2248356998 qq.com
38d7ae73cc 更改项目引用结构 2023-03-28 10:21:23 +08:00
2248356998 qq.com
4527c6ee5d swagger文档 2023-03-27 19:01:04 +08:00
Iot边缘设备
85829e70c1 !5 添加部署文档
* 添加部署文档
2023-03-27 10:22:30 +00:00
2248356998 qq.com
256c08d82a 属性/字段缓存获取只包含public 2023-03-27 14:49:09 +08:00
2248356998 qq.com
c2ce03c047 更新masa-1.0.0-preview.10 2023-03-27 14:27:15 +08:00
2248356998 qq.com
f2af19e198 优化变量上传属性页 2023-03-27 12:00:10 +08:00
2248356998 qq.com
930b7c092d 采集设备活动时间应正常刷新 2023-03-27 10:51:54 +08:00
2248356998 qq.com
00757c69c6 添加设备复制功能 2023-03-27 10:42:02 +08:00
2248356998 qq.com
55f267d0fc update code collation 2023-03-27 08:49:10 +08:00
2248356998 qq.com
6b96aff6e8 update code collation 2023-03-26 19:48:08 +08:00
2248356998 qq.com
32b773a8fa 更新nuget包 2023-03-26 18:52:16 +08:00
2248356998 qq.com
03089adad6 发行1.10版本 2023-03-26 18:10:12 +08:00
2248356998 qq.com
4a1fe746ab 实时数据界面优化 2023-03-26 17:39:05 +08:00
2248356998 qq.com
aa52c05d2c 1、采用异步AutoResetEvent,修复多个设备下采集太慢的问题
2、弃用IntelligentConcurrentQueue(touchsocket集成类)
2023-03-26 17:32:29 +08:00
2248356998 qq.com
26407a43e7 1、优化设备状态页,减少signalr刷新所需包大小
2、日志前置等级添加
2023-03-24 18:32:10 +08:00
2248356998 qq.com
a02934bf19 修复导出表格时,null值报错 2023-03-23 22:09:53 +08:00
2248356998 qq.com
09c65fba09 导入错误时,忽略大于10行的错误信息显示 2023-03-23 20:01:19 +08:00
2248356998 qq.com
4305c727d0 更新readme 2023-03-22 15:29:35 +08:00
2248356998 qq.com
188339897f 优化log等级、json配置注解 2023-03-22 15:26:42 +08:00
2248356998 qq.com
4ecff9a707 OPCUA写入测试 2023-03-22 14:06:32 +08:00
2248356998 qq.com
355aed49c6 设备运行状态页面改为扩展 2023-03-22 13:46:23 +08:00
2248356998 qq.com
4717b6b0f0 更新文档 2023-03-22 10:44:44 +08:00
Diego2098
45ebe9048d rbmq插件优化 2023-03-21 23:38:00 +08:00
Diego2098
b2170c49a3 分包失败提示 2023-03-21 23:28:30 +08:00
Diego2098
dc2f4d6115 设备组列宽调整,补充上传设备组 2023-03-21 23:10:59 +08:00
Diego2098
1eb132440f 1、更新DataTypeEnum
2、OPCUA写入时需实际数据类型
2023-03-21 22:47:10 +08:00
Diego2098
a464bbc37a 更新Tests 2023-03-21 22:46:12 +08:00
2248356998 qq.com
ed995697c2 表格无数据时,修改默认宽度 2023-03-21 18:17:18 +08:00
2248356998 qq.com
163cd84c7b S7nuget版本 2023-03-21 15:44:50 +08:00
2248356998 qq.com
293d7cc292 masa nuget版本更改 2023-03-21 14:31:36 +08:00
2248356998 qq.com
5de1b4e74c GC策略修改 2023-03-21 14:07:17 +08:00
2248356998 qq.com
7b474975da 更新文档 2023-03-21 14:03:49 +08:00
2248356998 qq.com
beab51516b 更新文档 2023-03-21 13:56:14 +08:00
2248356998 qq.com
fe8685a50c 修改s7属性注释 2023-03-21 13:51:05 +08:00
2248356998 qq.com
f9af5d0885 更新readme 2023-03-21 13:49:10 +08:00
2248356998 qq.com
e8136a9720 更新S7协议插件 2023-03-21 13:45:58 +08:00
2248356998 qq.com
531e5d4556 修改S7特殊方法 2023-03-21 13:41:32 +08:00
2248356998 qq.com
e66255963a 修改s7 2023-03-21 13:38:43 +08:00
2248356998 qq.com
246aac8ee4 添加西门子S7协议插件 2023-03-21 13:37:17 +08:00
2248356998 qq.com
23cfeff685 版本恢复 2023-03-21 11:45:18 +08:00
2248356998 qq.com
a5e7e0d126 更新nuget,暂缓链路复用功能 2023-03-20 13:34:59 +08:00
2248356998 qq.com
5bebc30ba0 默认不开启转储 2023-03-20 09:22:11 +08:00
2248356998 qq.com
0e7057f5b9 更新opcda文档 2023-03-19 23:18:24 +08:00
2248356998 qq.com
7c6c365ba4 格式清理 2023-03-19 23:12:58 +08:00
2248356998 qq.com
424c9bb0c5 修复null值报错 2023-03-19 23:02:08 +08:00
2248356998 qq.com
9d0f26594c 添加设备组,变量按设备组别搜索 2023-03-19 22:56:02 +08:00
2248356998 qq.com
99c17de079 更新readme,opcda核心库提示 2023-03-19 20:40:54 +08:00
2248356998 qq.com
b1e3dd0af6 尝试修复中文在mac上乱码 2023-03-19 17:29:01 +08:00
2248356998 qq.com
261cb89530 修正中文在mac上乱码 2023-03-19 16:45:14 +08:00
2248356998 qq.com
ff6773ba37 删除未知文件 2023-03-19 16:35:24 +08:00
2248356998 qq.com
bdfbbfcbbd Merge branch 'master' of https://gitee.com/diego2098/ThingsGateway 2023-03-19 16:34:26 +08:00
2248356998 qq.com
0c4cd56758 添加设备组功能 2023-03-19 16:34:15 +08:00
士心
4a36658321 !4 修复MacOS环境下,数据库报错的问题
* 修复macos环境下,数据库报错
2023-03-19 08:28:54 +00:00
2248356998 qq.com
7aae938685 准备更新设备组/变量组功能 2023-03-19 11:49:06 +08:00
2248356998 qq.com
3723401e7a 更新ReadMe 2023-03-18 17:56:18 +08:00
2248356998 qq.com
70631366a9 1、最后校验失败时应该提示日志
2、暂停时设备状态修正
2023-03-18 17:49:08 +08:00
2248356998 qq.com
0e40bbda3e 更新文档 2023-03-18 16:47:29 +08:00
2248356998 qq.com
e9aa475398 ByteBlock实际长度 2023-03-18 16:45:39 +08:00
2248356998 qq.com
8d2a811184 修正串口描述类ToString 2023-03-18 16:32:15 +08:00
2248356998 qq.com
dd7f5b6700 更新文档 2023-03-18 16:23:23 +08:00
2248356998 qq.com
a4f6277737 更新nuget 2023-03-18 16:16:27 +08:00
2248356998 qq.com
c2bfaacbb7 更新readme 2023-03-18 16:15:14 +08:00
2248356998 qq.com
a17cbfa2d4 添加ModbusRtu种子数据 2023-03-18 16:14:37 +08:00
2248356998 qq.com
fb9a101555 添加ModbusRtu插件 2023-03-18 16:14:25 +08:00
2248356998 qq.com
e319cf0200 添加串口基础类 2023-03-18 16:14:08 +08:00
2248356998 qq.com
0a8395ef6a 更新文档 2023-03-17 18:19:14 +08:00
2248356998 qq.com
38df5e01be 更新文档 2023-03-17 17:52:04 +08:00
2248356998 qq.com
ebd891a868 种子数据更改 2023-03-17 17:51:58 +08:00
2248356998 qq.com
4ab2395cbe 采集检测间隔修改 2023-03-17 17:40:34 +08:00
2248356998 qq.com
5f1f989fc9 上传插件添加循环间隔属性 2023-03-17 17:30:06 +08:00
2248356998 qq.com
44b709eee3 添加rbmq插件种子数据 2023-03-17 16:30:02 +08:00
2248356998 qq.com
d0d7726597 rbmq插件文件夹更名 2023-03-17 16:16:23 +08:00
2248356998 qq.com
054c342aeb 优化内存queue,修复mqtt插件可能超出字节限制的情况 2023-03-17 16:04:24 +08:00
2248356998 qq.com
c79c33baf7 添加rbmq插件 2023-03-17 16:03:44 +08:00
2248356998 qq.com
23b00e35b2 设备禁用时,变量绑定的设备对应选项会显示禁用(灰色) 2023-03-17 11:29:14 +08:00
2248356998 qq.com
fe51079266 更新readme 2023-03-16 17:33:25 +08:00
2248356998 qq.com
0791b0bbee 选择插件时自动更新属性 2023-03-16 17:33:17 +08:00
2248356998 qq.com
dbf04c8eeb 更新赞助名单 2023-03-16 11:35:58 +08:00
2248356998 qq.com
6204256df8 限流服务默认不开启 2023-03-16 09:47:20 +08:00
2248356998 qq.com
93cc8c2327 增加简易定时看板 2023-03-15 16:01:54 +08:00
2248356998 qq.com
68a2e5bbbc 更新历史配置说明 2023-03-15 09:11:33 +08:00
Diego2098
72792153f2 !3 update handbook/docs/05、网关配置/5.5、其他配置.mdx.
Merge pull request !3 from zhubanghao/N/A
2023-03-14 13:39:16 +00:00
zhubanghao
88b6ef1897 update handbook/docs/05、网关配置/5.5、其他配置.mdx.
Signed-off-by: zhubanghao <58813184@qq.com>
2023-03-14 13:05:33 +00:00
517 changed files with 19449 additions and 7436 deletions

2
.gitignore vendored
View File

@@ -362,7 +362,9 @@ MigrationBackup/
# Fody - auto-generated XML schema
FodyWeavers.xsd
/src/Plugins/Other
/src/ThingsGateway.Web.Server/Default.db
/src/ThingsGateway.Web.Server/Alarm_history.db
/src/PluginPro*/
/src/*Pro*
/src/TestResults*/

BIN
Image/gitLogo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -1,11 +1,12 @@
<div align="center"><h1 align="center">ThingsGateway</a></h1></div>
<div align="center"><h3 align="center">边缘采集网关</h3></div>

<div align='center'>
<img src="https://gitee.com/diego2098/ThingsGateway/raw/master/Image/gitLogo.png" height=100 />
</div>
#### 介绍
基于[ThingsBlazor](https://gitee.com/diego2098/ThingsBlazor)权限管理框架开发的跨平台边缘采集网关,支持南北端插件式开发,
动态更新插件,
并拥有较完善的北端Rpc权限管理。
基于Net6/7+Blazor Server的跨平台边缘采集网关,支持南北端插件式开发,
动态更新插件,并拥有较完善的北端Rpc权限管理。
#### 功能亮点
@@ -13,14 +14,38 @@
- Blazor Server架构开发部署更简单
- 采集/上传配置完全支持Excel导入导出
- 插件式驱动,方便驱动二次开发,并支持动态更新
- Modbus、OPCDA、OPCUA采集插件支持导入节点
- Modbus Server、Mqtt Server(Client)、OPC UAServer插件,支持Rpc写入支持WebApi
- 支持时序数据库存储
- 实时/历史报警(Sql转储),支持布尔/高低限值
#### 演示
http://120.24.62.140:5000/
默认账户密码superAdmin 111111
#### 社区版采集插件
> 支持分包解析/订阅
- Modbus(Rtu/Tcp/Udp)
- OPCDAClient支持导入节点
- OPCUAClient支持导入节点
- 西门子S7协议
#### 社区版上传插件
> 支持Rpc写入
- Modbus Server
- OPCUA Server (支持历史查询)
- Mqtt Server (支持自定义json)
- Mqtt Client (支持自定义json)
- IotSharp Client (IotSharp网关插件Rpc待测试)
> 不支持Rpc
- RabbitMQ (支持自定义json)
#### nuget
- Modbus库支持ModbusTcp、ModbusRtuOverTcp、ModbusUdp、ModbusServer等
- Modbus库支持ModbusTcp、ModbusRtu、ModbusRtuOverTcp、ModbusUdp、ModbusServer等
``` powershell
dotnet add package ThingsGateway.Foundation.Adapter.Modbus
```
@@ -32,6 +57,12 @@
``` powershell
dotnet add package ThingsGateway.Foundation.Adapter.OPCUA
```
- S7库
``` powershell
dotnet add package ThingsGateway.Foundation.Adapter.Siemens
```
#### 效果图
<table>
<tr>
@@ -56,9 +87,20 @@
使用前请查看Gitee Pages [文档站点](https://diego2098.gitee.io/thingsgateway/)
#### 特别鸣谢
- Furion[https://dotnetchina.gitee.io/furion](https://dotnetchina.gitee.io/furion)
- SqlSugar[https://gitee.com/dotnetchina/SqlSugar](https://gitee.com/dotnetchina/SqlSugar)
- Simple.Admin[https://gitee.com/zxzyjs/SimpleAdmin](https://gitee.com/zxzyjs/SimpleAdmin)
- Masa.Blazor[https://www.masastack.com/blazor](https://www.masastack.com/blazor)
- IdGenerator[https://github.com/yitter/idgenerator](https://github.com/yitter/idgenerator)
- CodingSeb.ExpressionEvaluator[https://github.com/codingseb/ExpressionEvaluator](https://github.com/codingseb/ExpressionEvaluator)
- TouchSocket[https://gitee.com/rrqm_home/touchsocket](https://gitee.com/rrqm_home/touchsocket)
- Hardware.Info[https://github.com/Jinjinov/Hardware.Info](https://github.com/Jinjinov/Hardware.Info)
- UAParser[https://github.com/ua-parser/uap-csharp](https://github.com/ua-parser/uap-csharp)
#### 补充说明
* 使用OPC相关插件时请遵循OPC基金会的授权规则
* 使用OPCDA插件时需安装OPC核心库[文件地址](https://gitee.com/diego2098/ThingsGateway/attach_files)
#### 开源协议
@@ -66,11 +108,12 @@
#### 支持作者
如果对您有帮助请点击右上角⭐Star关注感谢支持开源
若希望捐赠项目请跳转到文档站点查看捐赠码或使用Gitee捐赠功能
若希望捐赠项目请查看以下捐赠码或使用Gitee捐赠功能
<img src="https://gitee.com/diego2098/ThingsGateway/raw/master/Image/pay.png" height=180 />
#### 联系作者
* QQ群605534569

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 253 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
"use strict";(self.webpackChunkthingsgateway=self.webpackChunkthingsgateway||[]).push([[331],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>f});var n=r(7294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var l=n.createContext({}),c=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},p=function(e){var t=c(e.components);return n.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,a=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=c(r),f=i,b=d["".concat(l,".").concat(f)]||d[f]||u[f]||a;return r?n.createElement(b,o(o({ref:t},p),{},{components:r})):n.createElement(b,o({ref:t},p))}));function f(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=r.length,o=new Array(a);o[0]=d;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:i,o[1]=s;for(var c=2;c<a;c++)o[c]=r[c];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},1738:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>u,frontMatter:()=>a,metadata:()=>s,toc:()=>c});var n=r(7462),i=(r(7294),r(3905));const a={id:"publish",title:"\u53d1\u5e03",sidebar_label:"9.1\u3001\u53d1\u5e03"},o=void 0,s={unversionedId:"09\u3001\u90e8\u7f72\u8bf4\u660e/publish",id:"09\u3001\u90e8\u7f72\u8bf4\u660e/publish",title:"\u53d1\u5e03",description:"\uff08\u4e00\uff09\u7f16\u8bd1\u89e3\u51b3\u65b9\u6848",source:"@site/docs/09\u3001\u90e8\u7f72\u8bf4\u660e/9.1\u3001\u53d1\u5e03.mdx",sourceDirName:"09\u3001\u90e8\u7f72\u8bf4\u660e",slug:"/09\u3001\u90e8\u7f72\u8bf4\u660e/publish",permalink:"/thingsgateway/docs/09\u3001\u90e8\u7f72\u8bf4\u660e/publish",draft:!1,editUrl:"https://gitee.com/diego2098/ThingsGateway/tree/master/handbook/docs/09\u3001\u90e8\u7f72\u8bf4\u660e/9.1\u3001\u53d1\u5e03.mdx",tags:[],version:"current",frontMatter:{id:"publish",title:"\u53d1\u5e03",sidebar_label:"9.1\u3001\u53d1\u5e03"},sidebar:"tutorialSidebar",previous:{title:"8.6\u3001\u91c7\u96c6OPCUA\u6570\u636e",permalink:"/thingsgateway/docs/08\u3001Demo/opcuademo"},next:{title:"9.2\u3001Windows\u90e8\u7f72",permalink:"/thingsgateway/docs/09\u3001\u90e8\u7f72\u8bf4\u660e/windowspublish"}},l={},c=[{value:"\uff08\u4e00\uff09\u7f16\u8bd1\u89e3\u51b3\u65b9\u6848",id:"\u4e00\u7f16\u8bd1\u89e3\u51b3\u65b9\u6848",level:3},{value:"\uff08\u4e8c\uff09\u53d1\u5e03\u7248\u672c",id:"\u4e8c\u53d1\u5e03\u7248\u672c",level:3},{value:"\uff08\u4e09\uff09\u590d\u5236\u63d2\u4ef6\u6587\u4ef6\u5939",id:"\u4e09\u590d\u5236\u63d2\u4ef6\u6587\u4ef6\u5939",level:3}],p={toc:c};function u(e){let{components:t,...a}=e;return(0,i.kt)("wrapper",(0,n.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h3",{id:"\u4e00\u7f16\u8bd1\u89e3\u51b3\u65b9\u6848"},"\uff08\u4e00\uff09\u7f16\u8bd1\u89e3\u51b3\u65b9\u6848"),(0,i.kt)("img",{src:r(4033).Z,width:"800"}),(0,i.kt)("p",null,"\u9009\u62e9Release , \u70b9\u51fb\u89e3\u51b3\u65b9\u6848\u5168\u7f16\u8bd1(\u6216\u8005\u7f16\u8bd1Plugins\u6587\u4ef6\u5939)"),(0,i.kt)("h3",{id:"\u4e8c\u53d1\u5e03\u7248\u672c"},"\uff08\u4e8c\uff09\u53d1\u5e03\u7248\u672c"),(0,i.kt)("img",{src:r(4837).Z,width:"800"}),(0,i.kt)("p",null,"\u6309\u9700\u9009\u62e9\u53d1\u5e03\u7248\u672c(\u56fe\u4e2d\u4e3awin-64)"),(0,i.kt)("h3",{id:"\u4e09\u590d\u5236\u63d2\u4ef6\u6587\u4ef6\u5939"},"\uff08\u4e09\uff09\u590d\u5236\u63d2\u4ef6\u6587\u4ef6\u5939"),(0,i.kt)("img",{src:r(6430).Z,width:"800"}))}u.isMDXComponent=!0},4033:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/publish1-8de8d0dd1c44ed4cc5597ab26457644f.png"},4837:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/publish2-ccfbb5d98d5100710be995d343a6fb2f.png"},6430:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/publish3-805027c0327c3d4af438b404ef63daa4.png"}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
"use strict";(self.webpackChunkthingsgateway=self.webpackChunkthingsgateway||[]).push([[564],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>f});var n=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=n.createContext({}),s=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},p=function(e){var t=s(e.components);return n.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,l=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),d=s(r),f=a,g=d["".concat(l,".").concat(f)]||d[f]||u[f]||i;return r?n.createElement(g,o(o({ref:t},p),{},{components:r})):n.createElement(g,o({ref:t},p))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=d;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:a,o[1]=c;for(var s=2;s<i;s++)o[s]=r[s];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},5771:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>c,toc:()=>s});var n=r(7462),a=(r(7294),r(3905));const i={id:"quickstart",title:"\u5feb\u901f\u542f\u52a8",sidebar_label:"04\u3001\u5feb\u901f\u542f\u52a8"},o=void 0,c={unversionedId:"quickstart",id:"quickstart",title:"\u5feb\u901f\u542f\u52a8",description:"\uff08\u4e00\uff09\u3001\u4e0b\u8f7d\u6e90\u7801",source:"@site/docs/04\u3001\u5feb\u901f\u542f\u52a8.mdx",sourceDirName:".",slug:"/quickstart",permalink:"/thingsgateway/docs/quickstart",draft:!1,editUrl:"https://gitee.com/diego2098/ThingsGateway/tree/master/handbook/docs/04\u3001\u5feb\u901f\u542f\u52a8.mdx",tags:[],version:"current",frontMatter:{id:"quickstart",title:"\u5feb\u901f\u542f\u52a8",sidebar_label:"04\u3001\u5feb\u901f\u542f\u52a8"},sidebar:"tutorialSidebar",previous:{title:"03\u3001\u652f\u6301\u5f00\u6e90\u9879\u76ee",permalink:"/thingsgateway/docs/\u652f\u6301\u5f00\u6e90\u9879\u76ee"},next:{title:"5.1\u3001\u91c7\u96c6\u8bbe\u5907",permalink:"/thingsgateway/docs/05\u3001\u7f51\u5173\u914d\u7f6e/collectdevice"}},l={},s=[{value:"\uff08\u4e00\uff09\u3001\u4e0b\u8f7d\u6e90\u7801",id:"\u4e00\u4e0b\u8f7d\u6e90\u7801",level:3},{value:"\uff08\u4e8c\uff09\u3001\u914d\u7f6e\u5e76\u542f\u52a8\u7cfb\u7edf",id:"\u4e8c\u914d\u7f6e\u5e76\u542f\u52a8\u7cfb\u7edf",level:3}],p={toc:s};function u(e){let{components:t,...i}=e;return(0,a.kt)("wrapper",(0,n.Z)({},p,i,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h3",{id:"\u4e00\u4e0b\u8f7d\u6e90\u7801"},"\uff08\u4e00\uff09\u3001\u4e0b\u8f7d\u6e90\u7801"),(0,a.kt)("p",null,(0,a.kt)("a",{parentName:"p",href:"https://gitee.com/diego2098/ThingsGateway"},"\u6700\u65b0\u7248\u672c")," "),(0,a.kt)("h3",{id:"\u4e8c\u914d\u7f6e\u5e76\u542f\u52a8\u7cfb\u7edf"},"\uff08\u4e8c\uff09\u3001\u914d\u7f6e\u5e76\u542f\u52a8\u7cfb\u7edf"),(0,a.kt)("p",null,"1\u3001 vs2022\u6253\u5f00\u89e3\u51b3\u65b9\u6848\uff0c\u8bbe\u7f6eThingsGateway.Web.Server\u4e3a\u542f\u52a8\u9879\u76ee"),(0,a.kt)("p",null,"2\u3001 \u76f4\u63a5debug\u8fd0\u884c"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u8fd0\u884c\u5730\u5740\uff1ahttp://localhost:7100;")),(0,a.kt)("p",null,(0,a.kt)("img",{src:r(2405).Z,width:"2558",height:"1459"})))}u.isMDXComponent=!0},2405:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/login-ec50fefb8cb6a0b5ed67912fc045f617.png"}}]);

View File

@@ -0,0 +1 @@
"use strict";(self.webpackChunkthingsgateway=self.webpackChunkthingsgateway||[]).push([[564],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>f});var n=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=n.createContext({}),s=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=s(e.components);return n.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),d=s(r),f=a,g=d["".concat(l,".").concat(f)]||d[f]||u[f]||o;return r?n.createElement(g,i(i({ref:t},p),{},{components:r})):n.createElement(g,i({ref:t},p))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,i=new Array(o);i[0]=d;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:a,i[1]=c;for(var s=2;s<o;s++)i[s]=r[s];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},5771:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>s});var n=r(7462),a=(r(7294),r(3905));const o={id:"quickstart",title:"\u5feb\u901f\u542f\u52a8",sidebar_label:"04\u3001\u5feb\u901f\u542f\u52a8"},i=void 0,c={unversionedId:"quickstart",id:"quickstart",title:"\u5feb\u901f\u542f\u52a8",description:"\uff08\u4e00\uff09\u3001\u4e0b\u8f7d\u6e90\u7801",source:"@site/docs/04\u3001\u5feb\u901f\u542f\u52a8.mdx",sourceDirName:".",slug:"/quickstart",permalink:"/thingsgateway/docs/quickstart",draft:!1,editUrl:"https://gitee.com/diego2098/ThingsGateway/tree/master/handbook/docs/04\u3001\u5feb\u901f\u542f\u52a8.mdx",tags:[],version:"current",frontMatter:{id:"quickstart",title:"\u5feb\u901f\u542f\u52a8",sidebar_label:"04\u3001\u5feb\u901f\u542f\u52a8"},sidebar:"tutorialSidebar",previous:{title:"3.2\u3001Pro\u7248\u8bf4\u660e",permalink:"/thingsgateway/docs/03\u3001\u652f\u6301\u9879\u76ee\u4e0ePro\u7248\u8bf4\u660e/Pro"},next:{title:"5.1\u3001\u91c7\u96c6\u8bbe\u5907",permalink:"/thingsgateway/docs/05\u3001\u7f51\u5173\u914d\u7f6e/collectdevice"}},l={},s=[{value:"\uff08\u4e00\uff09\u3001\u4e0b\u8f7d\u6e90\u7801",id:"\u4e00\u4e0b\u8f7d\u6e90\u7801",level:3},{value:"\uff08\u4e8c\uff09\u3001\u914d\u7f6e\u5e76\u542f\u52a8\u7cfb\u7edf",id:"\u4e8c\u914d\u7f6e\u5e76\u542f\u52a8\u7cfb\u7edf",level:3}],p={toc:s};function u(e){let{components:t,...o}=e;return(0,a.kt)("wrapper",(0,n.Z)({},p,o,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h3",{id:"\u4e00\u4e0b\u8f7d\u6e90\u7801"},"\uff08\u4e00\uff09\u3001\u4e0b\u8f7d\u6e90\u7801"),(0,a.kt)("p",null,(0,a.kt)("a",{parentName:"p",href:"https://gitee.com/diego2098/ThingsGateway"},"\u6700\u65b0\u7248\u672c")," "),(0,a.kt)("h3",{id:"\u4e8c\u914d\u7f6e\u5e76\u542f\u52a8\u7cfb\u7edf"},"\uff08\u4e8c\uff09\u3001\u914d\u7f6e\u5e76\u542f\u52a8\u7cfb\u7edf"),(0,a.kt)("p",null,"1\u3001 vs2022\u6253\u5f00\u89e3\u51b3\u65b9\u6848\uff0c\u8bbe\u7f6eThingsGateway.Web.Server\u4e3a\u542f\u52a8\u9879\u76ee"),(0,a.kt)("p",null,"2\u3001 \u76f4\u63a5debug\u8fd0\u884c"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u8fd0\u884c\u5730\u5740\uff1ahttp://localhost:7100;")),(0,a.kt)("p",null,(0,a.kt)("img",{src:r(2405).Z,width:"2558",height:"1459"})))}u.isMDXComponent=!0},2405:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/login-ec50fefb8cb6a0b5ed67912fc045f617.png"}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
(()=>{"use strict";var e,t,a,r,f,d={},o={};function c(e){var t=o[e];if(void 0!==t)return t.exports;var a=o[e]={exports:{}};return d[e].call(a.exports,a,a.exports,c),a.exports}c.m=d,e=[],c.O=(t,a,r,f)=>{if(!a){var d=1/0;for(b=0;b<e.length;b++){a=e[b][0],r=e[b][1],f=e[b][2];for(var o=!0,n=0;n<a.length;n++)(!1&f||d>=f)&&Object.keys(c.O).every((e=>c.O[e](a[n])))?a.splice(n--,1):(o=!1,f<d&&(d=f));if(o){e.splice(b--,1);var i=r();void 0!==i&&(t=i)}}return t}f=f||0;for(var b=e.length;b>0&&e[b-1][2]>f;b--)e[b]=e[b-1];e[b]=[a,r,f]},c.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return c.d(t,{a:t}),t},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,c.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var f=Object.create(null);c.r(f);var d={};t=t||[null,a({}),a([]),a(a)];for(var o=2&r&&e;"object"==typeof o&&!~t.indexOf(o);o=a(o))Object.getOwnPropertyNames(o).forEach((t=>d[t]=()=>e[t]));return d.default=()=>e,c.d(f,d),f},c.d=(e,t)=>{for(var a in t)c.o(t,a)&&!c.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},c.f={},c.e=e=>Promise.all(Object.keys(c.f).reduce(((t,a)=>(c.f[a](e,t),t)),[])),c.u=e=>"assets/js/"+({22:"879054ab",53:"935f2afb",86:"0f093a7e",156:"d143b96c",175:"c361d1eb",189:"186a3eb8",195:"c4f5d8e4",217:"b8d02a9c",242:"26929101",261:"cb4f4ca9",282:"96f6c49e",320:"b86d2c6e",331:"7ec71e5c",373:"760264af",397:"13a5cec0",514:"1be78505",526:"fd321996",544:"a9d01d88",556:"39afbd6e",564:"976454a3",593:"84ef20df",623:"5ae411f8",705:"46d61d03",866:"ec4c2846",874:"6dde87d0",875:"444af13b",889:"7f2059f1",916:"f21858e6",918:"17896441",920:"1a4e3797",946:"9a8d6690",966:"4ab8a817",987:"8606c6a1",994:"53c1042e",996:"19b7f836"}[e]||e)+"."+{22:"0dacf5e1",53:"b4814792",86:"63c5ac72",156:"2384a5de",175:"ee8bab92",189:"24a97c3d",195:"43de62e4",217:"25449686",242:"143c32d8",261:"983c3141",282:"b182a2f0",320:"0fb2dcd2",331:"c0b9e422",373:"3ed61cd5",397:"6b3a2f46",443:"a35c493a",514:"79ca6d8a",523:"bb83377d",525:"ee7ff280",526:"f5d30c71",544:"0aefd47f",556:"73bcb94a",564:"a7b325a9",593:"b6365e51",623:"5d1d50cd",705:"b084f227",866:"de5833c1",874:"533fbe7b",875:"a37fbda4",889:"595088ad",916:"79872004",918:"e52e3593",920:"83cee253",946:"1f1d08eb",966:"7d0118d3",972:"a79306f2",987:"f55d8fd1",994:"8816391f",996:"7e71f890"}[e]+".js",c.miniCssF=e=>{},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r={},f="thingsgateway:",c.l=(e,t,a,d)=>{if(r[e])r[e].push(t);else{var o,n;if(void 0!==a)for(var i=document.getElementsByTagName("script"),b=0;b<i.length;b++){var u=i[b];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==f+a){o=u;break}}o||(n=!0,(o=document.createElement("script")).charset="utf-8",o.timeout=120,c.nc&&o.setAttribute("nonce",c.nc),o.setAttribute("data-webpack",f+a),o.src=e),r[e]=[t];var l=(t,a)=>{o.onerror=o.onload=null,clearTimeout(s);var f=r[e];if(delete r[e],o.parentNode&&o.parentNode.removeChild(o),f&&f.forEach((e=>e(a))),t)return t(a)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),n&&document.head.appendChild(o)}},c.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.p="/thingsgateway/",c.gca=function(e){return e={17896441:"918",26929101:"242","879054ab":"22","935f2afb":"53","0f093a7e":"86",d143b96c:"156",c361d1eb:"175","186a3eb8":"189",c4f5d8e4:"195",b8d02a9c:"217",cb4f4ca9:"261","96f6c49e":"282",b86d2c6e:"320","7ec71e5c":"331","760264af":"373","13a5cec0":"397","1be78505":"514",fd321996:"526",a9d01d88:"544","39afbd6e":"556","976454a3":"564","84ef20df":"593","5ae411f8":"623","46d61d03":"705",ec4c2846:"866","6dde87d0":"874","444af13b":"875","7f2059f1":"889",f21858e6:"916","1a4e3797":"920","9a8d6690":"946","4ab8a817":"966","8606c6a1":"987","53c1042e":"994","19b7f836":"996"}[e]||e,c.p+c.u(e)},(()=>{var e={303:0,532:0};c.f.j=(t,a)=>{var r=c.o(e,t)?e[t]:void 0;if(0!==r)if(r)a.push(r[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var f=new Promise(((a,f)=>r=e[t]=[a,f]));a.push(r[2]=f);var d=c.p+c.u(t),o=new Error;c.l(d,(a=>{if(c.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var f=a&&("load"===a.type?"missing":a.type),d=a&&a.target&&a.target.src;o.message="Loading chunk "+t+" failed.\n("+f+": "+d+")",o.name="ChunkLoadError",o.type=f,o.request=d,r[1](o)}}),"chunk-"+t,t)}},c.O.j=t=>0===e[t];var t=(t,a)=>{var r,f,d=a[0],o=a[1],n=a[2],i=0;if(d.some((t=>0!==e[t]))){for(r in o)c.o(o,r)&&(c.m[r]=o[r]);if(n)var b=n(c)}for(t&&t(a);i<d.length;i++)f=d[i],c.o(e,f)&&e[f]&&e[f][0](),e[f]=0;return c.O(b)},a=self.webpackChunkthingsgateway=self.webpackChunkthingsgateway||[];a.forEach(t.bind(null,0)),a.push=t.bind(null,a.push.bind(a))})()})();

View File

@@ -1 +0,0 @@
(()=>{"use strict";var e,t,a,r,f,o={},n={};function c(e){var t=n[e];if(void 0!==t)return t.exports;var a=n[e]={exports:{}};return o[e].call(a.exports,a,a.exports,c),a.exports}c.m=o,e=[],c.O=(t,a,r,f)=>{if(!a){var o=1/0;for(b=0;b<e.length;b++){a=e[b][0],r=e[b][1],f=e[b][2];for(var n=!0,i=0;i<a.length;i++)(!1&f||o>=f)&&Object.keys(c.O).every((e=>c.O[e](a[i])))?a.splice(i--,1):(n=!1,f<o&&(o=f));if(n){e.splice(b--,1);var d=r();void 0!==d&&(t=d)}}return t}f=f||0;for(var b=e.length;b>0&&e[b-1][2]>f;b--)e[b]=e[b-1];e[b]=[a,r,f]},c.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return c.d(t,{a:t}),t},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,c.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var f=Object.create(null);c.r(f);var o={};t=t||[null,a({}),a([]),a(a)];for(var n=2&r&&e;"object"==typeof n&&!~t.indexOf(n);n=a(n))Object.getOwnPropertyNames(n).forEach((t=>o[t]=()=>e[t]));return o.default=()=>e,c.d(f,o),f},c.d=(e,t)=>{for(var a in t)c.o(t,a)&&!c.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},c.f={},c.e=e=>Promise.all(Object.keys(c.f).reduce(((t,a)=>(c.f[a](e,t),t)),[])),c.u=e=>"assets/js/"+({22:"879054ab",53:"935f2afb",175:"c361d1eb",189:"186a3eb8",195:"c4f5d8e4",217:"b8d02a9c",242:"26929101",261:"cb4f4ca9",282:"96f6c49e",320:"b86d2c6e",373:"760264af",397:"13a5cec0",514:"1be78505",526:"fd321996",544:"a9d01d88",556:"39afbd6e",564:"976454a3",623:"5ae411f8",676:"2ae4ef1c",866:"ec4c2846",875:"444af13b",889:"7f2059f1",916:"f21858e6",918:"17896441",920:"1a4e3797",966:"4ab8a817",987:"8606c6a1",994:"53c1042e",996:"19b7f836"}[e]||e)+"."+{22:"39368577",53:"e90da8ff",175:"ee8bab92",189:"80ad5d61",195:"3eff4979",217:"bdf25ce5",242:"143c32d8",261:"983c3141",282:"b182a2f0",320:"82fd5222",373:"3ed61cd5",397:"36c4e731",443:"a35c493a",514:"79ca6d8a",523:"bb83377d",525:"ee7ff280",526:"f5d30c71",544:"0aefd47f",556:"81d00235",564:"7efa7a24",623:"9d713392",676:"152595fe",866:"de5833c1",875:"a37fbda4",889:"e7147378",916:"b12940cb",918:"e52e3593",920:"83cee253",966:"7d0118d3",972:"a79306f2",987:"f55d8fd1",994:"e1e7c39f",996:"98239486"}[e]+".js",c.miniCssF=e=>{},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r={},f="thingsgateway:",c.l=(e,t,a,o)=>{if(r[e])r[e].push(t);else{var n,i;if(void 0!==a)for(var d=document.getElementsByTagName("script"),b=0;b<d.length;b++){var u=d[b];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==f+a){n=u;break}}n||(i=!0,(n=document.createElement("script")).charset="utf-8",n.timeout=120,c.nc&&n.setAttribute("nonce",c.nc),n.setAttribute("data-webpack",f+a),n.src=e),r[e]=[t];var l=(t,a)=>{n.onerror=n.onload=null,clearTimeout(s);var f=r[e];if(delete r[e],n.parentNode&&n.parentNode.removeChild(n),f&&f.forEach((e=>e(a))),t)return t(a)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:n}),12e4);n.onerror=l.bind(null,n.onerror),n.onload=l.bind(null,n.onload),i&&document.head.appendChild(n)}},c.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.p="/thingsgateway/",c.gca=function(e){return e={17896441:"918",26929101:"242","879054ab":"22","935f2afb":"53",c361d1eb:"175","186a3eb8":"189",c4f5d8e4:"195",b8d02a9c:"217",cb4f4ca9:"261","96f6c49e":"282",b86d2c6e:"320","760264af":"373","13a5cec0":"397","1be78505":"514",fd321996:"526",a9d01d88:"544","39afbd6e":"556","976454a3":"564","5ae411f8":"623","2ae4ef1c":"676",ec4c2846:"866","444af13b":"875","7f2059f1":"889",f21858e6:"916","1a4e3797":"920","4ab8a817":"966","8606c6a1":"987","53c1042e":"994","19b7f836":"996"}[e]||e,c.p+c.u(e)},(()=>{var e={303:0,532:0};c.f.j=(t,a)=>{var r=c.o(e,t)?e[t]:void 0;if(0!==r)if(r)a.push(r[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var f=new Promise(((a,f)=>r=e[t]=[a,f]));a.push(r[2]=f);var o=c.p+c.u(t),n=new Error;c.l(o,(a=>{if(c.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var f=a&&("load"===a.type?"missing":a.type),o=a&&a.target&&a.target.src;n.message="Loading chunk "+t+" failed.\n("+f+": "+o+")",n.name="ChunkLoadError",n.type=f,n.request=o,r[1](n)}}),"chunk-"+t,t)}},c.O.j=t=>0===e[t];var t=(t,a)=>{var r,f,o=a[0],n=a[1],i=a[2],d=0;if(o.some((t=>0!==e[t]))){for(r in n)c.o(n,r)&&(c.m[r]=n[r]);if(i)var b=i(c)}for(t&&t(a);d<o.length;d++)f=o[d],c.o(e,f)&&e[f]&&e[f][0](),e[f]=0;return c.O(b)},a=self.webpackChunkthingsgateway=self.webpackChunkthingsgateway||[];a.forEach(t.bind(null,0)),a.push=t.bind(null,a.push.bind(a))})()})();

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 253 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -12,9 +12,7 @@ import Tag from "@site/src/components/Tag.js";
ThingsGateway 由作者Diego及其他贡献者开发所有版权归作者Diego所有程序集源代码在遵循 Apache License 2.0 的开源协议以及**附加协议**下,可**免费**供其他开发者二次开发或(商业)使用。
# 附加协议
#### 个人使用须知:
### 个人使用须知:
- 不得将程序集用作违法犯罪活动。
- 不得将程序集单独包装售卖,申请专利等。
@@ -22,7 +20,7 @@ ThingsGateway 由作者Diego及其他贡献者开发所有版权归作者Dieg
**以上内容必须全部符合,个人使用授权才成立。**
#### 二次开发须知:
### 二次开发须知:
- 不得将程序集用作违法犯罪活动。
- 不得将程序集单独包装售卖,申请专利等。
@@ -32,13 +30,22 @@ ThingsGateway 由作者Diego及其他贡献者开发所有版权归作者Dieg
**以上内容必须全部符合,二次开发授权才成立。**
#### 盈利性(商业)用途使用须知:
### 盈利性(商业)用途使用须知:
- 不得将程序集用作违法犯罪活动。
- 不得将程序集单独包装售卖,申请专利等。
- **不得擦除程序集所有有关作者的信息,并必须于用户可见界面(如关于)中提名。**
**以上内容必须全部符合,使用授权才成立。**
**以上内容必须全部符合,商业使用授权才成立。**
## ThingsGatewayPro 商用许可
ThingsGatewayPro 软件框架与 ThingsGateway 一致另包含其他定制插件。所有版权归作者Diego所有。
ThingsGatewayPro 不公开开源,需要付费购买。
# 免责申明

View File

@@ -25,12 +25,34 @@ import Tag from "@site/src/components/Tag.js";
- &nbsp;<Tag>新增</Tag> 添加设备是否共用通道的选项当IP&端口一致时或者串口号一致时生效)
##
## v1.3.0(已发布)
- &nbsp;<Tag>新增</Tag> 添加IotSharp插件
## v1.2.0(已发布)
- &nbsp;<Tag>新增</Tag> 添加OPCUAServer插件
##
## v1.1.0(已发布)
- &nbsp;<Tag>新增</Tag> 添加OPCDAClient采集插件
- &nbsp;<Tag>新增</Tag> 添加OPCUAClient采集插件
- &nbsp;<Tag>新增</Tag> 开发串口基础框架
##
## v1.0.0(已发布)

View File

@@ -1,7 +1,7 @@
---
id: 支持开源项目
title: 支持开源项目
sidebar_label: 03、支持开源项目
sidebar_label: 3.1、支持开源项目
---
## 赞助ThingsGateway项目
@@ -14,8 +14,9 @@ sidebar_label: 03、支持开源项目
#### 赞助名单(以下排名只按照赞助时间顺序)
1. 绢10¥
2. 小蚂蚁 18.8¥)
1. 绢 10¥
2. 小蚂蚁 18.8¥+66.66¥
3. 伟 18.8¥)

View File

@@ -0,0 +1,45 @@
---
id: Pro
title: Pro版说明
sidebar_label: 3.2、Pro版说明
---
### 一、说明
ThingsGatewayPro是ThingsGateway的加强版本基础功能与ThingsGateway一致并添加一些额外功能插件
同时ThingsGatewayPro提供企业定制服务及必要的远程协助,具体收费可以咨询**作者Diego联系方式QQ2248356998**
### 二、授权
#### ThingsGatewayPro分为个人授权与企业授权区别在于授权归属
授权后获得证书凭据(图片形式)
#### 2.1 个人授权
- **授权归属于购买者个人所有**
- 价格 998¥
#### 2.2 企业授权
- **授权归属于企业所有,仅企业主体享有授权**
- 价格 998¥
### 三、插件差异
| 插件名称 | 说明 |
| ---------------| --------------------------|
| 待更新......| 待更新......|
### 四、购买
#### 购买途径
![](/img/pay.png)
# 请备注 - ThingsGatewayPro

View File

@@ -54,3 +54,5 @@ PORT=5432;DATABASE=SqlSugar4xTest;HOST=localhost;PASSWORD=haosql;USER ID=postgre
```
host=localhost;port=8812;username=admin;password=quest;database=qdb;ServerCompatibilityMode=NoTypeLoading;
```
QQ群里下载questdb.zip和QuestDB win启动bat文件,解压两个文件更改QuestDB win启动bat里的对应路径最后启动服务重启官网就可查的历史数据
![](/img/QuestdbSet.jpg)

View File

@@ -5,6 +5,8 @@ sidebar_label: 6.1、Modbus驱动
---
### (一)设备配置
1、Socket链路
| 属性 | 说明 | 默认值/备注|
| ---------------| --------------------------| ---|
| 连接超时时间 | 建立socket通讯的超时时间ms | 3000|
@@ -16,6 +18,19 @@ sidebar_label: 6.1、Modbus驱动
| 连接id检测 | 是否检查modbus的事务标识符和协议标识符为一致 | Flase |
| crc检测 | 是否检查modbus的事务标识符和协议标识符为一致 | True|
2、串口链路
| 属性 | 说明 | 默认值/备注|
| ---------------| --------------------------| ---|
| 默认解析顺序 | 4个字节以上的数据解析可设置为ABCD/BADC/CDBA/DCBA,默认ABCD |ABCDBig-Endian<br></br>BADCBig-Endian Byte Swap<br></br>CDABLittle-Endian Byte Swap<br></br>DCBALittle-Endian |
| COM口 | COM口 | COM1|
| 波特率 | | 9600|
| 数据位 | | 8|
| 校验位 | | None|
| 停止位 | | One|
| 默认站号 | 默认的mudbus站号id | 1|
| 读写超时时间 | 读取等待中的超时时间ms | 3000|
| crc检测 | 是否检查modbus的事务标识符和协议标识符为一致 | True|
### (二)变量配置
#### 变量地址说明

View File

@@ -3,6 +3,13 @@ id: opcda
title: OPCDA驱动
sidebar_label: 6.2、OPCDA驱动
---
:::tip `OPCDA驱动注意`
使用OPCDA插件时需安装OPC核心库[文件地址](https://gitee.com/diego2098/ThingsGateway/attach_files)
:::
### (一)设备配置
| 属性 | 说明 | 默认值/备注|

View File

@@ -0,0 +1,38 @@
---
id: Siemens
title: Siemens驱动
sidebar_label: 6.4、Siemens驱动
---
### (一)设备配置
| 属性 | 说明 | 默认值/备注|
| ---------------| --------------------------| ---|
| 连接超时时间 | 建立socket通讯的超时时间ms | 3000|
| 默认解析顺序 | 4个字节以上的数据解析可设置为ABCD/BADC/CDBA/DCBA,默认ABCD |ABCDBig-Endian<br></br>BADCBig-Endian Byte Swap<br></br>CDABLittle-Endian Byte Swap<br></br>DCBALittle-Endian |
| IP | 连接IP | 127.0.0.1|
| 端口 | 连接端口 | 102|
| 读写超时时间 | 读取等待中的超时时间ms | 3000|
| LocalTSAP | | 0 |
| DestTSAP | | 0|
### (二)变量配置
#### 变量地址说明
- 1、基本地址
| 地址 | 说明 |
| ---------------| --------------------------|
| Txxxxx | Timer寄存器,例如T100/T100.1 |
| Cxxxxx | Counter寄存器,例如C100/C100.1 |
| AIxxxxx | AI寄存器,例如AI100/AI100.1 |
| AQxxxxx | AQ寄存器,例如AQ100/AQ100.1 |
| Ixxxxx | I寄存器,例如I100/I100.1 |
| Qxxxxx | Q寄存器,例如Q100/Q100.1 |
| Mxxxxx | M寄存器,例如M100/M100.1 |
| DBxxxxx | DB寄存器,例如DB100.1/DB100.1.1 |
#### 变量特殊方法说明
无特殊方法

View File

@@ -76,7 +76,6 @@ Rpc返回Json
"activeTime": "2023-03-08T08:46:39.2708927+08:00",
"deviceStatus": 1,
"deviceOffMsg": "",
"intervalTime": 0,
"name": "ModbusTest",
"description": null,
"enable": true,
@@ -93,5 +92,32 @@ Rpc返回Json
### (三)实体脚本
脚本功能由cs-script实现
<img src={require('../../static/img/script1.png').default} width="400" />
```
//提供这个例子
//定义返回List
List<dynamic> newModelList=new List<dynamic>();
//input为固定传入值在变量脚本中为变量实体类List在设备脚本中为设备实体类List查看上面的json说明
foreach (var item in input)
{
//添加自定义值
newModelList.Add(new
{
customName=item.name,//变量名称
customValue=item.value,//变量值
customCollectTime=item.collectTime.ToString("yyyy-MM-dd HH:mm:ss fffffff"), //采集时间,这里格式化为自定义时间格式
});
}
return newModelList;
```
<img src={require('../../static/img/script2.png').default} width="400" />
可以看到mqtt上传内容已经改为以上脚本返回值

View File

@@ -72,7 +72,6 @@ Rpc返回Json
"activeTime": "2023-03-08T08:46:39.2708927+08:00",
"deviceStatus": 1,
"deviceOffMsg": "",
"intervalTime": 0,
"name": "ModbusTest",
"description": null,
"enable": true,
@@ -91,3 +90,6 @@ Rpc返回Json
### (三)实体脚本
移至 [这里](MqttServer) 查看

View File

@@ -0,0 +1,72 @@
---
id: RabbitMQClient
title: RabbitMQClient
sidebar_label: 7.4、RabbitMQClient
---
### (一)设备配置
| 属性 | 说明 | 默认值/备注|
| ---------------| --------------------------| ---|
| 账号 | 登录账号 | guest|
| 密码 | 登录密码 | guest|
| IP | 连接IP | 127.0.0.1|
| 端口 | 连接端口 | 5672|
| 虚拟Host | | / |
|路由名称 | |TG|
|变量队列名称| |ThingsGateway/Variable|
|设备队列名称| |ThingsGateway/Device|
|是否发布List| |False|
|是否声明队列| |False|
变量Json
```
[
{
"deviceName": "ModbusTest",
"rawValue": "12345",
"value": "12345",
"changeTime": "2023-03-08T08:42:36.1979048+08:00",
"collectTime": "2023-03-08T08:46:39.3070467+08:00",
"quality": 192,
"readExpressions": null,
"writeExpressions": null,
"intervalTime": 1000,
"otherMethod": null,
"variableAddress": "40001",
"name": "test40001",
"description": null,
"initialValue": null,
"protectTypeEnum": 1,
"dataTypeEnum": 7
}
]
```
设备Json:
```
[
{
"pluginName": "ThingsGateway.Modbus.ModbusTcp",
"deviceVariablesNum": 1,
"activeTime": "2023-03-08T08:46:39.2708927+08:00",
"deviceStatus": 1,
"deviceOffMsg": "",
"name": "ModbusTest",
"description": null,
"enable": true,
"createTime": "2023-03-06T17:31:23.0562652",
"updateTime": "0001-01-01T00:00:00"
}
]
```
### (二)变量配置
### (三)实体脚本
移至 [这里](MqttServer) 查看

View File

@@ -0,0 +1,24 @@
---
id: publish
title: 发布
sidebar_label: 9.1、发布
---
### (一)编译解决方案
<img src={require('../../static/img/publish1.png').default} width="800" />
选择Release , 点击解决方案全编译(或者编译Plugins文件夹)
### (二)发布版本
<img src={require('../../static/img/publish2.png').default} width="800" />
按需选择发布版本(图中为win-64)
### (三)复制插件文件夹
<img src={require('../../static/img/publish3.png').default} width="800" />

Some files were not shown because too many files have changed in this diff Show More