IoT (Internet of Things, 사물인터넷)는 사람이 조작하지 않아도, 사물(기기)들이 인터넷을 통해 서로 정보를 주고받으며 자동으로 동작하는 기술입니다.
쉽게 말해, 냉장고, 조명, 선풍기 같은 ‘사물’이 센서를 통해 상황을 파악하고, 네트워크를 통해 다른 장치나 사람과 소통하며 스스로 동작하게 만드는 것입니다.
IoT 시스템은 보통 다음 세 가지 요소로 구성됩니다.
1) 센서(Sensor) : 온도, 습도, 조도, 토양 수분 등 환경 정보를 감지
2) 네트워크(Network) : Wi-Fi, 블루투스, LTE 등을 통해 인터넷이나 서버와 연결
3) 제어장치(Controller) : 감지한 정보에 따라 동작 수행 (예: 물 주기, 불 켜기 등)
가정 : 스마트 조명, 스마트 에어컨, 스마트 플러그
산업 : 기계 상태 실시간 모니터링, 공장 자동화
의료 : 스마트 체온계, 원격 진단 시스템
교통 : 스마트 신호등, 차량 위치 추적 시스템
Blynk는 스마트폰 앱을 이용해 IoT 기기를 쉽게 제어할 수 있도록 도와주는 IoT 플랫폼입니다.
코딩 경험이 많지 않아도 버튼 하나로 장치를 제어하거나 센서값을 확인할 수 있어 교육용, 시제품, 스마트팜 등 다양한 분야에 활용됩니다.
예: 스마트폰 앱에서 ‘버튼’을 눌러 전등을 켜고, 센서를 통해 온도나 토양수분을 확인하는 기능을 구현 가능합니다.
Blynk의 장점으로는
1. 블록형 앱으로 UI 구성이 쉬움
2. 다양한 센서 및 보드와 호환성 우수
3. 실시간 데이터 확인 및 제어 가능
4. 무료로도 충분히 실습 가능
Blynk는 다음과 같은 구조화된 순서를 통해 IoT 시스템을 설계합니다.
이 순서를 따르는 이유는, 서버와 디바이스 간 인증 및 데이터 흐름이 정확히 맞아야 하기 때문입니다.
에어컨 리모컨 비유
① 템플릿 생성 (Template)
· 리모컨을 만듭니다.
② 데이터 스트림 설정 (Datastream)
· 리모컨에 있는 버튼 하나하나의 기능을 정하는 단계예요.
V0 : 전원 버튼 (ON/OFF) LED
V1 : 온도 표시창 온도센서
③ 웹 대시보드 구성 (Web Dashboard)
· 이건 리모컨에 실제로 버튼을 붙이고, 화면을 다는 과정이에요.
→ 우리가 만든 V0 버튼은 불 켜는 버튼,
→ V1은 온도가 나오는 작은 화면처럼 보일 수 있어요.
④ 디바이스 등록(Device)
· 이제 이 리모컨이 어떤 에어컨(= 보드)을 조종할지 정해주는 단계예요.
→ "이건 거실 에어컨이다!" 하고 리모컨과 기기를 연결하는 느낌이에요.
⑤ 코드 작성 및 업로드 (헥사보드, ESP32 등)
· 리모컨에 ‘이 버튼은 불 켜는 기능이다’,
‘이 숫자는 온도를 표시한다’는 내용을 써주는 단계예요.
→ 그리고 이 리모컨(=코드)을 실제 보드에 넣으면 에어컨(=장치)이 제대로 작동해요!
오른쪽 위에 Edit 버튼이 보인다면 클릭해주세요.
Save 버튼이 나타나면 수정 중 상태이며, 이때 템플릿 이름을 변경할 수 있습니다.
그 아래에 있는 Template Settings를 누르면 이름 변경이 가능합니다.
1. 데이터 스트림이란?
데이터 스트림은 디바이스와 Blynk 서버 간에 주고받는 데이터의 흐름(채널)을 설정하는 단계입니다.
쉽게 말해, 센서나 액추에이터가 어떤 값(형식)을 어떤 핀을 통해 주고받는지를 정하는 과정입니다.
2. Blynk에서는 두 가지 방향의 데이터 흐름이 존재합니다.
1) 디바이스 → Blynk (Input)
· 디바이스(헥사보드)의 센서값을 Blynk로 보내는 방향
· 예 : 온도, 습도, 토양수분 등을 스마트폰이나 웹 대시보드에 표시하기 위해 사용
· 이때 센서가 값을 전송하는 가상의 핀(V0, V1 등)을 지정해야 합니다.
2) Blynk → 디바이스 (Output)
· Blynk에서 보낸 값을 디바이스가 받아 동작하는 방향
· 예: 앱에서 버튼을 누르면 펌프나 LED를 작동
· 역시 가상 핀을 통해 명령이 전달됩니다.
3. 디지털 vs 아날로그 데이터
디지털 (Digital) : 0 또는 1, 딱 두 가지 상태만 있음 버튼 ON/OFF
아날로그 (Analog) : 0부터 100까지 숫자처럼 계속 바뀔 수 있음
4. 아래는 디지털 장치(예: LED)와 아날로그 센서(예: 온도 센서)에 대한 데이터 스트림을 설정하는 방법입니다.
1. 웹 대시보드란?
· Blynk 콘솔에서 센서값을 확인하거나 버튼으로 디바이스를 제어할 수 있는 화면입니다.
· 사용자가 직접 UI 구성 (버튼, 슬라이더, 게이지 등)
· 각 위젯은 데이터 스트림에 연결되어야 정상 작동함
· 코드 수정 없이도 시각적 제어가 가능하다는 장점
2. 주의할 점
· 위젯 추가 후 반드시 데이터 스트림을 연결해야 작동합니다.
· 웹 대시보드는 실시간 연동되므로 저장 없이도 결과 확인 가능
· 모바일 앱 대시보드와 별개로 구성되며, 설정은 독립적임
2. app
디바이스 생성 방법은 두 가지가 있습니다.
템플릿에서 바로 생성하거나, 디바이스 메뉴에서 생성할 수 있습니다.
결과적으로 두 방법 모두 같은 방식으로 디바이스가 만들어집니다.
1. 템플릿에서 생성하기
2. 디바이스에서 생성하기
디바이스 메뉴에 들어간 뒤, 'New Device'를 클릭합니다.
그 다음, 내가 만든 템플릿을 선택합니다.
디바이스가 생성되면, 'Auth Token'이 자동 발급됩니다.
토큰 위치와 코드에 넣는 위치는 아래 GIF 파일을 참고해주세요.
회원가입 및 로그인, 템플릿 생성은 3.1 / 3.2를 참고해주세요.
헥사보드 일반형입니다.
이제 데이터 스트림부터 만들어보겠습니다.
1. 데이터 스트림 만들기
2. 웹 대시보드 설정
3. 디바이스 생성 및 연결
토큰 위치와 코드에 넣는 위치는 아래 GIF 파일을 참고해주세요.
회원가입 및 로그인, 템플릿 생성은 3.1 / 3.2를 참고해주세요.
헥사보드 자동급수와 ESP32 자동급수는 Blynk 생성 과정이 동일합니다.
이제 데이터 스트림부터 만들어보겠습니다.
1. 데이터 스트림 만들기
2. 웹 대시보드 설정
3. 디바이스 생성 및 연결
토큰 위치와 코드에 넣는 위치는 아래 GIF 파일을 참고해주세요.
1) 헥사보드 (Auth Token만 필요)
2) ESP32( Auth Token, Templeate name, Template ID)