Ck1010
235
2020-08-24 20:33:38
4
288

아두이노에서 보낸 데이터를 웹에서 받으려면? (TCP 소켓과 Websocket 간 통신?)


안녕하세요.


아두이노에서 보낸 데이터를 웹에서 확인하고, 웹에서 아두이노로 데이터를 보내는 작업을 하려고 합니다.


아두이노 (tcp 클라이언트) 에서 데이터를 보낸거를 자바스크립트 (tcp 서버)로 데이터를 받는거는 성공했습니다. 


그런데 웹과 통신을 하려면 tcp 소켓이 아닌 WebSocket 을 사용해야 하는것 같더군요

자바스크립트로 WebSocket 서버를 만들어서 데이터를 받을수 있는지 확인해봤는데 실패했습니다


제가 검색해서 알아낸게 맞는지 잘 모르겠는데

tcp 와 WebSocket 이 데이터를 주고 받는 방식과, 데이터를 보내는 구조가 달라서(?) 서로 통신을 못하는거라고 하는데 이게 맞나요???


아두이노와 웹 사이에 통신을 하려면 아두이노쪽에서 웹소켓을 사용해서 데이터를 보내야 하나요?


읽어주셔서 감사합니다...

0
  • 답변 4

  • 촉촉한 방부제
    180
    2020-08-24 23:16:35

    Json으로 웹서버와 통신하는 방법이있긴 있습니다면 써보지는 않았기 때문에 확신한 답은 드릴수 없을것 같네요


    꼭 아두이노로 진행을 하셔야 되나요? 

    만약 리눅스가 어느 정도 컨트롤아 가능하시다면 라즈베리파이로 하시는 것을 추천드립니다.  

  • 멘탈조각
    1k
    2020-08-25 03:09:12

    비교가 불가능한걸 비교하려 하지 마세요.

    TCP는 트랜스포트 레이어고 Websocket는 애플리케이션 레이어입니다.

    Websocket, MQTT, Kafka, HTTP전부 TCP Socket을 이용하는 하위 프로토콜입니다.

  • 멘탈조각
    1k
    2020-08-25 03:13:36

    정확히 어떤보드를 사용하는진 모르겠지만 아두이노 우노는 8비트 MCU로 SRAM이 2k이기 때문에 단순한 PID제어정도만 가능합니다. 엔간한 HTTP헤더만 받아도 OOM이 납니다.

    복잡한 네트워크 통신이 필요하다면 두에나 메가 또는 아두이노를 벗어나서 ESP32같은걸 알아보는게 좋습니다.

  • Ck1010
    235
    2020-08-26 16:26:05

    네트워크 통신을 많이 접해보지 않아서 잘 몰랐네용...  답변 감사합니다

  • 로그인을 하시면 답변을 등록할 수 있습니다.