WeMos LOLIN 보드의 무선 WiFi 성능을 확인하자!

codingart(66)
Published in
#kr
Words
467
Reading
3 min
Listen
Play
8y

noname01.png

WeMos LOLIN 보드의 무선 WiFi 성능에 주목해 보자. 바로 앞에 LOLIN 보드에 온습도 센서를 설치하여 측정한 값을 ThingSpeak 사물인터넷 사이트에 전송해본 경험이 있지만 타 보드에서 사용하던 코드를 살짝 수정해서 과연 무선 WiFi 가 작동하는지 여부를 단순 판가름 하였을 뿐이다.

WeMos LOLIN 보드가 최근에 출시된 보드이기 때문에 조심스럽게 보드의 기본적인 성능을 체크해 본 결과 analogWrite 명령을 제외하고 큰 문제는 없었다. 물론 analogWrite 명령이 직접 컴파일 되지는 않았으나 그 대체 명령으로 좀 번거롭긴 해도 ledcWrite 명령으로 대체가 가능하였다. 이 점에 관해서는 2개의 핀에서 ledcWrite 명령 실행이 가능한지 좀 더 확인이 필요한 듯하다.

드디어 이번 단계에서는 무선 WiFi 성능을 확인해 보도록 하겠다. 이미 ESP8266 칩을 장착한 NodeMCU/WeMos 보드와 W5100 이더넷(Ethernet) 보드에서 다양한 코딩을 해보았으나 아무래도 성능 검증 작업이므로 스스로 짠 코드가 아닌 아두이노 오픈소스 바닥에 널려있는 에제중에서 딱 마음에 드는 코드가 없어 절충으로 이 예제들을 조합하여 적절한 예제 코드를 준비하였다. 코드 준비 및 배선, 실험 시간까지 합해 1시간 정도 소요하였다.

LOLIN 보드 WiFi 성능 실험 내용은 가변저항을 VP에 배선하였다. 전원 Vcc 는 Batt 단자에 0V는 GND에 배선 한다. VP아날로그 입력 핀은 36번에 해당하며 내부 코드에서 for looping에서 한 번씩 통과하게 코딩하였다. 나머지 코딩이 되지 않은 아날로그 핀에서도 뭔가 값이 출력되어 무선 WiFi를 통해 날라와 웹에 출력되는데 자세히 몇분간 째려보면 Random 한 값임을 알 수 있다. 즉 값이 슬슬 변한다는 점이다. 반면에 가변 저항이 연결된 핀의 값은 가변저항 돌리기 전에 변동이 있으면 안된다. 가변저항을 돌려 보면 그 범위가 0∼4095임을 알 수 있다. analogRead 명령을 사용하면 항상 + 값만 나오며 4095=2**12-1임을 알수 있다. 즉 0∼1023까지 10비트 데이터를 제공하는 아두이노 우노와는 달리 12비트임을 확인할 수 있다.

noname02.png

WiFi 실험을 위한 코드 준비 내용을 설명하기로 한다. LOLIN 보드의 WiFi 성능 확인을 위한 코드는 아두이노 편집기에서 흔하게 볼 수 있는 이더넷 예제의 WebServer 코드를 손보았다. WebServer 예제 코드는 유선 인터넷인 이더넷 보드에서 실행이 되는 우리가 알고 있는 통신 코드 중에서 가장 후줄그레한 코드이며 얘네 코드 실행이 잘되면 아무 코드나 다 된다는 의미로 볼 수 있을 것이다.

noname03.png

단 코드 수정을 간단히 하기 위해서 WeMos LOLIN 32 예제 메뉴 중에서 WiFi에 포한되어 있는 SimpleWiFiServer 의 헤더부분을 참고하였다. 여러분은 그 고생마저 할 필요가 없는듯하다. 수정해서 첨부된 코드를 살펴보면 될듯하다. 수정 내용은 NodeMCU/WeMos 보드 사용시 ESP8266WiFi.h 라이브러리를 사용하다가 LOLIN 보드에 와서는 WiFi.h 로 바꾸면 그만이며 수정할 내용이 거의 없다. 이 동네 업자들 특성이 손 안되고 코풀기 좋아하는 중국식 짝퉁으로 보면 될 것이다. EthernetServer 가 WiFiServer 로 바뀌는 정도며, mac address 따위는 필요 없는 듯하다. 자세히 살펴보면 ESP8266WiFi,h 라이브러리 명령이나 WiFi.h 라이브러리 명령이 동일한 듯한데 생각해 보니 ESP32 칩 제조하는 회사명이 Espresif로 ESP8266 칩 제조사와 동일한 회사인 듯하다.
그밖에 변경 내용으로서는 클라이언트로부터 request를 받은 후 LOLIN에서 송출해야 할 가변 저항의 값을 읽어들이는 anlogRead 명령의 핀 번호를 0∼5에서 32∼36으로 바꾸었다.

아무런 문제없이 잘 작동이 되었다. 다음 기회에는 조금씩 난이도를 올려 NodeMCU/WeMos 보드에서 작성한 코드 몇 가지를 시험해 보도록 할 예정이다.

코드에 HTML 부호가 포함된 문제로 인해 필자의 다음 사이트에 첨부된 코드를 이용해 보기 바란다.
WeMos LOLIN 보드의 무선 WiFi 성능을 확인하자
http://blog.daum.net/ejleep1/643

//WeMos_lolin_WebServer_01

WeMos LOLIN 보드의 무선 WiFi 성능을 확인하자! | Ecency