在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → IOT-CS:工业智能网关,实现跨平台物联网连接

IOT-CS:工业智能网关,实现跨平台物联网连接

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:1.33M
  • 下载次数:2
  • 浏览次数:11
  • 发布时间:2024-04-09
  • 实例类别:一般编程问题
  • 发 布 人:chenxiaolan
  • 文件格式:.zip
  • 所需积分:2
 相关标签:

实例介绍

【实例简介】

IOT-CS是一款工业智能网关,基于.net core3.1的跨平台物联网网关。它支持不同设备驱动(PLC、数据库、串口设备、上位机、OPC UA、MQTT),具备二次开发驱动的能力实现与Thingsboard进行数据通讯。同时支持MQTT、MYSQL、WEBHOOK等多种资源配置化管理,实现数据的快速推送,提供简单的驱动接口开发。
主要亮点:
1. 内置Mqtt服务端,支持websocket进行标准mqtt输出
2. 可视化的驱动设备配置实现数据采集
3. 支持工业现场的多种设备协议
4. 支持驱动二次开发
5. 内置OPCUA驱动协议,西门子S7协议,Modbus驱动全协议支持,欧姆龙PLC驱动(待开发中),三菱PLC驱动(待开发中)
安装部署:
1. Windows主机运行环境:下载windows运行环境并将其加入PATH环境变量,验证是否安装成功
2. Linux主机运行环境:下载Linux运行环境并安装,验证是否安装成功
3. 下载release版本,解压到指定位置,进入App目录后执行命令即可
4. 对于Windows运行,需将其安装成Windows服务;对于Linux运行,请安装成systemd服务。
该产品支持驱动管理、设备管理、规则管理、资源管理和设备日志等多种功能

【实例截图】
【核心代码】
文件清单
└── IOTCS-b5df5c86e0914ca89c684e953b4d190bb86405ee
    ├── images
    │   ├── 1648884682.jpg
    │   ├── 1648891279.jpg
    │   ├── 1648891309.jpg
    │   ├── 1648891338.jpg
    │   ├── 1648891377.jpg
    │   ├── 1648891419.jpg
    │   ├── 1648894225.jpg
    │   ├── datalocation.jpg
    │   ├── device.jpg
    │   ├── deviceParm.jpg
    │   ├── diagnostics.png
    │   ├── log.jpg
    │   ├── shebei.jpg
    │   ├── shouye.jpg
    │   ├── weixi.jpg
    │   └── 二维码.jpg
    ├── LICENSE
    ├── README.md
    └── src
        ├── Dockerfile
        ├── IOTCS.EdgeGateway.Application
        │   ├── AppServicesModule.cs
        │   ├── IAuthorizationService.cs
        │   ├── IDataLocationService.cs
        │   ├── IDBDataStorageService.cs
        │   ├── IDeviceConfigService.cs
        │   ├── IDeviceService.cs
        │   ├── IDriveService.cs
        │   ├── IFreeSqlMgrService.cs
        │   ├── Imps
        │   │   ├── AuthorizationService.cs
        │   │   ├── DataLocationService.cs
        │   │   ├── DBDataStorageService.cs
        │   │   ├── DeviceConfigService.cs
        │   │   ├── DeviceService.cs
        │   │   ├── DriveService.cs
        │   │   ├── FreeSqlMgrService.cs
        │   │   ├── OpcStorageService.cs
        │   │   ├── RelationshipService.cs
        │   │   ├── ResourceService.cs
        │   │   └── UserService.cs
        │   ├── IOpcStorageService.cs
        │   ├── IOTCS.EdgeGateway.Application.csproj
        │   ├── IRelationshipService.cs
        │   ├── IResourceService.cs
        │   ├── IUserService.cs
        │   └── Utils
        │       └── TimestampHelper.cs
        ├── IOTCS.EdgeGateway.BaseDriver
        │   ├── IDriver.cs
        │   └── IOTCS.EdgeGateway.BaseDriver.csproj
        ├── IOTCS.EdgeGateway.BaseProcPipeline
        │   ├── IOTCS.EdgeGateway.BaseProcPipeline.csproj
        │   ├── IPipelineContext.cs
        │   └── RouterMessage.cs
        ├── IOTCS.EdgeGateway.CmdHandler
        │   ├── DataObject2DataObject.cs
        │   ├── Extension
        │   │   └── CustomConcurrentDictionary.cs
        │   ├── IOTCS.EdgeGateway.CmdHandler.csproj
        │   ├── Models
        │   │   └── WebSocketProtocol.cs
        │   ├── OpcHandlerModule.cs
        │   ├── OpcUaNotificationHandler.cs
        │   ├── SystemNotificationHandler.cs
        │   └── UINotificationHandler.cs
        ├── IOTCS.EdgeGateway.Commands
        │   ├── IOTCS.EdgeGateway.Commands.csproj
        │   ├── OpcUaCommand.cs
        │   ├── OpcUaNotification.cs
        │   └── UINotification.cs
        ├── IOTCS.EdgeGateway.ComResDriver
        │   ├── IHttpDriver.cs
        │   ├── IMqttDriver.cs
        │   ├── IOTCS.EdgeGateway.ComResDriver.csproj
        │   └── IResourceDriver.cs
        ├── IOTCS.EdgeGateway.Core
        │   ├── Collections
        │   │   ├── ConcurrentHashSet.cs
        │   │   ├── ConcurrentList.cs
        │   │   ├── IConcurrentList.cs
        │   │   ├── IKeyValueCache.cs
        │   │   ├── IPool.cs
        │   │   ├── ITypeList.cs
        │   │   ├── MemoryCache.cs
        │   │   ├── Pair.cs
        │   │   ├── Pool.cs
        │   │   ├── SystemKeyValue.cs
        │   │   └── TypeList.cs
        │   ├── Extensions
        │   │   ├── ByteArrayExtensions.cs
        │   │   ├── CollectionExtensions.cs
        │   │   ├── DateTimeExtensions.cs
        │   │   ├── DecimalExtensions.cs
        │   │   ├── DefaultConvert.cs
        │   │   ├── EncryptExtension.cs
        │   │   ├── IntExtensions.cs
        │   │   ├── ObjectExtensions.cs
        │   │   ├── StreamExtensions.cs
        │   │   └── StringExtensions.cs
        │   ├── IocManager.cs
        │   ├── IOTCS.EdgeGateway.Core.csproj
        │   ├── Reflection
        │   │   └── ReflectionHelper.cs
        │   └── Security
        │       ├── Crc16.cs
        │       ├── Crc32.cs
        │       ├── MD5Helper.cs
        │       ├── Murmur128.cs
        │       └── RC4.cs
        ├── IOTCS.EdgeGateway.Diagnostics
        │   ├── DiagnosticsContext
        │   │   └── AppDiagnosticsContextModule.cs
        │   ├── IOTCS.EdgeGateway.Diagnostics.csproj
        │   ├── ISystemDiagnostics.cs
        │   ├── IUINotification.cs
        │   ├── Notification
        │   │   └── SystemNotification.cs
        │   ├── SystemDiagnostics.cs
        │   └── UINotification.cs
        ├── IOTCS.EdgeGateway.Dispatch
        │   ├── AppDispatchModule.cs
        │   ├── DispatchManager.cs
        │   ├── IDispatchManager.cs
        │   └── IOTCS.EdgeGateway.Dispatch.csproj
        ├── IOTCS.EdgeGateway.Domain
        │   ├── DomainService
        │   │   ├── IDeviceDomainService.cs
        │   │   ├── Impl
        │   │   │   ├── DeviceDomainService.cs
        │   │   │   └── RelationshipDomainService.cs
        │   │   └── IRelationshipDomainService.cs
        │   ├── IOTCS.EdgeGateway.Domain.csproj
        │   ├── Models
        │   │   ├── DataLocationModel.cs
        │   │   ├── DeviceConfigModel.cs
        │   │   ├── DeviceModel.cs
        │   │   ├── DriveModel.cs
        │   │   ├── InitailizeDatabaseModel.cs
        │   │   ├── NodeTypeConfigModel.cs
        │   │   ├── RelationshipModel.cs
        │   │   ├── ResourceModel.cs
        │   │   ├── RuleModel.cs
        │   │   └── UserModel.cs
        │   ├── Repositories
        │   │   ├── IDataLocationRepository.cs
        │   │   ├── IDeviceConfigRepository.cs
        │   │   ├── IDeviceRepository.cs
        │   │   ├── IDriveRepository.cs
        │   │   ├── IFreeSqlMgrRepository.cs
        │   │   ├── IOpcStorageRepository.cs
        │   │   ├── IRelationshipRepository.cs
        │   │   ├── IResourceRepository.cs
        │   │   └── IUserRepository.cs
        │   └── ValueObject
        │       ├── DataLocationDto.cs
        │       ├── DataNodeDto.cs
        │       ├── DataRequestDto.cs
        │       ├── DataResponseDto.cs
        │       ├── Device
        │       │   ├── DeviceConfigDto.cs
        │       │   ├── DeviceDto.cs
        │       │   └── DriveDto.cs
        │       ├── InitailizeDatabaseDto.cs
        │       ├── JwtSettingsDto.cs
        │       ├── LoginDto.cs
        │       ├── Notification
        │       │   ├── MonitorVariableValueDto.cs
        │       │   ├── NotifyBase.cs
        │       │   ├── NotifyChangeDto.cs
        │       │   └── NotifyChangeVariableDto.cs
        │       ├── OpcConfigDto.cs
        │       ├── PublishStatusDto.cs
        │       ├── RelationshipDto.cs
        │       ├── ResourceDto.cs
        │       ├── SendMessageDto.cs
        │       ├── SystemManagerDto.cs
        │       ├── TokenObject.cs
        │       └── UserDto.cs
        ├── IOTCS.EdgeGateway.Freesql
        │   ├── CommonDbSessionContext.cs
        │   ├── DbContext
        │   │   └── AppFreeSqlDbContextModule.cs
        │   ├── DBSessionContext.cs
        │   ├── Extensions
        │   │   ├── CommonDbContextServiceCollectionExtensions.cs
        │   │   ├── DbContextOptions.cs
        │   │   ├── DbContextServiceCollectionExtensions.cs
        │   │   ├── OuterDbContextOptions.cs
        │   │   └── OuterDbContextServiceCollectionExtensions.cs
        │   ├── ICommonDbSessionContext.cs
        │   ├── IDBSessionContext.cs
        │   ├── IdleBus
        │   │   └── DbBus.cs
        │   ├── IOTCS.EdgeGateway.Freesql.csproj
        │   ├── IOuterDBSessionContext.cs
        │   └── OuterDBSessionContext.cs
        ├── IOTCS.EdgeGateway.Freesql.Helper
        │   ├── Application
        │   │   ├── IService.cs
        │   │   ├── ServiceBaseAbstract.cs
        │   │   └── ServiceBase.cs
        │   ├── Domain
        │   │   ├── IRepositoryBase.cs
        │   │   ├── RepositoryBase.cs
        │   │   └── UnitOfWorkManager.cs
        │   ├── Extensions
        │   │   └── ModelToDTOExtensions.cs
        │   └── IOTCS.EdgeGateway.Freesql.Helper.csproj
        ├── IOTCS.EdgeGateway.HttpHandler
        │   ├── AppHttpHandlerModule.cs
        │   └── IOTCS.EdgeGateway.HttpHandler.csproj
        ├── IOTCS.EdgeGateway.Infrastructure
        │   ├── Extensions
        │   │   └── SwaggerExtension.cs
        │   ├── IOTCS.EdgeGateway.Infrastructure.csproj
        │   ├── Serialize
        │   │   └── AppJsonModule.cs
        │   ├── Server
        │   │   ├── ApplicationIntegrated.cs
        │   │   ├── ApplicationStartBase.cs
        │   │   ├── ApplicationStartModule.cs
        │   │   ├── ApplicationWithServiceProvider.cs
        │   │   └── ServerPortDetecter.cs
        │   ├── Socket
        │   │   ├── AppWebSocketModule.cs
        │   │   ├── CommunicationManager.cs
        │   │   ├── Model
        │   │   │   ├── NullClientToServerProtocol.cs
        │   │   │   ├── WebSocketClientToServerProtocol.cs
        │   │   │   └── WebSocketProtocol.cs
        │   │   └── WebSocketServerOptions.cs
        │   └── WebApi
        │       ├── ApplicationMvcModule.cs
        │       ├── Controller
        │       │   ├── DataLocationController.cs
        │       │   ├── DeviceConfigController.cs
        │       │   ├── DeviceController.cs
        │       │   ├── DriveController.cs
        │       │   ├── LoginController.cs
        │       │   ├── RelationshipController.cs
        │       │   ├── ResourceController.cs
        │       │   ├── SystemController.cs
        │       │   └── UserController.cs
        │       ├── Filter
        │       │   ├── HttpGlobalExceptionFilter.cs
        │       │   └── ManageVerifyAttribute.cs
        │       ├── Middleware
        │       │   └── BasicAuthenticationMiddleware.cs
        │       ├── Settings
        │       │   ├── AccessToken.cs
        │       │   ├── CustomException.cs
        │       │   ├── OpenApiData.cs
        │       │   ├── Settings.cs
        │       │   └── Token.cs
        │       ├── Startup.cs
        │       └── Views
        │           ├── Home
        │           │   └── Index.cshtml
        │           ├── _Layout.cshtml
        │           └── _ViewStart.cshtml
        ├── IOTCS.EdgeGateway.Library
        │   ├── ClientUtils.cs
        │   ├── FilterDeclaration.cs
        │   ├── FormUtils.cs
        │   ├── IOTCS.EdgeGateway.Library.csproj
        │   ├── OpcUaClient.cs
        │   └── OpcUaStatusEventArgs.cs
        ├── IOTCS.EdgeGateway.Logging
        │   ├── Console
        │   │   ├── Console
        │   │   │   ├── ConsoleLoggerProvider.cs
        │   │   │   ├── IConsole.cs
        │   │   │   └── Internal
        │   │   │       ├── ConsoleLogger.cs
        │   │   │       ├── LogMessage.cs
        │   │   │       ├── OutputQueue.cs
        │   │   │       ├── UnixLogConsole.cs
        │   │   │       └── WindowsLogConsole.cs
        │   │   └── ConsoleLoggerFactoryExtensions.cs
        │   ├── IOTCS.EdgeGateway.Logging.csproj
        │   ├── Log4Net
        │   │   ├── Internal
        │   │   │   ├── InternalConst.cs
        │   │   │   ├── Log4NetLogger.cs
        │   │   │   └── PathExtension.cs
        │   │   └── Log4NetLoggerProvider.cs
        │   ├── Log4NetLoggerFactoryExtensions.cs
        │   ├── Logging
        │   │   ├── ILogger.cs
        │   │   ├── ILoggerFactory.cs
        │   │   ├── ILoggerProvider.cs
        │   │   ├── Internal
        │   │   │   ├── AggregateLogger.cs
        │   │   │   ├── NullLogger.cs
        │   │   │   └── NullLoggerProvider.cs
        │   │   ├── LoggerExtensions.cs
        │   │   ├── LoggerFactory.cs
        │   │   ├── LoggerFactoryExtensions.cs
        │   │   └── LogLevel.cs
        │   ├── LoggingServiceCollectionExtensions.cs
        │   └── NullLogger.cs
        ├── IOTCS.EdgeGateway.MqttHandler
        │   ├── AppMqttHandlerModule.cs
        │   ├── Extensions
        │   │   └── MqttContextOptions.cs
        │   ├── IMqttSessionContext.cs
        │   ├── IOTCS.EdgeGateway.MqttHandler.csproj
        │   └── MqttSessionContext.cs
        ├── IOTCS.EdgeGateway.Plugins
        │   ├── AppPluginModule.cs
        │   ├── BACNetDriver
        │   │   ├── BACNetDriver.cs
        │   │   └── IBACNetDriver.cs
        │   ├── DataInitialize
        │   │   ├── IInitializeConfiguration.cs
        │   │   └── InitializeConfiguration.cs
        │   ├── Executor
        │   │   ├── Collector.cs
        │   │   ├── ICollector.cs
        │   │   └── ResourceComparer .cs
        │   ├── IOTCS.EdgeGateway.Plugins.csproj
        │   ├── ModbusDriver
        │   │   ├── IModbusRTUDriver.cs
        │   │   ├── IModbusRTUOverTcpDriver.cs
        │   │   ├── IModbusTcpDriver.cs
        │   │   ├── ModbusRTUDriver.cs
        │   │   ├── ModbusRTUOverTcpDriver.cs
        │   │   └── ModbusTcpDriver.cs
        │   ├── Monitor
        │   │   ├── IMonitorTask.cs
        │   │   ├── Model
        │   │   │   ├── OpcConnectionStatusDto.cs
        │   │   │   ├── SystemInfoDto.cs
        │   │   │   └── WebSocketProtocol.cs
        │   │   └── MonitorTask.cs
        │   ├── OpcUADriver
        │   │   ├── IOpcUADriver.cs
        │   │   └── OpcUADriver.cs
        │   └── SiemensDriver
        │       ├── ISiemensS71200NetDriver.cs
        │       ├── ISiemensS71500NetDriver.cs
        │       ├── SiemensS71200NetDriver.cs
        │       └── SiemensS71500NetDriver.cs
        ├── IOTCS.EdgeGateway.ProcPipeline
        │   ├── AppPipelineModule.cs
        │   ├── IOTCS.EdgeGateway.ProcPipeline.csproj
        │   └── PipelineContext.cs
        ├── IOTCS.EdgeGateway.Reflection
        │   ├── IOTCS.EdgeGateway.Reflection.csproj
        │   ├── ReflectionExtensions.cs
        │   └── StructTuple.cs
        ├── IOTCS.EdgeGateway.Repository
        │   ├── DataLocationRepository.cs
        │   ├── DeviceConfigRepository.cs
        │   ├── DeviceRepository.cs
        │   ├── DriveRepository.cs
        │   ├── FreeSqlMgrRepository.cs
        │   ├── IOTCS.EdgeGateway.Repository.csproj
        │   ├── OpcStorageRepository.cs
        │   ├── QuickCollect.SCADA.Server.Repository.csproj
        │   ├── RelationshipRepository.cs
        │   ├── RepositoryModule.cs
        │   ├── ResourceRepository.cs
        │   └── UserRepository.cs
        ├── IOTCS.EdgeGateway.ResDriver
        │   ├── HttpDriver.cs
        │   ├── IOTCS.EdgeGateway.ResDriver.csproj
        │   └── MqttDriver.cs
        ├── IOTCS.EdgeGateway.Server
        │   ├── appSettings.json
        │   ├── Database
        │   │   └── iotcs.db
        │   ├── iotcs.db
        │   ├── IOTCS.EdgeGateway.Server.csproj
        │   ├── log4net.config
        │   └── Program.cs
        ├── IOTCS.EdgeGateway.Server.sln
        ├── IOTCS.EdgeGateway.WebSocketManager
        │   ├── IOTCS.EdgeGateway.WebSocketManager.csproj
        │   ├── Json
        │   │   ├── JsonBinderWithoutAssembly.cs
        │   │   └── PrimitiveJsonConverter.cs
        │   ├── Networking
        │   │   ├── InvocationDescriptor.cs
        │   │   ├── InvocationResult.cs
        │   │   ├── Message.cs
        │   │   └── RemoteException.cs
        │   ├── Strategies
        │   │   ├── ControllerMethodInvocationStrategy.cs
        │   │   ├── DecoratedControllerMethodInvocationStrategy.cs
        │   │   ├── MethodInvocationStrategy.cs
        │   │   └── StringMethodInvocationStrategy.cs
        │   ├── WebSocketConnectionManager.cs
        │   ├── WebSocketHandler.cs
        │   ├── WebSocketManagerExtensions.cs
        │   └── WebSocketManagerMiddleware.cs
        └── IOTCS.EdgeGateway.WsHandler
            ├── IOTCS.EdgeGateway.WsHandler.csproj
            └── WsMessageHandler.cs

83 directories, 319 files

标签:

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警