Arduino IDE를 사용하여 ESP32 웹 서버를 프로그래밍하는 방법
아두이노 웹 서버를 위한 Wi-Fi 네트워크를 통한 마이크로컨트롤러와의 인터페이스는 한때 다소 특별한 일이었습니다. 오늘날에는 ESP32 개발 보드와 Arduino IDE를 사용하여 현지에 ESP32 웹 서버를 몇 분 만에 설정하고 실행할 수 있습니다.
이 데모를 위해서는 Adafruit ESP32 Feather와 2.4 GHz로 운영되는 Wi-Fi 네트워크에 대한 접근 권한이 필요합니다. 우리는 Arduino 2.0 IDE를 사용하여 ESP32를 프로그래밍할 것입니다. 또한 자석, LED, 저항기를 사용할 수 있지만 선택 사항입니다.
ESP32 웹 서버 소프트웨어 준비
Arduino 2.0 IDE를 설치하여 ESP32 웹 서버 설정을 시작합니다. 이 작업을 ESP32 장치와 함께 사용할 수 있도록 하려면 Arduino IDE > 환경설정 대화 상자를 열고, 추가 보드 매니저 URL 필드에 다음 줄을 추가하십시오:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
도구 > 보드 > 보드 관리자로 이동하여 "esp32"를 검색하세요. 표시되는 "esp32 by Espressif Systems" 보드 정의를 설치하면 ESP32 보드를 프로그래밍할 수 있으며 다양한 예제에 액세스할 수 있습니다.
LED 서버 제어
ESP32 Feather 개발 보드를 USB를 통해 컴퓨터에 연결하고, 디버그 아이콘 오른쪽에 있는 드롭다운 메뉴에서 적절한 포트를 선택하세요. 선택하면 보드 목록이 표시됩니다. 이 경우 Adafruit esp32를 입력하고 나타나는 Adafruit ESP32 Feather 옵션을 선택하십시오.
File > Examples > WiFi로 이동하여 SimpleWiFiServer를 로드합니다. 코드 라인 30과 31을 수정하여 실제 SSID 및 비밀번호를 입력하세요. 여러 옵션이 있을 경우 2.4 GHz 네트워크에 액세스하고 있는지 확인하십시오. 업로드 버튼을 눌러 프로그램을 보드로 컴파일하고 전송합니다.
프로그래밍이 완료되면 ESP32 Feather는 네트워크에 접속을 시도합니다. Arduino IDE에서 시리얼 모니터를 열고(오른쪽 상단 아이콘) 115200 baud로 설정하세요. IP 주소가 나열되어 접속할 수 있으며, 표시되지 않을 경우 리셋하거나 아래로 스크롤해야 할 수도 있습니다. 브라우저에서 나열된 IP 주소로 이동하면 핀 5를 켜거나 끌 수 있는 두 줄의 텍스트와 링크가 표시됩니다.
LED/저항을 핀 5에 연결하여(첫 번째 이미지처럼) 코드가 그대로 작동하도록 할 수 있습니다. 또는 기본 LED로 설정하여 이 작은 하드웨어 문제를 피할 수 있습니다. 그렇게 하려면 38, 103, 106번째 라인의 [pin] 5를 LED_BUILTIN으로 대체하면 외부 하드웨어 없이도 불이 켜집니다. 또한 라인 87과 88에서 “핀 5의 LED”를 “내장 LED”로 변경하여 사용자 인터페이스를 정확하게 만들 수 있습니다. 변경 내용을 적용하려면 다시 업로드하세요.
ESP32 웹 서버용 홀 효과 센서
원격 제어는 훌륭하지만, ESP32 웹 서버가 원격 위치에서 감지하기를 원하는 것은 무엇입니까? 여기에서는 ESP32-WROOM-32E 모듈의 내장된 홀 효과 센서를 활용하여 주변의 자기장을 보여줍니다.
다음 코드를 88행의 client.print 함수 바로 아래에 추가하십시오:
int val = 0;
val = hallRead();
client.print("자석 상태 ");
client.print(val);
이 코드는 홀 효과 판독 값을 저장할 변수 "val"을 설정합니다. 내장 홀 센서를 읽고 클라이언트의 웹 브라우저에 결과를 출력합니다. 이는 필드 방향에 따라 달라지는 아날로그 값이라는 점에 유의하십시오.
테스트하려면 코드를 ESP32 Feather에 업로드하고 브라우저를 올바른 IP 주소로 설정하세요. 이제 세 번째 줄에 자계 읽기 값이 표시됩니다.
자석을 ESP32-WROOM-32E 모듈 위에 놓고 브라우저를 새로 고침하세요. 이 값은 자계에 따라 업데이트됩니다. 페이지 링크를 따라가거나 해당 주소로 이동하여 여전히 불을 켜고 끌 수 있지만, 이제 이 동작이 자계 값을 업데이트합니다.
ESP32로 더 나아가기
이 기사에서는 Arduino를 사용하여 ESP32 개발 보드와 Wi-Fi 네트워크로 매우 간단한 웹 서버를 설정하는 방법을 설명합니다. ESP32의 Wi-Fi 기능은 적절한 설정을 통해 클라우드 및 넓은 인터넷에 접근할 수 있게 해 줍니다. 이 모듈은 다양한 소비자, DIY 및 프로토타입 애플리케이션에 사용될 수 있습니다.
Arduino IDE에서 ESP32 웹 서버를 만들기 전에, 시작에 도움을 줄 수 있는 Arrow.com에서 아래와 같은 업계를 선도하는 제조사의 다양한 제품을 확인해 보세요.
기사 태그