Files
KinginfoGateway/wiki.json
Diego e776dc67eb Remove language support from wiki.json
Removed supported languages and default language settings.
2025-10-21 15:58:01 +08:00

303 lines
8.6 KiB
JSON

{
"repo_notes": [
{
"content": ""
}
],
"pages": [
{
"title": "Overview",
"purpose": "Introduce ThingsGateway, explaining what it is, its core purpose as an industrial IoT gateway, and the high-level architecture",
"page_notes": [
{
"content": ""
}
]
},
{
"title": "Key Features",
"purpose": "List and describe the main features including multi-protocol support, plugin architecture, data persistence options, and deployment models",
"parent": "Overview",
"page_notes": [
{
"content": ""
}
]
},
{
"title": "System Requirements and Dependencies",
"purpose": "Document the .NET versions, target frameworks, required NuGet packages, and system requirements",
"parent": "Overview",
"page_notes": [
{
"content": ""
}
]
},
{
"title": "Getting Started",
"purpose": "Provide quick-start guide for installing and running ThingsGateway",
"page_notes": [
{
"content": ""
}
]
},
{
"title": "Installation and Deployment",
"purpose": "Explain deployment options including Docker (x64/ARM64), web server, desktop application, and configuration basics",
"parent": "Getting Started",
"page_notes": [
{
"content": ""
}
]
},
{
"title": "Initial Configuration",
"purpose": "Guide users through initial setup including appsettings.json, environment variables, logging configuration, and first channel/device setup",
"parent": "Getting Started",
"page_notes": [
{
"content": ""
}
]
},
{
"title": "Architecture Overview",
"purpose": "Explain the overall system architecture including layered design, separation of concerns, and component relationships",
"page_notes": [
{
"content": ""
}
]
},
{
"title": "Layered Architecture",
"purpose": "Describe the Foundation, Gateway Application, and UI/Admin layers and their responsibilities",
"parent": "Architecture Overview",
"page_notes": [
{
"content": ""
}
]
},
{
"title": "Plugin System Architecture",
"purpose": "Explain the plugin architecture including Foundation vs Plugin layer separation, dynamic loading with AssemblyLoadContext, and plugin types",
"parent": "Architecture Overview",
"page_notes": [
{
"content": ""
}
]
},
{
"title": "Build System and Conditional Compilation",
"purpose": "Document the MSBuild-based build system including Directory.Build.props, conditional plugin loading, multi-targeting, and NuGet package generation",
"parent": "Architecture Overview",
"page_notes": [
{
"content": ""
}
]
},
{
"title": "Foundation Layer",
"purpose": "Document the core foundation libraries that provide protocol implementations and communication primitives",
"page_notes": [
{
"content": ""
}
]
},
{
"title": "Device Communication",
"purpose": "Explain DeviceBase abstraction, IDevice interface, protocol implementations, read/write operations, and data parsing",
"parent": "Foundation Layer",
"page_notes": [
{
"content": ""
}
]
},
{
"title": "Channel Architecture",
"purpose": "Document IChannel interface, channel implementations (TCP/UDP/Serial), channel options, and connection lifecycle",
"parent": "Foundation Layer",
"page_notes": [
{
"content": ""
}
]
},
{
"title": "Data Handling and Transformation",
"purpose": "Describe DataHandlingAdapter, message parsing, ThingsGatewayBitConverter for endianness/format conversion, and WaitHandlePool for request-response correlation",
"parent": "Foundation Layer",
"page_notes": [
{
"content": ""
}
]
},
{
"title": "Core Utilities",
"purpose": "Document TimerX scheduling, ExpiringDictionary caching, WaitLock concurrency primitives, and Reflect utilities",
"parent": "Foundation Layer",
"page_notes": [
{
"content": ""
}
]
},
{
"title": "Gateway Application",
"purpose": "Explain the main gateway application layer that orchestrates device communication and data flow",
"page_notes": [
{
"content": ""
}
]
},
{
"title": "Runtime Management System",
"purpose": "Document the entity-to-runtime conversion, GlobalData static registry, RuntimeServiceHelper, and runtime synchronization",
"parent": "Gateway Application",
"page_notes": [
{
"content": ""
}
]
},
{
"title": "Device Lifecycle Management",
"purpose": "Explain DeviceThreadManage, driver initialization, StartAsync/StopAsync lifecycle, TaskSchedulerLoop, and thread management",
"parent": "Gateway Application",
"page_notes": [
{
"content": ""
}
]
},
{
"title": "Variable Management",
"purpose": "Document VariableRuntime, VariableSourceRead, variable packing optimization, and data collection workflow",
"parent": "Gateway Application",
"page_notes": [
{
"content": ""
}
]
},
{
"title": "Concurrency and Read/Write Coordination",
"purpose": "Explain AsyncReadWriteLock, reader/writer priority, duty cycle control, and concurrent operation management",
"parent": "Gateway Application",
"page_notes": [
{
"content": ""
}
]
},
{
"title": "Event System",
"purpose": "Document GlobalData event dispatchers, VariableValueChangeEvent, DeviceStatusChangeEvent, AlarmChangedEvent, and event flow",
"parent": "Gateway Application",
"page_notes": [
{
"content": ""
}
]
},
{
"title": "Redundancy and Failover",
"purpose": "Explain device redundancy system, master/slave configuration, failover triggers, and variable state transfer",
"parent": "Gateway Application",
"page_notes": [
{
"content": ""
}
]
},
{
"title": "Plugin Development",
"purpose": "Guide for developing custom plugins for data collection and business logic integration",
"page_notes": [
{
"content": ""
}
]
},
{
"title": "Collection Plugins (CollectBase)",
"purpose": "Document how to create data collection plugins including protocol implementation, variable loading, and scheduled tasks",
"parent": "Plugin Development",
"page_notes": [
{
"content": ""
}
]
},
{
"title": "Business Plugins (BusinessBase)",
"purpose": "Explain business plugin development for data persistence, distribution, and serving protocols",
"parent": "Plugin Development",
"page_notes": [
{
"content": ""
}
]
},
{
"title": "Plugin Service and Dynamic Loading",
"purpose": "Document PluginService, AssemblyLoadContext usage, plugin discovery, driver instantiation, and property configuration",
"parent": "Plugin Development",
"page_notes": [
{
"content": ""
}
]
},
{
"title": "Plugin Packaging and Distribution",
"purpose": "Explain how to package plugins as NuGet packages, versioning, and deployment via Directory.build.targets",
"parent": "Plugin Development",
"page_notes": [
{
"content": ""
}
]
},
{
"title": "Built-in Protocols",
"purpose": "Document the built-in protocol implementations including Modbus, Siemens S7, OPC UA, OPC DA, and Dlt645",
"page_notes": [
{
"content": ""
}
]
},
{
"title": "Modbus Protocol",
"purpose": "Document Modbus Master/Slave implementations, RTU/TCP/UDP support, function codes, and address parsing",
"parent": "Built-in Protocols",
"page_notes": [
{
"content": ""
}
]
},
{
"title": "Siemens S7 Protocol",
"purpose": "Explain S7 Master implementation, PLC types, area addressing, and data block access",
"parent": "Built-in Protocols",
"page_notes": [
{
"content": ""
}
]
}
]
}