와이파이/이더넷으로 iOS·안드로이드 앱에서 아두이노 LED 제어하기
부품 및 소모품
프로젝트 소개
앱으로 아두이노 제어하기
TCP 네트워킹 프로토콜을 이용해 모바일 앱에서 아두이노 보드를 제어하는 예제입니다. 와이파이 실드 또는 이더넷 실드를 통해 통신하며, 인텔 에디슨 기반 아두이노 SDK에서도 동일하게 작동합니다.
- 와이파이 실드 사용 시: 모바일 기기와 아두이노가 같은 LAN에 있어야 직접 통신 가능.
- 이더넷 실드 사용 시: 아두이노 → 유선 공유기 → 와이파이 → 스마트폰 경로로 통신. 양측이 같은 주소 대역 또는 DHCP 서버를 공유하면 됩니다.
필요 장비
- LED 1개 (원하는 색상)
- 저항 200Ω 1개
- 브레드보드, 점퍼 와이어, 컴퓨터, 스마트폰
소프트웨어
TCP 블링크 예제 코드는 Evothings Workbench에 포함되어 있습니다.
아두이노 준비
회로도는 아래와 같습니다. LED의 짧은 다리(GND)는 GND 핀에, 긴 다리는 디지털 핀 2에 연결합니다. (실드 그림은 생략되어 있습니다.)
아두이노 + LED 회로도
Evothings Studio 설치 후 examples/arduino-input-tcp 폴더 내 arduinoethernet 또는 arduinowifi 폴더에 있는 .ino 파일을 찾으세요.
와이파이 실드 사용 시 스케치 62, 66행의 SSID와 비밀번호를 본인 환경에 맞게 수정하세요. 비밀번호 없이 사용하려면 비워두면 됩니다.
와이파이 SSID/비밀번호 설정 부분
스케치를 업로드하고 시리얼 모니터(115200 보드레이트)를 열면 할당받은 IP 주소가 출력됩니다. 이 IP를 메모해 두세요.
시리얼 모니터에 표시된 IP 주소
Evothings Studio 기초
Evothings Studio를 처음 실행한다면 맥OS에서는 '보안 및 개인정보 보호'에서 '열기'를 허용해야 할 수 있습니다.
Evothings Studio 초기 화면
중요 탭 세 가지:
- Connect: PC와 스마트폰(Viewer 앱) 연결
- Examples: 템플릿 예제들
- My Apps: 내 프로젝트 관리
Examples → "Arduino TCP Blink" → Copy → My Apps 순으로 복사하면 자동으로 My Apps 탭으로 이동합니다. 복사된 앱의 Code 버튼을 눌러 파일 구조를 확인하세요.
프로젝트 파일 구조
핵심 파일:
- index.html: UI 구조, 레이아웃, 리소스 링크
- arduinotcp.js: 저수준 연산(아날로그 입력 읽기 등) 및 통신 로직 포함
팁: index.html 52번째 줄의 기본 IP 주소를 아두이노에 할당된 IP로 미리 수정하면 스마트폰에서 직접 입력하는 수고를 덜 수 있습니다.
TCP 블링크 예제 실행
- Workbench와 Viewer 앱 연결 (Connect 탭에서 QR 코드 스캔 또는 수동 입력)
- My Apps에서 "Arduino TCP Blink"의 Run 버튼 클릭
- Viewer 앱에서 "Connect" 버튼 누르면 스마트폰으로 LED 온/오프 제어 가능
- 시리얼 모니터에서 상태 메시지 확인
앱 실행 화면
자동 리로드 기능
코드 수정 후 저장하면 컴파일, 서명, 수동 업로드 없이 자동으로 Viewer 앱에 반영됩니다. 매우 빠른 개발 사이클을 지원합니다.
Evothings Studio 다운로드
모바일 IoT 개발을 지금 시작하세요! https://evothings.com/download