django를 활용해서 home iot 컨트롤을 구현해보려고 하고 있습니다. iot 디바이

 
SeeRyong Woo

django를 활용해서 home iot 컨트롤을 구현해보려고 하고 있습니다.
iot 디바이스에 로컬 ip가 할당되어 있는데 이걸 iot디바이스들에 접근하는 서버를 통해서 외부망에서 컨트롤 하려고 하는데
1. 디바이스마다 web서비스를 제공해줍니다.
2. 외부망에 연결된 서버에 django로 페이지를 보여줍니다.
3. django를 통해서 해당 디바이스에서 제공되는 web페이지를 보여줍니다.-> 이부분이 해결이 안됩니다. 로컬ip이기 때문에 외부에서 접근할수가 없으므로 서버에서 일종의 네트워크 브리지가 되어줘야 하는데 어떤식으로 해결해야할지 모르겠습니다. 단순히 로컬 ip를 물려주면 당연히 접근이 안되고 포트포워딩을 해서 해당포트로 연결하면 자동으로 기기를 등록할수가 없습니다. 해결 방법이 없을까요?
크롤링을 사용해서 해당페이지를 뿌려줄까 했지만 그럴경우 해당 디바이스를 컨트롤 할수가 없습니다.

  • SeeRyong Woo

    원격 데스크톱연결해서 로컬 ip로 접근하면 해당페이지가 보여지듯 서버의 웹페이지에서 로컬 페이지를 연결하고 싶습니다.

    Changkyum Kim

    우선 더 괜찮은 접근이라면, 디바이스들과 게이트웨이 서버는 별도의 데이터 채널로 통신하도록 구성하고 사용자 view는 모두 게이트웨이에서 생성하는 것이 어떨까요. 내부망 디바이스에도 django 인프라가 올라간다는 얘기이므로, 게이트웨이 서버와 디바이스간 json API같은 걸 설계하여 운용할 수 있겠네요. 이미 자동 등록 기능등을 구상하고 계시니 api설계가 있지 않을까 싶습니다만.

    굳이 디바이스가 html view를 산출해야겠다면 django가 됐든 다른 플랫폼이 됐든 어플리케이션 서버의 기능만으로 자동으로 될리는 없습니다. 게이트웨이 서버의 애플리케이션이 http 클라이언트 역할을 하며 내부망 디바이스에 리퀘스트하고 그 응답을 다시 외부로 릴레이하는 방식 외에 없지 않을까요.

    Changkyum Kim

    아니면 reverse proxy 역할을 할 별도의 인프라를 추가설치하여 구성.

    JiSeung Jung

    uPnP 를 사용하시면 포트포워딩 없이 해당 기기로 외부에서 접근이 가능 합니다

Advertisements