IoT(Internet of Things)
: 각종 사물에 센서와 무선 통신 기능을 내장하여 인터넷에 연결하는 기술
활용 사례 : 홈 IoT, 스마트 팜, 웨어러블
단점 : 인터넷 보안 위험, 정전시 동작 오류
해결책 : 안정적인 IoT 서버, 보안강화
사용할 보드 : 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는 아두이노에서 공식적으로 지원하는 보드가 아니기 때문에, 보드를 따로 지정해줘야한다.
파일 > 환경설정 > 추가적인 보드 매니저 URLS
에 https://dl.espressif.com/dl/package_esp32_index.json
추가하기
툴 > 보드 > 보드 매니저 > esp32
겁색 후 설치
툴> 보드 > ESP32 Arduino > Node32S
선택과 장치관리자에서 확인한 포트
를 알맞게 설정 후 코드를 빌드 및 업로드를 해보면, 파란색 LED
가 깜빡일 것입니다.
빌드 단축키 : Crtl + R , 업로드 단축키 : Crtl + U
다음 이미지와 동일한 ESP32 보드를 사용한다면, 업로드할때 오류
가 발생한다.
해결책으로는 예전 버전의 ESP32에 업로드 할 때에는 로그 발생시 IO0버튼
을 3초간 눌러줘야 한다.
모든 핀이 PWM을 지원하지 않는다. 데이터 시트를 확인해보자
ESP32로 웹서버도 제작할 수 있습니다. 파일 > 예제 > Webserver > HelloSever
코드에서 본인의 SSID와 PW를 입력하여 웹서버에 접속할 수 있습니다. 하단에 함수를 수정하여 API를 통해 추가적인 결과를 얻을 수 있습니다. 웹사이트 이미지 URL을 통해 이미지 삽입 또한 가능하다.