포트 포워드없이 인터넷을 통해 Arduino에 연결


13

인터넷에 연결된 Wi-Fi 네트워크에 Arduino 보드가 연결되어 있습니다. 내가 원하는 것은 Arduino의 홈 네트워크에서 포트 전달의 도움없이 다른 네트워크 에서이 Arduino 보드에 연락해야한다는 것입니다. 현재 내가하고있는 일은 Arduino가 2 초 간격으로 웹 서버에 핑하는 것입니다. 실용적이지는 않습니다.

스마트 와이파이 LED 조명과 같은 장치는 어떻게 인터넷에 연결됩니까? 포트 포워딩이나 다른 라우터 구성 조정없이 휴대폰으로 작동시킬 수 있습니까? 그들은 그걸 어떻게 햇어?


CoAP 및 다른 IoT 프로토콜을 살펴보십시오.
Sean Houlihane

답변:


9

인바운드 트래픽 을 허용하는 네트워크에있을 필요가 없도록하려면 아웃 바운드 연결을 수행하는 클라이언트의 요청을 릴레이하는 서버에 아웃 바운드를 연결해야합니다.

본질적으로 이것은 통신 위성의 모델과 같습니다. 사용자의 컴퓨터 나 전화 또는 IoT 장치는 모두 클라우드에서이 서버에 대한 "링크"링크를 유지하며, 한쪽에 나타나는 각 메시지를 가져 와서 다른쪽에 보내는 메시지를 가져옵니다.

이러한 서버를 구현하는 방법에는 여러 가지가 있습니다. 현재 유행 중 하나는 MQTT 브로커가되는 것 입니다. MQTT에서 클라이언트 (IoT 디바이스 및 사용자 디바이스 모두)는 브로커에 대한 아웃 바운드 연결을 작성하고, 한 클라이언트가 "토픽"에서 "게시"된 깨진 공유 메시지는 해당 "토픽"에 "구독"한 모든 클라이언트에게 공유됩니다. "주제.

  • 연결이 이미 설정되어 있으므로 브로커는 폴링 간격 대기 시간없이 요청하지 않은 트래픽을 다운 스트림으로 전송할 수 있습니다.

  • 연결을 유지하기 위해 가끔 연결 유지 트래픽이 전송됩니다.

  • 연결이 끊어지면 다시 설정하기위한 규칙이 있습니다.

  • 기본적으로 브로커가 메시지를 릴레이하려고 시도하고 연결이 끊어지고 아직 복구되지 않은 경우에만 눈에 띄는 대기 시간이 발생하며,이 경우 다시 연결이 완료 될 때까지 메시지가 지연됩니다. (메시지 보관, 삭제 등의 옵션이 있습니다).


1
끝까지 MQTT. 단서 Chris에게 감사합니다. NodeJS + MQTT가가는 길입니다.
Jithesh Kt
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.