826-11 / index.html
kimhyunwoo's picture
Update index.html
272df0c verified
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SDV Data Model & Message Definition</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&family=Source+Code+Pro:wght@400;600&display=swap" rel="stylesheet">
<style>
body {
font-family: 'Noto Sans KR', sans-serif;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
background-color: #f0f2f5;
}
.slide {
width: 1280px;
height: 720px;
background: linear-gradient(135deg, #3a0ca3, #7209b7);
color: white;
display: flex;
flex-direction: column;
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
border-radius: 1rem;
padding: 48px;
}
.code-block {
font-family: 'Source Code Pro', monospace;
}
.code-block .key { color: #93c5fd; } /* blue-300 */
.code-block .string { color: #a7f3d0; } /* emerald-200 */
.code-block .number { color: #fde047; } /* yellow-300 */
.code-block .comment { color: #9ca3af; } /* gray-400 */
</style>
</head>
<body>
<div class="slide">
<!-- Slide Header -->
<div class="text-center mb-8">
<h1 class="text-5xl font-bold">Device API ๋ฐ์ดํ„ฐ ๋ชจ๋ธ ๋ฐ ๋ฉ”์‹œ์ง€ ์ •์˜</h1>
<p class="text-2xl mt-3 text-purple-200">ํ‘œ์ค€ํ™”๋œ JSON ๊ธฐ๋ฐ˜ ํ†ต์‹  ํ”„๋กœํ† ์ฝœ</p>
</div>
<!-- Main Content Grid -->
<div class="flex-grow grid grid-cols-2 gap-12">
<!-- Left Column: Details -->
<div class="flex flex-col justify-center space-y-8">
<div>
<h3 class="text-3xl font-semibold mb-3 text-fuchsia-300"><i class="fas fa-envelope-open-text mr-3"></i>๋ฉ”์‹œ์ง€ ๊ตฌ์กฐ</h3>
<ul class="space-y-3 pl-5 list-disc list-inside text-xl">
<li><strong class="font-bold text-white">JSON ๊ธฐ๋ฐ˜ Key-Value:</strong> ๊ฐ€๋…์„ฑ ๋†’๊ณ  ์œ ์—ฐํ•œ ๋ฐ์ดํ„ฐ ๊ตํ™˜ ํ˜•์‹</li>
<li><strong class="font-bold text-white">deviceId:</strong> ์ œ์–ดํ•  ํ•˜๋“œ์›จ์–ด ์žฅ์น˜์˜ ๊ณ ์œ  ์‹๋ณ„์ž</li>
<li><strong class="font-bold text-white">interface:</strong> `setOper`, `ntfCurr` ๋“ฑ ์ถ”์ƒํ™”๋œ ๊ธฐ๋Šฅ</li>
<li><strong class="font-bold text-white">params / result:</strong> ์ž…์ถœ๋ ฅ ํŒŒ๋ผ๋ฏธํ„ฐ ๋ฐ ์ˆ˜ํ–‰ ๊ฒฐ๊ณผ</li>
</ul>
</div>
<div>
<h3 class="text-3xl font-semibold mb-3 text-fuchsia-300"><i class="fas fa-exchange-alt mr-3"></i>ํ˜ธ์ถœ ๋ฐฉ์‹ ๋ฐ ํŠน์ง•</h3>
<ul class="space-y-3 pl-5 list-disc list-inside text-xl">
<li>Request/Response ๋ฐ Event-driven ํ†ต์‹  ์ง€์›</li>
<li>์„œ๋น„์Šค ํ’ˆ์งˆ(QoS), ํƒ€์ž„์•„์›ƒ(Timeout) ๋“ฑ ์ œ์•ฝ ์กฐ๊ฑด ํฌํ•จ ๊ฐ€๋Šฅ</li>
</ul>
</div>
</div>
<!-- Right Column: JSON Example -->
<div class="flex flex-col items-center justify-center bg-black/20 p-8 rounded-xl backdrop-blur-sm border border-white/20">
<h3 class="text-3xl font-bold mb-4">JSON ๋ฉ”์‹œ์ง€ ์˜ˆ์‹œ</h3>
<div class="w-full space-y-4">
<!-- Request Block -->
<div>
<p class="font-semibold text-lg mb-1">โ–บ Request: ์ฐฝ๋ฌธ ๋ชจํ„ฐ ๊ตฌ๋™ ์š”์ฒญ</p>
<div class="bg-gray-900/70 rounded-lg p-4 code-block text-base">
<pre><code>{
<span class="key">"deviceId"</span>: <span class="string">"WindowMotor_FL"</span>,
<span class="key">"interface"</span>: <span class="string">"setOper"</span>,
<span class="key">"params"</span>: {
<span class="key">"dir"</span>: <span class="number">1</span>, <span class="comment">// 1: Upward</span>
<span class="key">"dutyRat"</span>: <span class="number">10000</span> <span class="comment">// 100.00%</span>
}
}</code></pre>
</div>
</div>
<!-- Response Block -->
<div>
<p class="font-semibold text-lg mb-1">โ—„ Response: ์š”์ฒญ ๊ฒฐ๊ณผ ์‘๋‹ต</p>
<div class="bg-gray-900/70 rounded-lg p-4 code-block text-base">
<pre><code>{
<span class="key">"deviceId"</span>: <span class="string">"WindowMotor_FL"</span>,
<span class="key">"interface"</span>: <span class="string">"setOper"</span>,
<span class="key">"result"</span>: {
<span class="key">"status"</span>: <span class="number">0</span> <span class="comment">// 0: OK</span>
}
}</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>