IOTHUB SOFTWARE
IoT 개발환경 실무 세팅
코드를 올리는 프로그램을 설치하는 것에서 끝나면 현장에서 막힙니다. 이 페이지는 Arduino IDE, ESP32 보드 설정, 라이브러리, Python, 텔레그램 봇을 실제 IoT 제작 순서대로 준비하는 기준표입니다.
설치 순서
우리집 IoT 허브 시리즈를 따라 하려면 몇 가지 소프트웨어 준비가 필요합니다. 대부분 한 번만 설치하면 되는 항목이므로, 먼저 개발 환경을 안정적으로 맞춘 뒤 제작 글을 진행하는 편이 좋습니다.
필요한 프로그램
| 프로그램 | 왜 필요한가 | 난이도 | 소요 시간 |
|---|---|---|---|
| Arduino IDE | ESP32에 코드를 업로드하는 프로그램 | ★☆☆ | 5분 |
| ESP32 보드 설정 | Arduino IDE가 ESP32를 인식하게 만드는 설정 | ★☆☆ | 2분 |
| 필수 라이브러리 | OLED, TFT, 센서용 코드 모음 | ★☆☆ | 2분 |
| Python | AI 브로커 서버를 돌리는 언어 | ★☆☆ | 5분 |
| 텔레그램 & 봇 만들기 | 폰으로 집 상태 알림 받기 | ★★☆ | 5분 |
Arduino IDE
ESP32 보드에 코드를 작성하고 업로드하는 기본 개발 프로그램입니다.
- 다운로드: arduino.cc/en/software
- 공식 설치 가이드: docs.arduino.cc/software/ide-v2
Windows, Mac, Linux를 모두 지원합니다. 설치 중 드라이버 설치 여부를 묻는 창이 나오면 승인해도 됩니다.
ESP32 보드 설정
Arduino IDE는 기본 상태에서 Arduino 보드를 중심으로 동작하므로, ESP32 보드를 추가로 등록해야 합니다.
- Arduino IDE를 실행하고
File→Preferences로 이동합니다. Mac에서는Arduino IDE→Settings를 사용합니다. Additional boards manager URLs칸에 아래 주소를 붙여넣습니다.
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.jsonOK를 누른 뒤 좌측Boards Manager아이콘을 열고 검색창에esp32를 입력한 다음Install을 선택합니다.- 설치 완료 후
Tools→Board에서ESP32 Dev Module이 보이면 정상입니다.
필수 라이브러리
시리즈 편마다 필요한 라이브러리는 다르지만, 다음 항목은 대부분의 제작 글에서 자주 사용됩니다. Arduino IDE의 Tools → Manage Libraries에서 검색해 설치합니다.
| 라이브러리 | 검색어 | 사용처 |
|---|---|---|
| TFT_eSPI | TFT_eSPI | TFT LCD 제어 (21~22편) |
| Adafruit SSD1306 | Adafruit SSD1306 | OLED 제어 (2~20편) |
| Adafruit GFX | Adafruit GFX | 그래픽 기본 |
TFT_eSPI는 설치 후 User_Setup.h 수정이 필요합니다. 자세한 설정 방법 →
Python
ESP32와 AI를 연결하는 중간 서버는 Python으로 구성하는 경우가 많습니다.
- 다운로드: python.org/downloads
- 공식 설치 가이드: docs.python.org/ko/3/using
설치 시 Add Python to PATH 항목을 반드시 체크합니다. 이 항목을 놓치면 나중에 python 명령어를 터미널에서 바로 사용할 수 없습니다.
설치 확인: 터미널(검은 창)에서 python --version 입력 → Python 3.8.x 이상이 나오면 OK.
텔레그램 & 봇 만들기
IoT 장치가 사용자의 스마트폰으로 알림을 보내려면 텔레그램 봇 구성이 필요합니다.
- 텔레그램 앱 설치: 앱스토어/플레이스토어에서
Telegram검색 → 설치 → 가입 - BotFather로 봇 만들기: 텔레그램에서
@BotFather검색 →/newbot입력 → 이름/사용자명 입력 → 토큰 복사 - 내 Chat ID 확인: 텔레그램에서
@userinfobot검색 →/start→Id:번호 복사
설치 다 했는지 체크리스트
- □ Arduino IDE 실행됨
- □ ESP32 보드가
Tools→Board에 보임 - □ TFT_eSPI 라이브러리 설치됨
- □ Python 터미널에서
python --version작동함 - □ 텔레그램 앱 깔고 BotFather로 봇 토큰 받음
이 5가지를 확인하면 시리즈의 대부분의 제작 글을 바로 따라갈 수 있습니다.
더 알아보면 좋은 도구 (선택)
기본 시리즈를 따라 한 뒤에는 아래 도구들도 검토할 수 있습니다. 당장 필수는 아니지만, 프로젝트 규모가 커질수록 개발과 운영을 더 편하게 만들어 줍니다.
| 도구 | 한 줄 설명 | 왜 좋은가 |
|---|---|---|
| PlatformIO | 프로 개발자용 Arduino IDE 대체품 | 코드 자동완성, 라이브러리 관리, 디버깅까지. VS Code에 플러그인으로 설치 |
| ESPHome | ESP8266/ESP32를 YAML 설정만으로 제어 | 코딩 없이 센서 설정 파일 하나로 펌웨어 생성. Home Assistant와 연동이 주 용도 |
| MQTT Explorer | MQTT 메시지를 실시간으로 들여다보는 도구 | 센서 데이터가 브로커를 통과하는지 눈으로 확인할 수 있어 디버깅에 유용합니다. |
| Node-RED | 플로우 차트 그리듯 IoT 로직을 연결 | ESP32 → MQTT → Node-RED → 텔레그램/Dashboard 흐름을 드래그 앤 드롭 방식으로 구성할 수 있습니다. |
ESPHome은 Home Assistant 사용자에게 특히 유용합니다. 여러 센서 노드를 YAML 파일로 관리할 수 있고, Node-RED는 "AI 분석 결과 수신 → 위험도 판단 → 텔레그램/이메일/SMS 알림" 같은 복잡한 흐름을 코드 작성 없이 구성하는 데 도움이 됩니다.
실무에서는 설치 순서가 중요하다
개발환경은 프로그램을 많이 설치하는 것이 목적이 아닙니다. 보드를 USB로 인식하고, 코드를 올리고, 라이브러리 충돌을 줄이고, 서버나 알림 시스템까지 이어지는 흐름이 끊기지 않아야 합니다. 그래서 처음에는 Arduino IDE 하나만 설치하는 것처럼 보여도, 실제로는 드라이버, 보드 매니저, 포트, 라이브러리, Python, 메시지 알림까지 하나의 작업선으로 봐야 합니다.
가장 좋은 순서는 간단합니다. 먼저 Arduino IDE를 설치하고, ESP32 보드 패키지를 추가한 뒤, 예제 스케치를 실제 보드에 업로드합니다. 그 다음 OLED나 TFT 같은 화면 라이브러리를 설치하고, 마지막으로 Python과 텔레그램 봇을 붙여 장치가 서버나 휴대폰 알림과 연결되는지 확인합니다.
설치가 끝났다는 기준
- 보드가 USB 포트에 정상 표시됩니다.
- 빈 스케치가 업로드되고 보드가 재부팅됩니다.
- 시리얼 모니터에서 로그를 볼 수 있다.
- 필수 라이브러리 예제가 컴파일됩니다.
- Python에서 필요한 패키지를 설치할 수 있다.
- 텔레그램 봇으로 테스트 메시지를 받을 수 있다.
처음에 건너뛰면 나중에 오래 걸리는 것
초보자가 가장 많이 막히는 지점은 코드가 아니라 포트와 라이브러리입니다. USB 케이블이 충전 전용이면 포트가 보이지 않고, CH340이나 CP210x 드라이버가 없으면 업로드가 실패합니다. 같은 이름의 라이브러리를 여러 개 설치하면 예제는 맞는데 컴파일이 깨지는 경우도 있습니다.
그래서 환경 세팅이 끝난 날에는 성공한 조합을 기록해두는 편이 좋습니다. 운영체제, Arduino IDE 버전, ESP32 board package 버전, 사용 보드명, 포트명, 설치한 라이브러리 이름을 적어두면 나중에 다른 PC에서 같은 환경을 재현하기 쉽습니다.
이 섹션의 목표는 “설치 완료”가 아니라 “다음 글의 회로와 코드가 막히지 않고 올라가는 상태”를 만드는 것입니다.