아두이노 - TCP 클라이언트 | Arduino - TCP Client

이 튜토리얼에서는 아두이노 우노 R4 WiFi를 TCP 클라이언트로 프로그래밍하는 방법과 TCP 서버와 데이터를 교환하는 방법을 배우게 됩니다.

Arduino TCP Client

준비물

1×Arduino UNO R4 WiFi Amazon
1×USB Cable Type-C 쿠팡 | Amazon
1×(Optional) Jumper Wires Amazon
1×(Optional) 9V Power Adapter for Arduino Amazon
1×(Recommended) Screw Terminal Block Shield for Arduino UNO R4 쿠팡 | Amazon
1×(Recommended) Breadboard Shield For Arduino UNO R4 쿠팡 | Amazon
1×(Recommended) Enclosure For Arduino UNO R4 Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

아두이노 코드

/* * 이 Arduino 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino/arduino-tcp-client */ #include <WiFiS3.h> const char* WIFI_SSID = "YOUR_WIFI_SSID"; // WIFI SSID로 변경하세요 const char* WIFI_PASSWORD = "YOUR_WIFI_PASSWORD"; // WIFI 비밀번호로 변경하세요 const char* TCP_SERVER_ADDR = "192.168.0.26"; // TCP 서버의 IP 주소로 변경하세요 const int TCP_SERVER_PORT = 1470; WiFiClient TCP_client; void setup() { Serial.begin(9600); Serial.println("Arduino: TCP CLIENT"); // WiFi 모듈을 확인하세요: if (WiFi.status() == WL_NO_MODULE) { Serial.println("WiFi 모듈과의 통신 실패!"); // 계속하지 마세요 while (true) ; } String fv = WiFi.firmwareVersion(); if (fv < WIFI_FIRMWARE_LATEST_VERSION) { Serial.println("펌웨어를 업그레이드 해주세요"); } Serial.print("SSID에 연결 시도 중: "); Serial.println(WIFI_SSID); // WiFi 네트워크에 연결 시도: while (WiFi.begin(WIFI_SSID, WIFI_PASSWORD) != WL_CONNECTED) { delay(10000); // 연결을 위해 10초 기다림: } Serial.print("WiFi에 연결됨 "); Serial.println(WIFI_SSID); // TCP 서버에 연결 if (TCP_client.connect(TCP_SERVER_ADDR, TCP_SERVER_PORT)) { Serial.println("TCP 서버에 연결됨"); TCP_client.write("Hello!"); // TCP 서버에 보냄 TCP_client.flush(); } else { Serial.println("TCP 서버에 연결 실패"); } } void loop() { // 서버로부터 데이터 읽기 및 Serial로 출력 if (TCP_client.available()) { char c = TCP_client.read(); Serial.print(c); } if (!TCP_client.connected()) { Serial.println("연결이 끊어짐"); TCP_client.stop(); // TCP 서버에 다시 연결 if (TCP_client.connect(TCP_SERVER_ADDR, TCP_SERVER_PORT)) { Serial.println("TCP 서버에 재연결됨"); TCP_client.write("Hello!"); // TCP 서버에 보냄 TCP_client.flush(); } else { Serial.println("TCP 서버에 재연결 실패"); delay(1000); } } }

빠른 걸음

그것을 하기 위해, 아래 단계들을 따르세요:

  • 아두이노를 USB Type-C 케이블을 통해 PC에 연결하세요.
  • ezTerm과 같은 TCP 서버 소프트웨어 프로그램을 설치하세요.
  • TCP 서버 프로그램을 열고 TCP 서버로 설정한 다음, 듣기 버튼을 클릭하세요.
ezTerm TCP Server
  • PC에서 명령 프롬프트를 엽니다.
  • 아래 명령을 실행하여 PC의 IP 주소를 찾습니다:
ipconfig

출력 결과는 다음과 같습니다:

Command Prompt
C:\WINDOWS\system32>ipconfig Windows IP Configuration Ethernet adapter: Subnet Mask . . . . . . . . . . . : 255.0.0.0 IPv4 Address. . . . . . . . . . . : 192.168.0.26 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . :
  • 아두이노 코드에서 TCP 서버(여러분의 PC)의 IP 주소를 변경하세요. 위 예제에서는 192.168.0.26으로 표시되어 있습니다.
  • 아두이노 IDE에서 Upload 버튼을 클릭하여 코드를 아두이노 보드에 컴파일하고 업로드하세요.
  • 시리얼 모니터를 엽니다.
  • 시리얼 모니터에서 아래를 볼 수 있습니다.
COM6
Send
Connected to WiFi YOUR_WIFI_SSID Connected to TCP server
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

TCP 서버에 연결한 후, 아두이노는 TCP 서버에 "Hello!"를 보낼 것이며, 이 텍스트를 TCP 서버 소프트웨어에서 확인할 수 있을 것입니다.

Arduino Serial to TCP
  • TCP 서버 프로그램에 데이터를 입력하여 TCP를 통해 아두이노로 전송하십시오.
  • 성공하면 시리얼 모니터에서 데이터를 볼 수 있습니다.
COM6
Send
Connected to WiFi YOUR_WIFI_SSID Connected to TCP server 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!