Don't think! Just do it!

종합 IT 기술 정체성 카오스 블로그! 이... 이곳은 어디지?

임베디드 소프트웨어/Zephyr

Zephyr tcp echo 서버

방피터 2022. 9. 24. 16:43

w5500_evb_pico 보드에서 tcp echo를 돌려보자구. tcp echo 예제는 zephyr/samples/net/sockets/echo 에 있어. main.c에 있는 내용을 전부 다 복사해서 기존에 blink 프로젝트 만들어 놓은 곳에 붙여넣어 보자구.

tcp echo

그리고 이건 tcp 서버니까 prj.conf에 CONFIG_NET_TCP=y 옵션을 추가해 줘야 해. 이 옵션을 안 넣으면 당연하겠지만 socket error가 출력될거야. 그러니까 아래처럼 CONFIG_NET_TCP=y를 추가해줘잉~

prj.conf

이제 빌드하고 바이너리 복사. 그러면 터미널을 통해서 아래와 같은 메세지를 볼 수 있어. "4242번 포트로 tcp server가 기다리고 있다~"

Zephyr 터미널

자 그럼 접속해주자고. 뭐 윈도우 쓰는 사람들은 hercules 같은 프로그램 쓰면 되는데 MAC은 그런게 없어 ㅠㅠ 다 돈주고 사래... 응 싫어.

뭐 간단하게 테스트 할 거니까 터미널에서 nc 명령을 사용해서 w5500-evb-pico에 접속해보자구. 그러면 아래와 같이 succeeded! 그리고 hello world를 보내면 잘 되돌아 오는 것도 확인이 가능해.

nc로 tcp 접속

w5500-evb-pico에서도 잘 접속이 되었다고 메세지가 출력되는 걸 확인할 수 있어.

w5500-evb-pico 터미널

좀 오버스럽지만 Wireshark에서도 확인해봤어. 뭐 당연히 확인 가능하고~ 👇👇👇

wireshark 에서도 확인 가능~

자 이렇게 큰 어려움없이 tcp echo 서버 테스트 해볼 수 있었어 ㅋㅋㅋ 코드다운 코드 한줄 짜본적이 없으니 당연히 어려움이 없었겠지? ㅋ ㅋㅋㅋ 이제부터는 시간이 될 때마다 ssl 이나 coap, mqtt, 클라우드 접속 등등을 하나씩 하나씩 해볼거야. 그러면서 본격적으로 OS 파악도 좀 하고 말이지. 안녕!

반응형