[IoT] ESP32 보드 실습

정재훈·2022년 5월 17일
0

IoT

목록 보기
1/6
post-custom-banner

IoT란?

IoT(Internet of Things) : 각종 사물에 센서와 무선 통신 기능을 내장하여 인터넷에 연결하는 기술

활용 사례 : 홈 IoT, 스마트 팜, 웨어러블
단점 : 인터넷 보안 위험, 정전시 동작 오류
해결책 : 안정적인 IoT 서버, 보안강화

ESP32 보드

사용할 보드 : ESP32
모든 보드가 센서 노드가 될수 있지만 , IoT 를 위해서라면 어찌됐든지 간에 통신 기능이 있어야 한는데 ESP32는 무선통신인 Wi-Fi 및 BLE를 지원한다.

보드 테스트

윈도우용 스케치 프로그램(아두이노) 다운

내부 LED 테스트 코드

void setup() {  // 1회성 호출 - init 함수 역할
  pinMode(LED_BUILTIN, OUTPUT); // 출력으로 설정
}

void loop() {  // while과 같은 무한 루프
  digitalWrite(LED_BUILTIN, HIGH); // LED 켜기
  delay(1000);
  digitalWrite(LED_BUILTIN, LOW); // LED 끄기
  delay(1000);
}

ESP32는 아두이노에서 공식적으로 지원하는 보드가 아니기 때문에, 보드를 따로 지정해줘야한다.

보드 지정

파일 > 환경설정 > 추가적인 보드 매니저 URLShttps://dl.espressif.com/dl/package_esp32_index.json추가하기

툴 > 보드 > 보드 매니저 > esp32 겁색 후 설치

툴> 보드 > ESP32 Arduino > Node32S 선택과 장치관리자에서 확인한 포트를 알맞게 설정 후 코드를 빌드 및 업로드를 해보면, 파란색 LED가 깜빡일 것입니다.

빌드 단축키 : Crtl + R , 업로드 단축키 : Crtl + U

예전 버전의 ESP32

다음 이미지와 동일한 ESP32 보드를 사용한다면, 업로드할때 오류가 발생한다.
해결책으로는 예전 버전의 ESP32에 업로드 할 때에는 로그 발생시 IO0버튼을 3초간 눌러줘야 한다.

외부 I/O 연결하기

PWM

모든 핀이 PWM을 지원하지 않는다. 데이터 시트를 확인해보자

웹서버 제작

ESP32로 웹서버도 제작할 수 있습니다. 파일 > 예제 > Webserver > HelloSever 코드에서 본인의 SSID와 PW를 입력하여 웹서버에 접속할 수 있습니다. 하단에 함수를 수정하여 API를 통해 추가적인 결과를 얻을 수 있습니다. 웹사이트 이미지 URL을 통해 이미지 삽입 또한 가능하다.

profile
여러 방향으로 접근하는 개발자
post-custom-banner

0개의 댓글