본문 바로가기

ESP32

ESP32 IoT 프로젝트 및 기술 구현 3가지 프로젝트

반응형

IoT 프로젝트 및 기술 구현 단계를 다음과 같이 3개의 파트(Part)에 걸쳐 순서대로 정리하였습니다. 


Part I. 클래식 HTML & JavaScript 기술을 활용한 IoT 통신

  1. 기본 웹 서버 구축 (Minimal Web Server): ESP32를 기본 서버로 설정하고 DHCP 또는 고정 IP를 할당하여 접속 가능한 기본 웹 페이지 생성.
  2. Wi-Fi를 통한 GPIO 핀 디지털 제어: 웹 브라우저의 하이퍼링크 및 MIT App Inventor 앱을 활용해 내장 LED(GPIO2) 등 디지털 출력 핀 ON/OFF 제어.
  3. PWM 기법을 적용한 아날로그/디지털 명령 전송: MIT App Inventor 슬라이더 컨트롤과 PWM(Pulse Width Modulation) 기능을 연동하여 LED 밝기 조정 등 출력 제어.
  4. MIT App Inventor 기반의 양방향 통신: 클라이언트(앱)와 서버(ESP32) 간에 디지털 센서 스위치 및 A0 아날로그 가변저항 수치를 양방향으로 전달하여 실시간 표시.
  5. AJAX 기술을 이용한 웹 전송: 웹 페이지 전체를 새로고침하지 않고 단일/다중 디지털 출력을 제어하고 토글(Toggle)하는 비동기 통신 프로젝트.
  6. AJAX 비동기 웹 서버 및 자동 갱신: ESPAsyncWebServer 라이브러리를 활용해 디지털/아날로그 입력값 및 터치(Touch) 센서 상태를 주기적으로 자동 갱신 및 모니터링.
  7. HTML/JS/CSS 그래픽 요소를 통한 시각화: CSS Progressbar, Google Gauges 등을 통합하여 아날로그 센서 수치를 시각적인 그래픽 게이지로 모니터링.
  8. 웹 슬라이더를 이용한 아날로그 제어: 웹 인터페이스 내 슬라이더 요소를 통해 서버의 아날로그 출력을 직접 조작.
  9. ESP-IDF 및 Eclipse 개발 환경 연동: 대규모 프로젝트 개발 및 디버깅을 위해 Espressif 공식 ESP-IDF 툴체인과 Eclipse IDE 환경 구성.

Part II. MQTT 기술을 활용한 IoT 통신

  1. PubSubClient 라이브러리 기반 MQTT 기본 제어: PubSubClient를 설치하고 MQTT 브로커와 연결하여 토픽(Topic) 기반의 메시지 발행/구독으로 디지털 출력 제어.
  2. HelloIoT 앱 연동 MQTT 프로젝트: HelloIoT 애플리케이션을 연결하여 다중 디지털 출력, PWM 아날로그 출력, 디지털/터치/아날로그 입력 상태 수신 구현.
  3. Windows 환경의 Node-Red 및 Mosquitto 연동: Node-Red의 시각적 프로그래밍과 Mosquitto 브로커를 활용해 브라우저 대시보드를 구축하고 입출력 제어.
  4. Raspberry Pi 기반 MQTT 서버 구축: 라즈베리 파이(Raspbian)에 Mosquitto 브로커와 Node-Red 대시보드를 설치하여 독자적인 중앙 IoT 서버 구축.

Part III. WebSockets 기술을 활용한 인터넷 통신

  1. WebSockets 기반 고속 양방향 제어: WebSockets 프로토콜을 사용하여 저지연 실시간 양방향 연결을 형성하고 디지털 및 PWM 출력 제어.
  2. WebSockets 기반 실시간 데이터 모니터링: 디지털 입력 모니터링 및 아날로그 센서 수치를 텍스트, 프로그래스 바, 게이지(Gauge), 실시간 라인 차트(Line Chart)로 시각화.

 

 

 

 

반응형