OPC DB server Project First Commit
This commit is contained in:
174
.Notebook/설치패키지 체크 by claude.md
Normal file
174
.Notebook/설치패키지 체크 by claude.md
Normal file
@@ -0,0 +1,174 @@
|
||||
현재 설치 상태 요약
|
||||
✅ 이미 설치된 것들
|
||||
1. 개발 환경
|
||||
✓ .NET SDK 8.0.123
|
||||
✓ .NET SDK 10.0 (aspnetcore-runtime-10.0)
|
||||
✓ dotnet-sdk-8.0
|
||||
2. 데이터베이스
|
||||
✓ PostgreSQL 16.11
|
||||
✓ TimescaleDB 2.25.0
|
||||
✓ postgresql-client-16
|
||||
3. 시스템 도구
|
||||
✓ Git 2.43.0
|
||||
✓ curl, wget
|
||||
✓ vim, nano
|
||||
✓ htop (시스템 모니터링)
|
||||
✓ tmux (터미널 멀티플렉서)
|
||||
|
||||
🔧 추가로 설치해야 할 것들
|
||||
1. OPC UA 라이브러리 (NuGet)
|
||||
bashcd ~/projects/OpcUaMinimal
|
||||
dotnet add package OPCFoundation.NetStandard.Opc.Ua --version 1.5.374.126
|
||||
dotnet add package OPCFoundation.NetStandard.Opc.Ua.Client --version 1.5.374.126
|
||||
또는 더 간단한 라이브러리:
|
||||
bashdotnet add package Technosoftware.OpcUaNetStandardLibrary --version 7.0.0
|
||||
2. Entity Framework Core (PostgreSQL)
|
||||
bashdotnet add package Npgsql.EntityFrameworkCore.PostgreSQL --version 8.0.23
|
||||
dotnet add package Microsoft.EntityFrameworkCore.Design --version 8.0.23
|
||||
dotnet add package Microsoft.EntityFrameworkCore.Tools --version 8.0.23
|
||||
3. SignalR (실시간 통신)
|
||||
bashdotnet add package Microsoft.AspNetCore.SignalR.Client --version 8.0.23
|
||||
4. 기타 필수 라이브러리
|
||||
bash# Logging
|
||||
dotnet add package Serilog.AspNetCore --version 8.0.3
|
||||
dotnet add package Serilog.Sinks.File --version 6.0.0
|
||||
dotnet add package Serilog.Sinks.PostgreSQL --version 3.2.0
|
||||
|
||||
# Configuration
|
||||
dotnet add package Microsoft.Extensions.Configuration.Json
|
||||
dotnet add package Microsoft.Extensions.Options.ConfigurationExtensions
|
||||
|
||||
# Background Service
|
||||
dotnet add package Microsoft.Extensions.Hosting
|
||||
dotnet add package Microsoft.Extensions.Hosting.Systemd
|
||||
5. 시스템 서비스 관련 (Linux에서 필요)
|
||||
bash# systemd 개발 헤더 (이미 설치됨)
|
||||
✓ systemd-dev
|
||||
|
||||
# 추가 필요한 것
|
||||
sudo apt update
|
||||
sudo apt install -y build-essential
|
||||
|
||||
📁 프로젝트 구조 생성
|
||||
bashcd ~/projects
|
||||
mkdir -p OpcClientSystem
|
||||
cd OpcClientSystem
|
||||
|
||||
# 1. Core 프로젝트
|
||||
dotnet new classlib -n Domain -o 01_Core/Domain
|
||||
dotnet new classlib -n Application -o 01_Core/Application
|
||||
|
||||
# 2. Infrastructure 프로젝트
|
||||
dotnet new classlib -n Infrastructure -o 02_Infrastructure
|
||||
|
||||
# 3. OPC Client Service
|
||||
dotnet new worker -n OpcDataCollector.Service -o 03_Service
|
||||
|
||||
# 4. Web API
|
||||
dotnet new webapi -n IndustrialAutomation.API -o 04_WebAPI
|
||||
|
||||
# 5. Blazor Web (선택)
|
||||
dotnet new blazor -n IndustrialAutomation.Web -o 05_Web
|
||||
|
||||
# Solution 파일 생성
|
||||
dotnet new sln -n OpcClientSystem
|
||||
|
||||
# 프로젝트들을 Solution에 추가
|
||||
dotnet sln add 01_Core/Domain/Domain.csproj
|
||||
dotnet sln add 01_Core/Application/Application.csproj
|
||||
dotnet sln add 02_Infrastructure/Infrastructure.csproj
|
||||
dotnet sln add 03_Service/OpcDataCollector.Service/OpcDataCollector.Service.csproj
|
||||
dotnet sln add 04_WebAPI/IndustrialAutomation.API/IndustrialAutomation.API.csproj
|
||||
|
||||
🗄️ PostgreSQL 설정
|
||||
DB 생성 (아직 안 했다면)
|
||||
bashsudo -u postgres psql
|
||||
|
||||
# PostgreSQL 프롬프트에서
|
||||
CREATE DATABASE scada;
|
||||
CREATE USER opcuser WITH PASSWORD 'your_password';
|
||||
GRANT ALL PRIVILEGES ON DATABASE scada TO opcuser;
|
||||
|
||||
# TimescaleDB 확장 활성화
|
||||
\c scada
|
||||
CREATE EXTENSION IF NOT EXISTS timescaledb;
|
||||
|
||||
\q
|
||||
연결 테스트
|
||||
bashpsql -h localhost -U opcuser -d scada
|
||||
# 비밀번호 입력 후 연결 확인
|
||||
|
||||
🔐 환경 변수 설정
|
||||
bash# ~/.bashrc 또는 ~/.profile에 추가
|
||||
echo 'export ConnectionStrings__DefaultConnection="Host=localhost;Database=scada;Username=opcuser;Password=your_password"' >> ~/.bashrc
|
||||
source ~/.bashrc
|
||||
|
||||
🚀 개발 시작 체크리스트
|
||||
✅ 완료된 것
|
||||
|
||||
Ubuntu Server 24.04 설치
|
||||
PostgreSQL 16 설치
|
||||
TimescaleDB 설치
|
||||
.NET SDK 8.0 설치
|
||||
Git 설치
|
||||
VSCode Remote SSH 연결
|
||||
|
||||
📝 해야 할 것
|
||||
|
||||
OPC UA NuGet 패키지 설치
|
||||
EF Core PostgreSQL 패키지 설치
|
||||
프로젝트 구조 생성
|
||||
Database 스키마 생성
|
||||
OPC Client 기본 연결 테스트
|
||||
Experion 서버 연결 확인
|
||||
|
||||
|
||||
🎯 다음 단계 제안
|
||||
bash# 1. 간단한 테스트 프로젝트부터 시작
|
||||
cd ~/projects
|
||||
dotnet new console -n OpcTest
|
||||
cd OpcTest
|
||||
|
||||
# 2. OPC UA 패키지 설치
|
||||
dotnet add package OPCFoundation.NetStandard.Opc.Ua.Client
|
||||
|
||||
# 3. Experion 연결 테스트 코드 작성
|
||||
# (다음 메시지에서 샘플 코드 제공 가능)
|
||||
|
||||
# 4. 테스트 실행
|
||||
dotnet run
|
||||
필요한 것이 더 있으면 말씀해주세요!
|
||||
|
||||
OPC UA 연결 테스트 코드?
|
||||
DB 스키마 생성 스크립트?
|
||||
전체 프로젝트 템플릿 코드?
|
||||
nuget 이미 설치했는데?오전 10:01아! 죄송합니다. NuGet은 .NET SDK에 포함되어 있으니 이미 사용 가능합니다.
|
||||
제가 말한 건 NuGet 패키지 관리자가 아니라 NuGet 패키지(라이브러리) 설치를 의미한 거였습니다.
|
||||
정리하면:
|
||||
✅ 이미 있는 것 (설치 완료)
|
||||
✓ NuGet (패키지 관리자) - .NET SDK에 포함
|
||||
✓ .NET SDK 8.0
|
||||
✓ PostgreSQL 16
|
||||
✓ TimescaleDB
|
||||
📦 해야 할 것 (프로젝트에 라이브러리 추가)
|
||||
프로젝트를 만든 후에:
|
||||
bashcd ~/projects/OpcUaMinimal # 또는 새 프로젝트 경로
|
||||
|
||||
# 이런 명령어들로 라이브러리 추가
|
||||
dotnet add package OPCFoundation.NetStandard.Opc.Ua.Client
|
||||
dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL
|
||||
NuGet 자체는 설치할 필요 없고,
|
||||
NuGet을 통해 라이브러리들을 추가하면 됩니다!
|
||||
|
||||
🚀 바로 시작할 수 있는 것
|
||||
bashcd ~/projects/OpcUaMinimal
|
||||
|
||||
# OPC UA 라이브러리 추가
|
||||
dotnet add package OPCFoundation.NetStandard.Opc.Ua.Client
|
||||
|
||||
# PostgreSQL 라이브러리 추가
|
||||
dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL
|
||||
|
||||
# 설치 확인
|
||||
dotnet list package
|
||||
이제 Experion 서버 연결 테스트 코드가 필요하신가요?
|
||||
Reference in New Issue
Block a user