본문으로 건너뛰기

빠른 시작 (5분 완성)

Caffeine Framework를 5분 안에 시작하는 방법을 안내합니다.

사전 요구사항: .NET 10 SDK, Docker Desktop 설치 필요. 자세한 내용은 설치 가이드를 참고하세요.


1단계 — NuGet 패키지 설치 (1분)

새 Worker Service 프로젝트를 만들고 Caffeine 패키지를 추가합니다.

dotnet new worker -n MyIoTApp
cd MyIoTApp

# 코어 패키지 (드라이버 개발용)
dotnet add package NEXCODE.Caffeine.Core

# 클라이언트 SDK (Engine 연결용)
dotnet add package NEXCODE.Caffeine.Client

2단계 — Caffeine CLI 설치 (30초)

Caffeine CLI는 프로젝트 스캐폴딩, 인프라 관리, 드라이버 템플릿 생성을 지원합니다.

dotnet tool install -g NEXCODE.Caffeine.Cli

# 드라이버 최소 템플릿으로 프로젝트 초기화
cafe init --name MyDriver --template driver-minimal

3단계 — 인프라 시작 (30초)

Docker로 필수 인프라(Redis, InfluxDB)를 한 번에 시작합니다.

cafe infra up

내부적으로 deploy/docker-compose.yml을 사용합니다. Redis(6379)와 InfluxDB(8086)가 로컬에서 시작됩니다.


4단계 — 첫 번째 태그 읽기 (2분)

Program.cs를 아래와 같이 수정하여 시뮬레이션 드라이버로 태그를 읽습니다.

using Caffeine.Core.Abstractions;
using Caffeine.Core.Extensions;
using Microsoft.Extensions.DependencyInjection;

var builder = Host.CreateApplicationBuilder(args);

// Caffeine.Core 등록
builder.Services.AddCaffeine();

// 시뮬레이션 드라이버 등록
builder.Services.AddSingleton<IDriver, SimulationDriver>();

var host = builder.Build();

// 드라이버 연결 및 태그 읽기
var driver = host.Services.GetRequiredService<IDriver>();

await driver.ConnectAsync();
Console.WriteLine("드라이버 연결 완료");

var temperature = await driver.ReadTagAsync("Equipment1.Temperature");
Console.WriteLine($"온도: {temperature?.Value}°C");

await driver.DisconnectAsync();

실행:

dotnet run
# 출력: 온도: 72.5°C

5단계 — Engine 서버 + 클라이언트 연결 (선택, 1분)

Engine 서버를 시작하고 CaffeineClient로 연결합니다.

# Engine 시작 (별도 터미널)
dotnet run --project src/Caffeine.Engine
using Caffeine.Client;

var client = new CaffeineClient();
await client.ConnectAsync("https://localhost:5001");

// 드라이버 목록 조회
var drivers = await client.GetDriversAsync();
foreach (var driver in drivers.Drivers)
{
Console.WriteLine($"{driver.Name}: {driver.Status}");
}

await client.DisposeAsync();

다음 단계

목표링크
나만의 드라이버 만들기첫 번째 드라이버 만들기
상세 설치 가이드설치 가이드
아키텍처 이해하기아키텍처 개요
API 레퍼런스 전체 보기API 레퍼런스