반응형

아두이노 우노ESP8266 WiFi 모듈을 연결하는 방법과 컴퓨터에 구성한 TCP 서버와 통신 테스트한 과정을 설명합니다. 




2019. 1. 16

아두이노 우노에 연결한 핀을 D11, D10에서 D10, D9로 변경


2019. 1. 17

시리얼 버퍼 크기 조정


2020. 9. 28

동작 확인




ESP8266 WiFi 모듈을 Arduino Uno에서 사용하기 위해 필요한 WeeESP8266 라이브러리는 다음 링크에서 다운로드 가능합니다.

https://github.com/itead/ITEADLIB_Arduino_WeeESP8266



Code 초록색 버튼을 클릭 후,  Download ZIP를 클릭하면 압축된 라이브러리가 다운로드됩니다.





압축을 풀어서 다음 경로에 복사해줍니다. 

C:\Users\사용자이름\Documents\Arduino\libraries





Arduino Uno에는 시리얼이 하나라서 ESP8266에서 소프트웨어 시리얼을 사용하도록 해주어야 합니다.

ESP8266와 Arduino IDE의 시리얼 모니터에서 각각 시리얼을 사용해야 접속 상황을 볼 수 있기 때문입니다. 


다음 경로에 있는 ESP8266.h 파일을 열어서 다음 줄에 있는 주석을 제거해줍니다. 

C:\Users\사용자이름\Documents\Arduino\libraries\ITEADLIB_Arduino_WeeESP8266-master


변경전 

//#define ESP8266_USE_SOFTWARE_SERIAL


변경후

#define ESP8266_USE_SOFTWARE_SERIAL



시리얼 버퍼 크기를 조정하기 위해서 C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino에 있는 HardwareSerial.h 파일을 수정해야 합니다. 

권한 문제로 수정후 저장이 안될 수 있습니다.    

HardwareSerial.h 파일울 다른 폴더로 복사해서 아래 처럼 수정한 후  다시 원래 위치로 복사해야 합니다. 


버퍼 크기를 64에서 256으로 변경합니다.  


#define SERIAL_TX_BUFFER_SIZE 16
#else
#define SERIAL_TX_BUFFER_SIZE 256
#endif
#endif
#if !defined(SERIAL_RX_BUFFER_SIZE)
#if ((RAMEND - RAMSTART) < 1023)
#define SERIAL_RX_BUFFER_SIZE 16
#else
#define SERIAL_RX_BUFFER_SIZE 256




Arduino Uno와 ESP8266 Wifi 모듈을 다음처럼 연결해줍니다.


ESP8266_TX    → Arduino_Uno_RX(D10)
ESP8266_RX    → Arduino_Uno_TX(D9)
ESP8266_CH_PD → Arduino_Uno_3.3V
ESP8266_VCC   → Arduino_Uno_3.3V
ESP8266_GND   → Arduino_Uno_GND





Hercules SETUP utility를 이용하여 TCP 서버를 구성하여 테스트를 진행하였습니다. 아래 링크에서 다운로드 할 수 있습니다.

http://new.hwg.cz/files/download/sw/version/hercules_3-2-8.exe 



Hercules SETUP utility를 실행한 후, TCP Server 탭을 선택하고 Listen을 클릭합니다.

포트 번호를 변경하지 않고 23번으로 하고 진행했습니다. 





Arduino Uno에서 접속할 서버 IP를 확인해야 합니다.

명령 프롬프트를 실행시켜 ipconfig 명령으로 컴퓨터에서 사용중인 IP를 확인합니다.





WeeESP8266 라이브러리에 포함되어 있는 TCPClientSingleUNO 예제 코드를 수정하여 사용했습니다.

원본 코드는 Arduino IDE 메뉴에서  파일 > 예제 > ITEADLIB_Arduino_WeeESP8266 > TCPClientSingleUNO를 선택하면 불러올 수 있습니다.




Arduino IDE의 메뉴에서 파일 > 새파일을 선택한 후 다음 코드를  복사해줍니다.

Hercules SETUP utility에서 한글이 깨져보이는 현상이 있어서 코드에선 영어 메시지를 사용합니다.


#include "ESP8266.h"
#include <SoftwareSerial.h>

#define SSID        "공유기의 SSID"  

#define PASSWORD    "공유기의 비밀번호"  

#define HOST_NAME   "컴퓨터의 아이피"  

#define HOST_PORT   (Hercules SETUP utility에서 설정한 TCP 서버 포트번호)



SoftwareSerial mySerial(10, 9); /* RX:D10, TX:D9 */
ESP8266 wifi(mySerial);


void printUsage()
{
    uint8_t buf[]="Usage\n1 : Turn On LED\n2 : Turn Off LED\nS : LED status\n\n";
    wifi.send(buf, strlen(buf));
}

bool isConnected = false;

void setup(void)
{
    Serial.begin(9600);
    Serial.print("setup begin\r\n");
   
    Serial.print("FW Version:");
    Serial.println(wifi.getVersion().c_str());
     
    if (wifi.setOprToStationSoftAP()) {
        Serial.print("to station + softap ok\r\n");
    } else {
        Serial.print("to station + softap err\r\n");
    }

    if (wifi.joinAP(SSID, PASSWORD)) {
        Serial.print("Join AP success\r\n");
        Serial.print("IP:");
        Serial.println( wifi.getLocalIP().c_str());      
    } else {
        Serial.print("Join AP failure\r\n");
    }
   
    if (wifi.disableMUX()) {
        Serial.print("single ok\r\n");
    } else {
        Serial.print("single err\r\n");
    }
   
    Serial.print("setup end\r\n");



    pinMode(LED_BUILTIN, OUTPUT);

}



void loop(void)
{
    if ( isConnected == false){
     
        while(1){
            if (wifi.createTCP(HOST_NAME, HOST_PORT)) {
                Serial.print("create tcp ok\r\n");
                isConnected = true;
                printUsage();
                break;
            } else {
                Serial.print("create tcp err\r\n");
            }
        }
    }
 
    uint8_t buffer[128] = {0};
   
    uint32_t len = wifi.recv(buffer, sizeof(buffer), 10000);
    if (len > 0) {
        Serial.print("Received:[");
        for(uint32_t i = 0; i < len; i++) {
            Serial.print((char)buffer[i]);
        }
        Serial.print("]\r\n");


        char command = buffer[0];
        int ledStatus = digitalRead(LED_BUILTIN);
       

        switch (command){
       
            case '1':
             
              if (ledStatus == LOW){
                digitalWrite(LED_BUILTIN, HIGH);
                sprintf(buffer, "LED is on\n");
                wifi.send(buffer, strlen(buffer));
              }
              else{
                sprintf(buffer, "LED is already on\n");
                wifi.send(buffer, strlen(buffer));
              }
              break;
       
            case '2':
           
              if (ledStatus == HIGH){
                digitalWrite(LED_BUILTIN, LOW);
                sprintf(buffer, "LED is off.\n");
                wifi.send(buffer, strlen(buffer));
              }
              else{
                sprintf(buffer, "LED is already off.\n");
                wifi.send(buffer, strlen(buffer));
              }
              break;
       
            case 'S':
            case 's':
               
              if (ledStatus == LOW){
                sprintf(buffer, "LED status: off\n");
                wifi.send(buffer, strlen(buffer));
              }
              else {
                sprintf(buffer, "LED status: on\n");
                wifi.send(buffer, strlen(buffer));
              }
              break;
             
            default:

              break;
             
        }     
    }
}




상단에 있는 다음 4줄을 환경에 맞게 수정한 후,  Arduino Uno에 업로드시켜줍니다.

주의할 점은 컴퓨터가 연결된 공유기의 정보를 입력해줘야 합니다.


#define SSID        "공유기의 SSID" 
#define PASSWORD    "공유기의 비밀번호" 
#define HOST_NAME   "컴퓨터의 아이피" 
#define HOST_PORT   (Hercules SETUP utility에서 설정한 TCP 서버 포트번호) 




ESP8266 모듈의 접속 과정을 확인하기 위해 Arduino IDE의 메뉴에서 툴 > 시리얼 모니터를 선택합니다. 


공유기로부터 IP를 할당 받았다면 Join AP success 문자열과 함께 할당받은 IP를 출력해줍니다.

컴퓨터에서 실행시킨 서버 프로그램에 접속했다면 create tcp ok 문자열을 보여줍니다. 




create tcp err 문자열이 보이면, 컴퓨터의 방어벽 문제일 가능성이 있습니다.

Hercules SETUP utility의 TCP 서버에서 사용중인 포트를 차단중인지 확인해보세요.

해당 포트를 허용해주거나, 방어벽을 잠시 끄고 진행해보세요..




Hercules SETUP utility에서 Arduino Uno가 클라이언트로 접속했음을 확인할 수 있고 

Arduino Uno가 전송한 문자열이 보입니다. 





Send에 1을 입력하고 Send를 클릭하면 Hercules SETUP utility에서 Arduino Uno 보낸 문자열  “LED is on”  메시지를 확인할 수 있습니다. 





시리얼 모니터에서 Arduino Uno가 1을 받았음을 볼 수 있고 Arduino Uno 13번핀에 연결되어 있는 내장 LED가 켜지게됩니다. 





몇가지 테스트를 더 해본 결과입니다.





관련 포스팅



Android앱에서 ESP8266 WiFi 모듈을 연결한 Arduino Uno 제어하기

http://webnautes.tistory.com/816




반응형

포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
댓글로 알려주시면 빠른 시일내에 답변을 드리겠습니다.

여러분의 응원으로 좋은 컨텐츠가 만들어집니다.
지금 본 내용이 도움이 되었다면 유튜브 구독 부탁드립니다. 감사합니다 : )

유튜브 구독하기


제가 쓴 책도 한번 검토해보세요.

  1. 이전 댓글 더보기
  2. 스팩토마 2019.01.24 17:26

    빠른 답변 감사합니다. 말씀해주신 것처럼

    ESP8266 wifi(mySerial); 에서 wifi를 선언했지만

    ESP8266 텍스트 색상이 검정색으로 활성화 되지 않고

    #include에서 라이브러리 헤더파일도 인식이 잘 되지 않는 것 같습니다.

    지정된 경로에도 저장했고 혹시몰라서 zip파일을 아두이노 IDE에서도

    한번 더 등록하고 해봤는데도 같은 오류가 발생하는데 어떻게해야 할까요?

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.01.24 17:28 신고

      라이브러리 복사한 위치를 확인해보세요. 압축을 풀면 보통 폴더안에 폴더가 들어 있습니다.

      아두이노 IDE의 메뉴에서 예제 선택시 추가한 라이브러리 이름이 보여야 제대로 설치된것입니다.

      그리고 헤더파일은 수정했나요?

  3. 스팩토마 2019.01.24 17:37

    네 헤더파일이랑 다른파일 수정완료 했습니다.ㅠㅠ

    https://blog.naver.com/ism6891/221450133223 여기링크에 문제되는 오류코드 첨부하였습니다!

    혹시 인식이 안되는지 확인하기위해 강제로 라이브러리를 아두이노 ide 설치폴더안에 넣어보았는데

    충돌이 났고 오류소스의 첫번째 경로를 보니 라이브러리는 적용이 되고 있는 것 같습니다.

    • 스팩토마 2019.01.24 17:40

      추가로 메뉴에서 예제 선택시 해당 예제파일을 불러올 수 있었습니다!

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.01.24 17:43 신고

      아두이노 IDE에 있는 라이브러리를 지우세요.

      라이브러리가 2개 발견되었다고 에러났네요

  4. 스팩토마 2019.01.24 17:47

    라이브러리 적용여부와 경로를 확인하려고 충돌시켜서 확인한 후에
    충돌 라이브러리 삭제하고 다시 컴파일해도 같은 에러가 발생합니다..ㅠㅠ

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.01.24 18:02 신고

      라이브러리 폴더에 라이브러리 복사후.. 아두이노 IDE 메뉴에서 예제가 보이면 제대로 설치된것입니다.

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.01.24 18:03 신고

      블로그 글보고 다시 따라해보세요

  5. 김재윤 2019.03.24 10:49

    안녕하세요? 아두이노를 공부하는 학생입니다!
    setup begin
    FW Version:
    to station + softap err
    Join AP failure
    single err
    setup end
    create tcp err
    이라고 뜨는데 어떻해야되나요?ㅠㅠ
    ssid와 password, ip, 포트 모두 잘 입력했어요ㅠㅠ

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.03.24 10:53 신고

      우선 하드웨어 연결시 핀을 제대로 연결했나 다시 확인해보세요

    • 김재윤 2019.03.24 10:59

      감사합니다!! TX와 RX가 서로 반대로 연결되어 있었어요!

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.03.24 10:59 신고

      축하드려요.

  6. lsj 2019.03.25 19:18

    setup begin
    FW Version:
    to station + softap err
    Join AP failure
    single err
    setup end
    에러가 이렇게 나오는데 저희가 위에 포스트를 성실시 따라하고 공유기 SSID아이디와 비밀번호 허큘러스 포트번호 등등 입력은 잘하였습니다. 라이브러리도 아두이노 예제에서 확인이 되는것으로 보아 라이브러리에 문제도 없는것 같은데 왜 이렇게 뜨는지 이해가 안됩니다. 혹시나 해서 아두이노를 다른것으로도 바꿔서 실행해 봤는데도 같은 결과가 나오고 있습니다.

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.03.25 19:27 신고

      바로 윗분처럼 핀연결이 잘못된건 아닌지 확인해보세요.. RX와 TX가 바뀌었는지..

    • lsj 2019.03.25 20:11

      위에 나와 있는대로 tx를 D10에 rx를 D9에 연결하고 했습니다. 재실행했더니
      avrdude: error: programmer did not respond to command: exit bootloader 라는 오류가 발생했습니다.

      혹시나해서 D10과 D9도 바꿔서 해봤는데 같은 오류가 발생했습니다.

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.03.25 20:42 신고

      아두이노 IDE의 메뉴 툴 > 보드에 사용중인 보드가 선택되었는지 확인해보세요..

    • lsj 2019.03.25 20:59

      아 감사합니다. 보드에 저희가쓰는 보드가 아닌 다른보드로 되어있었네요. 에러는 사라졌는데,,
      setup begin
      FW Version:
      to station + softap err
      Join AP failure
      single err
      setup end
      create tcp err
      이 것만은 변화가 없습니다.

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.03.25 21:19 신고

      보드가 문제 없나 확인해봐야 할듯합니다.

      혹시 라즈베리파이 보드가 있다면 다음 링크에 있는 Raspberry Pi 2에서 ESP8266 테스트를 해보세요.. 다른 버전의 라즈베리파이로도 가능합니다. 펌웨어 업그레이드는 안해도 될듯합니다.

      https://webnautes.tistory.com/742

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.03.25 21:26 신고

      아두이노만 있다면 다음 링크처럼 테스트해보세요.

      https://startingelectronics.org/articles/ESP8266-testing/

  7. jinuee 2019.04.03 01:49

    너무나도 유익하고 좋은 게시글 진짜진짜 감사합니다!!!! 이해하는데 정말 많은 도움이 되었어요.

    궁금한게 있는데 혹시 pc와 아두이노 와이파이 모듈이 서로 다른 공유기에 접속되어 있어도 서버에 접근할 수 있을까요?

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.04.03 13:09 신고

      공유기에서 제공하는 방법으로 고정IP로 변경해서 할 수 있습니다.

      테스트 해보지는 않아서 문제 없이 동작할지는 알지 못합니다.

      다음 글을 참고하세요.
      https://ironmask.net/354

  8. SHI 2019.05.05 23:26

    ESP8266:15:22: error: no matching function for call to 'ESP8266::ESP8266(SoftwareSerial&)'

    ESP8266 wifi(mySerial);

    ^

    In file included from C:\Users\shink\Documents\AduinoDocument\ESP8266\ESP8266.ino:1:0:

    C:\Users\shink\Documents\AduinoDocument\libraries\ITEADLIB_Arduino_WeeESP8266-master/ESP8266.h:60:5: note: candidate: ESP8266::ESP8266(HardwareSerial&, uint32_t)

    ESP8266(HardwareSerial &uart, uint32_t baud = 9600);

    ^

    C:\Users\shink\Documents\AduinoDocument\libraries\ITEADLIB_Arduino_WeeESP8266-master/ESP8266.h:60:5: note: no known conversion for argument 1 from 'SoftwareSerial' to 'HardwareSerial&'

    C:\Users\shink\Documents\AduinoDocument\libraries\ITEADLIB_Arduino_WeeESP8266-master/ESP8266.h:38:7: note: candidate: constexpr ESP8266::ESP8266(const ESP8266&)

    class ESP8266 {

    ^

    C:\Users\shink\Documents\AduinoDocument\libraries\ITEADLIB_Arduino_WeeESP8266-master/ESP8266.h:38:7: note: no known conversion for argument 1 from 'SoftwareSerial' to 'const ESP8266&'

    C:\Users\shink\Documents\AduinoDocument\libraries\ITEADLIB_Arduino_WeeESP8266-master/ESP8266.h:38:7: note: candidate: constexpr ESP8266::ESP8266(ESP8266&&)

    C:\Users\shink\Documents\AduinoDocument\libraries\ITEADLIB_Arduino_WeeESP8266-master/ESP8266.h:38:7: note: no known conversion for argument 1 from 'SoftwareSerial' to 'ESP8266&&'

    exit status 1
    no matching function for call to 'ESP8266::ESP8266(SoftwareSerial&)'

    이런 오류가 나왔습니다.
    아래 댓글들을 참고하여 라이브러리 위치도 확인했지만
    계속해서 오류가 나옵니다.

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.05.05 23:31 신고

      포스트에 있는 코드를 그대로 사용했는데 에러가 나나요?

    • SHI 2019.05.05 23:37

      그렇습니다.
      그리고 program file(x86)에 아두이노 디렉토리가 없습니다..

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.05.05 23:42 신고

      메뉴에서 파일 하위 메뉴를 찾아보면 추가한 라이브러리 예제가 있습니다. 컴파일 되는지 확인해보세요.

    • SHI 2019.05.05 23:43

      같은 오류가 발생합니다.

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.05.05 23:51 신고

      아두이노 IDE 버전이 어떻게 되나요?

    • SHI 2019.05.05 23:54

      아두이노 1.8.9(Window store 1.8.21.0)
      입니다.

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.05.06 18:44 신고

      윈도우 스토어가 아닌 아두이노 홈페이지에 있는 윈도우용을 설치해서 진행하세요.

      아두이노 IDE 1.8.9 버전을 다운로드 받아 다시 진행해봤는데 포스트 내용대로 진행이 됩니다.

      C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino 폴더도 존재합니다.

    • SHI 2019.05.06 22:24

      말씀하신대로 다시 다운로드 하여 진행하였습니다.
      그런데도 같은 오류가 계속해서 나옵니다.
      제 라이브러리 경로가
      C:/Users/사용자이름/문서/libraries 입니다.
      어떤 문제인지 정말 모르겠습니다.

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.05.06 23:04 신고

      ESP8266.h 파일을 수정하였나요?

    • SHI 2019.05.06 23:15

      Header 수정
      Buffer 크기수정
      모두 다 실행하였는데 계속 동일한 오류가 나옵니다..

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.05.06 23:47 신고

      확인해보니 ESP8266.h에서 아래 줄에 있는 주석을 제거하지 않으니 똑같은 에러가 나는 군요...
      다시 확인해보세요.

      //#define ESP8266_USE_SOFTWARE_SERIAL

    • SHI 2019.05.08 22:00

      덕분에 해결이 잘되었습니다.
      제가 이해를 잘못하고 define자체를 지워버렸군요
      질문이 하나있는데 ESP8266은 펌웨어 업데이트를 사용할때마다 해야하는건가요?
      몇일째하고있는데 연결 후 시리얼모니터를 띄워서 AP를 보내면 항상 무응답입니다.
      그래서 펌웨어 업데이트를 하고 하면 다시 실행이 되더군요

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.05.08 22:10 신고

      해결되서 다행입니다. 펌웨어 업데이트는 1번만 하면 됩니다.

  9. 궁금해요 2019.06.03 15:40

    위 포스팅 되어있는대로 순서대로 하고나서 결과를 돌리면 이렇게 뜨고
    setup begin
    FW Version:
    to station + softap ok
    Join AP success
    IP:+CIFSR:APIP,"192.168.4.1"
    +CIFSR:APMAC,"1a:fe:34:39:60:4e"
    +CIFSR:STAIP,"192.168.0.29"
    +CIFSR:STAMAC,"18:fe:34:39:60:4e"
    single ok
    setup end
    create tcp err
    create tcp err
    create tcp err
    create tcp err

    계속 이렇게 뜹니다. 왜그런지 알수 있을까요... ?

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.06.03 17:57 신고

      호스트 컴퓨터에 있는 서버에서 사용하는 포트와 호스트 컴퓨터의 IP가 맞는지..

      그리고 외부에서 접근 가능한지 확인해보세요.

      while(1){
      if (wifi.createTCP(HOST_NAME, HOST_PORT)) {
      Serial.print("create tcp ok\r\n");
      isConnected = true;
      printUsage();
      break;
      } else {
      Serial.print("create tcp err\r\n");
      }
      }

  10. lim 2019.07.17 18:49

    안녕하세요
    물어볼 것이 있어서 물어보렬고 댓글을 작성하였습니다. ESP8266보드와 OV2640으로 IP카메라가 제작 가능한가요?
    가능하면 방법을 알려주세요
    그리고 코드도 올려주시거나 보내주실수 있으면 보내주세요 만약에 보내주시면 IP카메라 만드는 코드를 보내주세요
    빨리 답변 봐주시면 감사하겠습니다.

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.07.17 19:00 신고

      아래 방법이 나을듯 싶습니다.

      Raspberry Pi에서 mjpg-streamer를 사용하여 웹캠 스트리밍하기

      http://webnautes.tistory.com/1261

    • Favicon of https://make-game-like-boy.tistory.com BlogIcon lim01 2019.07.17 19:19 신고

      어 그게... 이게 지금 창의산출물이라서 주신 방법으로 하기가 힘들어서...
      어떻게 안될까요?
      부탁드려요ㅠㅠ

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.07.17 19:24 신고

      해본게 아니라서 자료가 있지 않습니다.

      제가 봐도 쉽지 않아 보이네요.

  11. jy 2019.10.17 20:50

    Hercules SETUP utility의 TCP 서버에서 사용중인 포트를 차단중인지 확인해보세요.

    해당 포트를 허용해주거나, 방어벽을 잠시 끄고 진행해보세요..

    여기서 포트23번이 차단중인지를 어떻게 확인하나요.??ㅠㅠ

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.10.17 22:15 신고

      보통 처음 해당 포트를 사용하려고 하면 방어벽에서 물어볼텐데 그러지 않았나보군요..

      다음 글을 참고하여 해보세요.
      https://extrememanual.net/6182

  12. 2019.11.27 13:53

    비밀댓글입니다

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.11.28 08:52 신고

      Join AP failure
      -> 공유기 접속에 실패했습니다.

      핸드폰 핫스팟으로도 테스트해보세요.

  13. 좋은글감사합니다 2019.12.03 12:46

    setup begin
    FW Version:
    to station + softap err
    Join AP failure
    single err
    setup end
    create tcp err
    create tcp err

    라이브러리 꼼꼼하게 확인하구 포트 연결도 제대로 하구 핸드폰 핫스팟 틀어서 연결을 시도해봤는데 계속 이렇게 뜨네요.. 거의다 따라왔나 싶었는데 ㅜㅜ 혹시 해결 할 방법 있을까요..?

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.12.03 22:13 신고

      핫스팟 접속이 안되는 듯합니다.

      tx와 rx선이 바뀌어서 문제가 생길 수도 있습니다.

  14. 2019.12.03 14:44

    비밀댓글입니다

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.12.03 22:14 신고

      코드 문제라기 보다는 하드웨어 연결 문제일 가능성이 있습니다.

      tx와 rx를 바꾸어 보세요.

  15. 단디 2019.12.17 22:37

    위 코드 따라 했는데, 아래와 같이 오류가 나네요.
    78 unit32_t len = wifi.recv(buffer, sizeof(buffer), 10000);
    exit status 1
    'wifi' was not declared in scope
    부탁드립니다.

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.12.18 17:52 신고

      WeeESP8266 라이브러리가 제대로 설치되었다면 아두이노IDE에 관련 예제가 보입니다. 확인해보세요

  16. 제이 2020.02.05 11:10

    TX RX 다 잘동작합니다.

    하지만

    일정시간동안 아무 동작을 안하면 소켓통신 연결이 끊기는데 혹시 이문제는 해결이 가능한가요?

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.02.05 19:33 신고

      일정시간 연결없으면 끊어지는 것에 관해서는 알지 못합니다. 끊어지지 않도록 일정시간마다 데이터를 전송하면 어떨까.싶습니다

  17. 2020.02.17 21:05

    비밀댓글입니다

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.02.17 21:09 신고

      PC와 esp8266이 같은 공유기를 사용해야 서로 통신이 가능합니다.

      핸드폰의 핫스팟을 사용하는 방법도 있습니다.

  18. 2020.02.17 21:11

    비밀댓글입니다

  19. suyeon 2020.05.28 17:38

    저희는 스프링에서 tcp 서버를 만들어서
    tcp.socket.port = 50051로 지정해 주었는데

    #define HOST_PORT (Hercules SETUP utility에서 설정한 TCP 서버 포트번호)

    이 부분에 50051을 넣는게 맞나요? 잘 안되서요ㅜㅜ

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.05.28 17:47 신고

      네 맞습니다. 아두이노의 시리얼 모니터 로그에대한 포스트의 설명을 참고해보세요

    • Suyeon 2020.05.28 18:04

      혹시 그 포스트 링크 걸어주실수 있으실까요?ㅜㅜ 못찾겠어서용..

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.05.28 18:10 신고

      이 포스트에 내용이 있습니다.

    • 2020.05.28 18:25

      비밀댓글입니다

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.05.28 18:29 신고

      사정상 힘듭니다

  20. ddonii 2020.09.28 15:12

    안녕하세요.
    동일한 방법으로 하고, 댓글들 참고하여 했는데

    collect2.exe: error: ld returned 1 exit status
    exit status 1
    보드 Arduino Uno 컴파일 에러.

    이러한 컴파일 에러가 뜹니다. 왜 그런 걸까요 ? ㅜ ㅜ

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.09.28 20:42 신고

      확인해봤는데 문제없이 컴파일도 되고 동작도 합니다.

      전체 컴파일 로그를 올려줘보세요..

  21. Favicon of https://manama114.tistory.com BlogIcon 쥬루 2020.11.25 00:09 신고

    안녕하세요. 이 글을 보고 열심히 따라하던 도중 코드에 문제가 생겨 질문드립니다.

    계속 이러한 오류가 납니다..

    C:\Users\사용자이름\Desktop\wifitestuno\wifitestuno.ino: In function 'void loop()':


    wifitestuno:69:52: error: expected primary-expression before ')' token

    exit status 1

    expected primary-expression before ')' token

    올려주신 코드 루프 부분에
    if (wifi.createTCP(HOST_NAME, HOST_PORT)) { // 이 줄이 오류가 납니다.

    어떻게 해결해야할 지 잘 모르겠습니다.
    도와주시면 감사하겠습니다...

    

+ Recent posts