ESP32는 중국의 ESPressif사에서 WiFi & Bluetooth을 결합하여 제작한 개발용 MCU이다. ESP32-S Series, ESP32-C Series, ESP32 Modules 등이 존재하며, ESP32의 전 버전인 ESP8266도 존재한다.
ESP32는 다양한 회사에서 개발보드로 판매 중이며, 전작인 ESP8266과 다르게 많은 수의 입출력포트를 가지고 있으며, BLE(Bluetooth Low Energy)도 장착하여 WiFi와 Bluetooth를 동시에 지원하는 효율을 보여준다.
아두이노 IDE에서 ESP32를 사용하기 위해서는 환경설정에서 외부 설정을 불러와야 한다.
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
보드 세팅이 끝났다면 코딩을 통해 WiFi에 연결할 차례이다.
일단 연결하는 코드이다.
#include <WiFi.h>
char SSID[] = "WiFi의 SSID";
char PSWD[] = "WiFi의 비밀번호";
WiFiClient client;
void WiFi_init(){
Serial.print("[WiFi] Connecting to ");
Serial.println(SSID);
WiFi.mode(WIFI_STA);
WiFi.begin(SSID, PSWD);
while(WiFi.status() != WL_CONNECTED){
Serial.print(".");
delay(100);
}
Serial.println();
String ip = WiFi.localIP().toString();
Serial.print("[WiFi] Connected ");
Serial.println(ip);
}
void setup(){
Serial.begin(9600);
//Serial.begin(115200);
while(!Serial);
WiFi_init();
}
void loop(){
}
코드 설명이 필요할 것이다.
WiFi.mode(WIFI_STA) : WiFi를 어떤 형식으로 연결할 지 선택
WiFi.begin(SSID, PSWD) : SSID라는 이름의 WiFi를 PSWD라는 비밀번호로 연결 시도함
while(WiFi.status() != WL_CONNECTED){...}
: 연결이 제대로 되지 않았을 때에는 반복하며 연결될 때까지 대기
WiFi.localIP().toString() : WiFi에 연결했을 때의 보드의 IP주소를 반환하여 String 형식으로 변환함
위에서 ssid와 password만 변경하여 시도하면 연결될 것이다.
! 모든 설명은 Arduino IDE 2.0.2 기준으로 진행된 점, 양해바랍니다.