개요
Arduino를 사용하게 되면서 무선 네트워크 연결을 테스트할 일이 생겼는데 이에 대한 과정을 기술한 내용이다. 테스트에 사용한 Arduino 보드는 Wemos D1 보드로서 ESP8266 칩셋이 내장된 보드이다.
ESP8266 칩셋
ESP8266은 Arduino에서 무선 네트워크 연결 시 사용하는 칩이다. ESP-01로도 알려져 있다. 무선 네트워크라고 말하니 조금 어려워 보이는데 쉽게 Arduino에서 WiFi 연결시 사용하는 칩이라고 이해하자
전원 연결 시 주의..
테스트 중에 어떤 5핀 usb는 Desktop과 아두이노를 연결해주지 못한다는 사실을 알게되었다. Desktop과 아두이노 연결에 실패한 5핀 usb는 RaspBerry Pi에서 사용하던 선인데 왜 그런지는 알아내지 못했다.
ESP8266 라이브러리 설치
Arduino Sketch 에서 파일 > 환경설정 부분에 추가적인 보드 매니저 URLs 에 아래 url 입력
http://arduino.esp8266.com/stable/package_esp8266com_index.json
이후 툴 > 보드:Arduino Uno > 보드 매니저 를 선택하고 타입을 Contributed로 선택 후 esp8266 설치
COM 인식 실패시 드라이버를 따로 설치해줘야 할 수 있음
마이크로 5핀 usb가 usb2.0 에서 동작하기 떄문에 Desktop 과 Arduino가 물리적으로 연결되었어도 Desktop에서 인식에 실패할 수 있다 그러니 Driver를 따로 설치해주자.
Download link: https://www.wemos.cc/en/latest/ch340_driver.html
Arduino Sketch에서 Arduino 보드 선택할 때
Arduino Sketch IDE에서 보드를 선택할 때 Wemos 를 선택하는 글들이 많은데 내가 다운로드 받은 1.8.57.0 버전에서는 해당 보드에 대한 선택 메뉴가 없어서 찾아보니 다음과 같이 선택하면 되었다.
ESP8266 라이브러리를 설치 후 보드 옵션에 ESP8266 3.0.2 에서 LOLIN(WEMOS D1 R2 & mini”를 선택하자
Reference: https://forum.arduino.cc/t/wemos-d1-mini-no-wemos-d1-r2-mini-option-in-arduino-ide/604600
Source: Arduino WiFi 연결하기
이후 아래 소스를 아두이노에 업로드하면 시리얼 모니터를 통해 Arduino가 할당받은 IP를 얻을 수 있다.
#include <ESP8266WiFi.h>
const char *ssid = "YOUR_SSID";
const char *password = "YOUR_WIFI_PASSWORD";
void setup()
{
Serial.begin(115200);
Serial.println("Booting");
WiFi.mode(WIFI_STA); // WiFI를 Station 모드로 동작하게 함
WiFi.begin(ssid, password);
WiFi.setHostname("TestESP8266"); // 아두이노의 HostName 지정
while (WiFi.status() != WL_CONNECTED) // WiFi가 연결될 때까지 연결을 시도함
{
delay(500);
Serial.print("");
}
Serial.println("WiFi Connected");
Serial.println("WiFi address");
Serial.println(WiFi.localIP());
}
void loop()
{
Serial.println(WiFi.getHostname());
}
'개발 노트' 카테고리의 다른 글
MQTT, Message Queuing Telemetry Trasnport (0) | 2022.07.17 |
---|---|
[Postman] Cookie header 자동 셋업 끄기 (0) | 2022.05.15 |
React && DJango 파일 업로드 (0) | 2020.12.14 |
DRF&React로 REST API 체험기 (0) | 2020.11.18 |