Wiznet makers

Sunny_

Published January 30, 2026 ©

10 UCC

2 WCC

0 VAR

0 Contests

0 Followers

0 Following

Original Link

LabVIEW Arduino TCP/IP

LabVIEW Arduino TCP/IP

COMPONENTS
PROJECT DESCRIPTION

1. 프로젝트 개요

이 프로젝트는 Arduino + WIZnet W5100 이더넷 모듈
PC의 LabVIEW를 TCP/IP로 연결해서,

집 안의 가스 누출,

온도 변화,

인체 움직임(침입 여부) 를 실시간으로 모니터링하고,

조명·콘센트 같은 가전 제품의 전원을 원격으로 제어하는
작은 스마트 홈 시스템을 구현한 예제입니다.

Arduino는 집 안에 설치된 센서와 릴레이를 직접 제어하는 하위 장치이고,
LabVIEW는 PC에서 돌아가는 상위 모니터링·제어 프로그램입니다.
두 장치는 WIZnet W5100 이더넷 칩을 통해 TCP/IP로 통신합니다.


2. 시스템 구조

구성 요소를 크게 나누면 다음과 같습니다.

센서·액추에이터 층 (집 안 물리 세계)

MQ-2 가스 센서: 연기·메탄 등 가스 농도 감지

DS18B20 디지털 온도 센서: 실내 온도 측정

PIR(압전 적외선) 센서: 사람 움직임 감지 → 침입/도난 감지

4채널 릴레이: 조명, 팬, 기타 가전 ON/OFF

엣지 컨트롤러 – Arduino + W5100

Arduino Uno가 모든 센서/릴레이를 직접 읽고 제어

W5100 이더넷 모듈이 TCP/IP 통신 담당

Arduino는 TCP 서버(예: 192.168.1.177:8000) 로 동작하면서
LabVIEW에서 오는 명령을 받아 처리하고, 센서 값을 되돌려 보냄

상위 관제 – LabVIEW(PC)

TCP 클라이언트로 Arduino에 접속

프런트 패널에:

가스 농도 게이지

온도 파형 그래프

네 개의 전기 스위치(릴레이 제어 버튼)

PIR 상태 표시 LED

사용자는 이 화면 하나로 집 안 상태를 보고, 버튼으로 가전을 제어할 수 있음


3. 센서·제어 기능 요약

가스 센서(MQ-2)

연기, 메탄, LPG 등을 감지하는 저항형 센서입니다.

농도가 올라가면 저항이 변하고, Arduino에서 A0로 아날로그 값을 읽어 가스 농도를 추정합니다.

히터 예열 시간이 필요해서, 전원을 켠 직후 약 10분 정도는 안정화 시간을 주는 것이 좋습니다.

온도 센서(DS18B20)

1-Wire 디지털 센서라서, 데이터 선 하나(D2)와 4.7kΩ 풀업 저항만 있으면 됩니다.

온도 값을 바로 디지털로 읽을 수 있어서 변환 회로가 필요 없습니다.

LabVIEW의 파형 차트로 시간에 따른 온도 변화를 표시할 수 있습니다.

PIR 적외선 센서

사람 몸에서 나오는 적외선의 움직임을 감지해서, 사람이 지나갔는지 여부를 HIGH/LOW로 알려줍니다.

도난 방지·침입 감지 용도로 쓰이고, LabVIEW에서는 작은 경고 LED로 표시합니다.

릴레이(4채널)

Arduino D3~D6 핀에 연결되며, 각 핀을 HIGH/LOW로 바꾸어 가전을 켜고 끕니다.

LabVIEW에서 스위치를 클릭하면, 그 정보가 TCP로 Arduino에 전달되고 → 릴레이가 실제로 On/Off됩니다.


4. LabVIEW ↔ Arduino 통신 방식

둘 사이의 통신은 아주 단순한 3바이트 프로토콜을 사용합니다.

프레임 구조:
0x55 0xAA + 동작코드 1바이트 (총 3바이트)

예시 명령 코드

0x80 : PIR 센서 값 요청

0x81 : 가스 농도 요청

0x82 : 온도 값 요청

0x11 / 0x10 : 릴레이1 ON / OFF

0x21 / 0x20 : 릴레이2 ON / OFF

0x31 / 0x30 : 릴레이3 ON / OFF

0x41 / 0x40 : 릴레이4 ON / OFF

동작 흐름은 이렇게 됩니다.

LabVIEW가 어떤 동작을 하고 싶을 때(예: 온도 읽기, 릴레이1 ON),
해당하는 3바이트 명령을 TCP로 전송합니다.

Arduino는 W5100을 통해 이 3바이트를 받고,
헤더(0x55, 0xAA)인지 확인한 뒤, 명령 코드에 맞는 동작을 수행합니다.

센서 요청이라면 값을 읽어서 print()로 응답하고,
릴레이 명령이라면 해당 출력 핀을 HIGH/LOW로 바꾸어 가전을 제어합니다.

이 구조 덕분에, LabVIEW 쪽에서는 문자열/바이트만 주고받으면 되기 때문에 구현이 간단합니다.


5. WIZnet W5100 관점에서의 의미

이 프로젝트에서 W5100 이더넷 칩이 담당하는 역할을 정리하면:

유선 TCP/IP 통신 전담

TCP 연결 관리, 재전송, 버퍼링 등을 하드웨어로 처리해 줍니다.

Arduino 코드에서는 Ethernet.begin(), EthernetServer, EthernetClient 정도만 사용하면 됩니다.

안정적인 스마트 홈 네트워크 기반

스마트 홈 장치는 24시간 계속 켜져 있어야 하므로,
Wi-Fi보다 유선 이더넷이 더 안정적인 경우가 많습니다.

W5100 기반 Ethernet Shield는 이런 실습·프로토타입에 적합한 구조를 제공합니다.

LabVIEW 같은 PC 소프트웨어와 자연스럽게 연동

PC 쪽에서는 “TCP 소켓 하나”만 열면 되기 때문에
LabVIEW, Python, C#, Node.js 등 어떤 환경과도 손쉽게 연결할 수 있습니다.

이 프로젝트에서는 LabVIEW를 썼지만, 같은 W5100 구조로 Web UI나 클라우드와도 연동이 가능합니다.


6. 활용 및 확장 가능성

이 시스템은 단순한 실습 예제를 넘어서, 다음과 같이 확장 가능합니다.

교육용 스마트 홈 키트

한 번에 센서 읽기, 릴레이 제어, TCP/IP, LabVIEW GUI까지 경험할 수 있어
학생/메이커 교육용으로 좋습니다.

실제 소규모 스마트 홈/보안 시스템

가스·온도·침입 모니터링 + 가전 제어를 하나의 보드로 구현할 수 있어,
작은 집·원룸·실험실·창고 등에서 바로 응용 가능합니다.

클라우드/모바일 연동

LabVIEW 대신 웹 서버나 클라우드 API를 붙이면,
스마트폰 앱이나 브라우저에서 “우리 집 상태를 보고 제어”하는 시스템으로 발전시킬 수 있습니다.

Documents
Comments Write