본문 바로가기

ESP-05 (ESP8266)

ESP-05 + Arduino NANO + UDP

ESP-05 + Arduino NANO + UDP







이번 실험에는 나노와 ESP-05를 연동하여 네트웍에 접속하는 기능입니다. 대부분의 ESP-8266계열을 다루면 IoT용으로 단순 센서정보를 tiny 웹 서버처럼 연결하는 것을 목적으로 하는데, 사실 그런 기능은 너무 쉽다.  인터넷에 자료도 깔렸고.  그리고 그런 목적이라면 ESP-05보다는 다른 계열들을 사용하는 것이 더 용이하다.   왜냐하면 ESP-05는 자체 센서와 연결할수 있는 핀도 없고 자체 프로그램도 거의 불가능하다.   


ESP-05가 좋은 점은 일반 마이크로컨트롤러에 붙여서 단순한 통신모듈처럼 사용할때에는, 마치 일반 PC에 와이파이 네트워크 카드가 붙어있는 것처럼 사용할수 있고 또 사실 모든 기능이 다 똑같다고 봐도 된다.   사실상 현실적으로 좀 다기능의 포괄적인 작업용으로 사용하려면 무선 네트웍 기능보다는 고성능 다른 마이크로컨드롤러의 기본 기능에 충실한 구조에 네트워크 기능은 가볍게 살짝 언쳐진 구조로 가야 복잡다양한 일들을 처리할 수 있다.


내 경험에는 ESP-05를 UDP로 Arduino등과 사용하여 PC와  연결하는 방식이 가장 저비용, 고효율이 나오는 것 같다.


 (약간 복잡한 기능 예 : 이런걸 NodeMCU로 작업하기는 무지무지 힘듬.)



(나중에 계속...)





아래 그림은 무선으로 3D 전자나침반을 사용하는 예.





아주 단순한 시작용 코드 :



#include <SoftwareSerial.h>

SoftwareSerial Serial2(10, 11); // RX, TX


void setup() {

  Serial.begin(115200);

  Serial2.begin(115200);

}


void loop() {

   while (Serial2.available()) Serial.write(Serial2.read());

   while (Serial.available()) Serial2.write(Serial.read());

}






(*) AT Command 로 기본 준비하기.



AT+GMR  // retrieve the firmware info.


AT+RST    // reset


AT+CWMODE_DEF=3     // _DEF means that it will be stored in flash.  


AT+CWJAP_DEF="your_ssid","your_password"     

// 윗 커멘드로 와이파이 아이디 & 패스워드가 플래시에 저장되서 전기가 들어올때 무선 라우터로 자동 연결됨.


AT+CIPMUX=1     //  Enable multiple connections


AT+CIPSTART="UDP","0",0,6767,2    // for test, UDP doesn't need IP to get info.

// 윗 코드는 단순 실험용.  아무 소스에서나 UDP 통신 시그널을 막 받음. 

실제업무에 AT+CIPSTART=2,"UDP","192.168.1.100",6767,6767,0  같이 보다 섬세한 방식이 요구됨.  



'ESP-05 (ESP8266)' 카테고리의 다른 글

ESP-05 와의 첫 걸음  (0) 2016.04.24