2015년 9월 24일 목요일

Near & Far

1. Near & Far



   Near & Far 는  나의 위치에 따라서 여러분들이 생각한 어떠한 아이디어도 가능하게 하는 앱  +  DIY 도구 입니다.

여러분들이 직접 Arduino 를 조립하여 여러분의 원하는 기능을 추가해 보세요.


아래 설명대로 진행하시면 여러분이 컴퓨터 근처에 있을때 화면이 켜지고 멀리 떨어지면 컴퓨터가 잠기는 동작을 하게 됩니다. 

이 기능은 Arduino 와 Node.js를 통해서 동작하게 됩니다. 이 기능 이외에도 어떠한 여러분들의 아이디어도 Arduino를 통해서 직접 구현 할수 있습니다. 

Arduino 가 뭔지 모르겠다 하는 분은 포털이나 Google 에서 Arduino 를 검색해 보세요.


https://www.arduino.cc

Arduino Hompage
Node.js 가 뭔지 모르겠다 하는 분은 포털이나 Google 에서 Node.js 를 검색해 보세요.


어렵지 않습니다. 한번 도전에 보세요.

2. Arduino 조립 방법

1) Arduino UNO 구입

제일 먼저 Arduino UNO 를 구입해야 합니다.
포털이나 Google 에 Arduino UNO로  검색하시면 쉽게 구입하실수 있습니다.
     
     
<Arduino Uno>

2) Bluetooth 모듈 구입

Arduino UNO 용 Bluetooth 모듈을 구입 합니다.
Bluetooth Low Energy (BLE) Shield for arduino FZ1033 을 구입하시면 됩니다.
아마존이나 알리익스페리스에서 검색하시면 바로 구입할수 있습니다.

<Bluetooth Low Energy (BLE) Shield >

3) WiFi 모듈 구입

Arduino UNO 용 WiFi 모듈을 구입 합니다.
CC3000 WiFi Shield for Arduino UNO 2560 R3 를 구입하시면 됩니다.
아마존이나 알리익스페리스에서 검색하시면 바로 구입할수 있습니다.

<CC3000 WiFi Shield >

4) 조립

사진과 같이 Arduino Uno + Bluetooth 모듈 + WiFi 모듈을 조립 하시면 됩니다.
Bluetooth 모듈은 점퍼 핀을 RX 2번, TX 4번이 연결되도록 변경해 주셔야 합니다.
     
<Bluetooth 점퍼 변경>


<Arduino 와 Bluetooth 조립>


<Bluetooth에 WiFi 조립>

이렇게 조립이 완료되면 Arduino Uno와 동봉된 USB 케이블을 PC에 연결하시면 됩니다.

5) Arduino 개발도구 설치

다음의 링크에서 Arduino 개발도구를 설치하시면 됩니다.


Windows 나 Mac 용 중 자신의 PC 에 맞는 버전을 설치하시면 됩니다.
Windows 을 기준으로 설명하도록 하겠습니다. (Mac도 동일합니다.)

<설치 시작 - 디폴트 설정으로 설치>


<설치 완료>
     

6) 스케치 실행

     
첨부된 스케치(Arduino 소스) 를 다운로드 받아서 정당한 위치에 압축을 해제합니다.
그리고 다음의 절차대로 Arduino 개발도구에서 실행합니다.


     
<Arduino 개발도구 환경설정>


 <압축 해제 폴더 선택>


<스케치 열기>


<Arduino 포트 선택>


<스케치 실행>
     
<시리얼 모니터 선택>

<스케치 실행 완료>

3. Node.js 서버 설치 방법

1) Node.js 설치

다음의 링크에서 Node.js 를 다운로드 받아서 설치하세요.


자신의 PC OS 에 맞는 버전을 설치하시면됩니다.
Windows 을 기준으로 설명드리도록 하겠습니다.  (Mac도 동일합니다.)

 <Node.js 설치파일 실행 및 디폴트 설정으로 설치>


<설치 완료>

2) 서버 소스 다운로드

다음의 링크에서 Node.js 용 Near&Far 서버 소스를 다운로드 받으세요.



다운로드 받은 zip 파일을 적당한 위치에 압축을 푸신후에 커맨드 창을 열어서 해당 위치로 이동합니다.

<커맨드 창을 통하여 해당 위치로 이동>

3) 서버 구동

커맨드 창에서 다음과 같은 명령어를 치시면 서버가 실행됩니다.

node near_far.js

실행후 나오는 서버 주소를 잘 기억해 두세요.

<node.js 실행>


<실행 결과 - IP:Port 기억 필요>

4. 세팅 방법

1) 앱 설치

다음의 링크에서 앱을 다운로드 받으세요.

2) Arduino/Node.js 시작 확인

위에서 설명한 방법대로 Arduino 와 Node.js 가 정상적으로 구동되었는지 확인하세요.

<Arduino 시리얼 모니터>


<Node.js 구동 화면>

3) 앱 사용방법

앱을 실행후 Arduino 로고를 누르시면 Arduino 와 연결이 시작됩니다.

<앱 연결 화면>


연결이 정상적으로 되었으면 다음의 정보를 입력하여야 합니다.

<앱 설정 화면>

- Alias : 이 Arduino 를 구분할 이름을 입력하시면 됩니다.
여러대를 등록했을때 이름으로 구분할수 있습니다.

 - WiFi SSID : Arduino 가  Node.js 서버에 접속을 위해서 인터넷이 가능한 AP SSID 를 입력하세요

- 보안타입 : 위에서 입력한 SSID 의 보안타입을 선택하세요.

- 비밀번호 : 위에서 입력한 SSID 의 비밀번호를 입력하세요.

- Node.js 서버주소 : 이전에 설치한 Node.js 서버의 주소를 입력하세요.
Node.js 구동시 메시지를 확인하시면됩니다.

- 체크시간 : 내 위치를 검사할 시간을 초단위로 입력하세요. (60초 이상)

설정이 완료되면 이제 Arduino 가 내 폰의 위치를 판단합니다.

<설정 완료 화면>
        
- Arduino 상태 : 현재 Arduino 상태를 조회합니다.
          
- Arduino 삭제 : 현재 등록된 Arduino 를 삭제합니다.

5. 사용 할수 있는 곳

기본적으로 제공하는 기능에 다른 기능을 추가/변경 해 보세요.

여러분은 다른 아이디어로 Arduino 와 Node.js 를 얼마든지 수정할수 있습니다.

예를 들면.. 

- 내가 가까이 왔을때 특정 가전기기의 전원 On / 멀때 전원  Off

- 내가 특정위치에 가까이 왔을때 트위터 등 SNS 에 글 남기기

기타 등등 여러분의 생각대로 구현 할수 있습니다.

6. 개발자 한마디

저도 이앱을 만들면서 Arduino 를 처음으로 접해봤습니다. 저도 많은 시행착오를 거쳐서 간신히 완성했습니다.

여러분들이 한번 이런저런 시도도 해보시고 하면서 발전해 나갔으면 합니다.
저도 이것저것 시도를 하면서 업데이트 해나가겠습니다.

잘 사용하시고 궁금한점이나 질문은 이 포스트 댓글로 남겨주세요. 감사합니다.