현재 설치 상태 요약 ✅ 이미 설치된 것들 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 서버 연결 테스트 코드가 필요하신가요?