본문 바로가기

프로그래밍/아두이노01- 제품개발

아두이노 wifi shield 개발 - 3. 아두이노를 IoT제품처럼 만들기



IoT제품에 관한 내용

Internet of Things

물리적으로 네트웍에 연결되어있는 기기와 이를 위한 백엔드 서비스 및 소프트웨어


우리는 최종적으로는 안드로이드 어플리케이션에서 집에 있는 어떠한 제품을 작동하도록 도와줄 예정이다.




위 사진은 저번시간에 만든 아두이노 wifi 쉴드 모델.


웹서버로 작동하며, 엘이디를 웹페이지에서 켜고 끌수있다.


하지만 문제점이 있다.


공유기에 그저 물린상태에서 다른네트워크(3g, lte, 혹은 같은공유기에 물려있지 않은 컴퓨터)에서


이 엘이디를 조종하려고 하면 제대로 되지 않는다.


왜냐하면 같은 공유기 안에서는 사설 ip이기 때문에(1로시작하는 아이피) 서로 호환 및 연결이 되지만..


그러나 공유기 밖에서는(2로 시작하는 아이피)에서는 해당 사설아이피(1로 시작하는 아이피)


를 인식을 하지 못하기 때문이다.



이때문에 사용하는것이 포트 포워딩 이라는 기술이다.



공유기 마다 다르지만 iptime이나 버팔로 모델에는 기본적으로 포트포워딩 기술을 지원한다.


포트포워딩 기술이 무었인지 알려주는 사이트 : http://luckyyowu.tistory.com/102


위 블로그는 사실 iptime 공유기에 대해서만 적어놓았으나, 개념이 유용하게 적혀있어 잘 적용하면


어느 공유기 든지 포트포워딩이 가능하다.



===========================================================================




버팔로 공유기의 설정화면 가상서버-포트범위포워딩에 들어가면 있다.


공유기 마다 다르므로 해당 공유기 메뉴얼을 잘 보면 어떻게 하는지 나와있다.


그래서 해당 아두이노를 개발할 때 포트를 81로 선언해 놓았다면 포트번호를 81로 설정하고,


그리고




아두이노 컴파일 시에 나온 해당 아이피 맨 마지막 숫자(여기서는 101)을 설정하고 사용을 하게 하면 이제


외부네트워크에서도 직접적으로 접속하여 사용이 가능하게 된다.


===========================================================================


외부네트워크에서 해당 아두이노가 물려있는 공유기의 아이피를 찾으려면


아이피를 찾는 사이트 : http://ipip.kr/




를 사용하면된다.


그리고 .. 테스트...



===========================================================================


외부네트워크를 테스트하는 방법에는 여러가지가있겟으나, 


우리는 모두 스마트폰을 가지고 잇으니까 3g나 lte에서 해당 아이피가 잘 되는지 확인하면 된다.


확인하는 방법은 위 아이피 주소 + 포트번호를 기입, url이 정상 작동되는지


스마트폰에서 접속해보면 된다.





그림. 아이폰 크롬에서 LTE(외부네트워크)에서 접속한모습.

실제로 웹피이지에 버튼을 클릭하면 집 공유기에 물려있는 아두이노가 잘 작동한다.


===========================================================================

당연히 led가 외부네트워크에서 작동되므로


엘이디는 기본일 뿐만아니라 서보모터, 초음파센서, 온도모듈 등을 사용하여 외부에서 집온도를 확인한다던가


문을 걸어 잠근다거나 컴퓨터를 켠다거나 하는 작업도 응용하여 가능할 것이다.




그러나!!


당연히 외부네트워크이므로 나뿐만 아니라 다른 사람들도 저 네트워크에 침입하게


되면 작동이 가능하므로.. 반드시 이러한보안사항에 대해서 


잘 유의해서 개발해야 할 것이다.


감사합니다.