글: Jeremy Cook
Arduino 웹 서버용 Wi-Fi 네트워크를 통해 마이크로컨트롤러와 인터페이스하는 것은 다소 낯선 개념이었습니다. 현재는 ESP32 개발 보드 및 Arduino IDE
를 사용하여 로컬 ESP32 웹 서버를 몇 분 만에 설치하고 실행할 수 있습니다.이 데모를 위해서는 Adafruit ESP32 Feather가 필요하며 2.4GHz로 실행되는 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 서버 제어
USB를 통해 ESP32 Feather 개발 보드를 컴퓨터에 연결하고 디버그 아이콘 오른쪽의 드롭다운 메뉴에서 적절한 포트를 선택합니다. 선택하면 보드 목록이 표시됩니다. 이 경우, Adafruit esp32를 입력하고 표시되는 Adafruit ESP32 Feather 옵션을 선택합니다.
파일 > 예시 > WiFi로 이동하여 SimpleWiFiServer를 로딩합니다. 실제 SSID 및 암호가 포함되도록 코드 행 30 및 31을 수정합니다. 복합 옵션이 있는 경우, 2.4GHz 네트워크에 액세스해야 합니다. 업로드 버튼을 누르면 프로그램이 컴파일되어 보드로 전송됩니다.
프로그래밍되면 ESP32 Feather가 네트워크에 연결을 시도합니다. Arduino IDE(오른쪽 상단 모서리의 아이콘)에서 직렬 모니터를 열고 115200 baud로 설정합니다. 액세스를 위해 IP 주소가 나열되지만, 표시하려면 재설정 및/또는 아래로 스크롤해야 할 수 있습니다. 브라우저에 나열된 IP 주소로 이동하면 핀 5를 켜거나 끌 수 있는 두 줄의 텍스트와 링크가 표시됩니다.
코드가 그대로 작동하도록 LED/저항기를 핀 5에 연결할 수 있습니다(첫 번째 이미지 참조). 또는 내장 LED로 설정하여 이러한 사소한 하드웨어 문제를 방지할 수 있습니다. 이를 위해 38, 103 및 106행에서 [핀] 5를 LED_BUILTIN으로 대체하면 외부 하드웨어 없이도 불이 켜집니다. 또는 87 및 88행의 "핀 5의 LED"를 "기본 제공 LED"로 변경하여 사용자 인터페이스를 정확하게 할 수도 있습니다. 변경 내용을 적용하려면 다시 업로드합니다.
ESP32 웹 서버용 홀 효과 센서
원격 제어도 좋지만, ESP32 웹 서버가 원격 위치에서 무엇을 감지하기를 원하십니까? 여기서는 ESP32-WROOM-32E 모듈의 기본 제공 홀 효과 센서를 활용하여 가까운 자기장을 보여 드리겠습니다.
88행의 client.print 함수 바로 아래에 다음 코드 행을 추가합니다.
int val = 0;
val = hallRead();
client.print("magnet status ");
client.print(val);
이 코드는 홀 효과 판독값을 저장하는 변수 "val"을 설정합니다. 온보드 홀 센서를 읽고 클라이언트의 웹 브라우저에 결과를 인쇄합니다. 이 값은 홀 효과 센서와 리드 스위치를 비교
하는 문서에 설명된 대로 필드 방향에 따라 달라지는 아날로그 값입니다.이미지: Jeremy Cook
테스트하려면 코드를 ESP32 Feather에 업로드하고 브라우저에서 올바른 IP 주소를 가리킵니다. 이제 자기장 판독값을 보여 주는 세 번째 행이 표시됩니다.
ESP32-WROM-32E 모듈 위에 자석을 놓은 다음 브라우저를 새로 고칩니다. 이 값은 존재하는 자기장에 따라 업데이트됩니다. 페이지 링크를 따라가거나 해당 주소로 이동하여 조명을 껐다가 켤 수 있지만, 이제 이 작업을 수행하면 자기장 값도 업데이트됩니다.
ESP32를 통한 성능 향상
이 문서에서는 ESP32 개발 보드와 Wi-Fi 네트워크를 사용하여 Arduino로 웹 서버를 매우 간단하게 설정하는 방법을 개략적으로 설명합니다. ESP32의 Wi-Fi 기능을 사용하면 적절한 설정을 통해 클라우드와 더 넓은 인터넷에 액세스할 수 있습니다. 이 모듈은 광범위한 소비자, DIY 및 프로토타이핑 응용 분야에 사용될 수 있습니다.
Arduino IDE에 ESP32 웹 서버를 만들기 전에 Arrow.com에서 아래와 같은 업계 최고의 제조업체가 만든 다양한 제품을 확인해 보십시오.