Near & Far - BLE 을 통한 거리 이벤트
1. Near & Far
Near & Far 는 나의 위치에 따라서 여러분들이 생각한 어떠한 아이디어도 가능하게 하는 앱 + DIY 도구 입니다.
여러분들이 직접 Arduino 를 조립하여 여러분의 원하는 기능을 추가해 보세요.
아래 설명대로 진행하시면 여러분이 컴퓨터 근처에 있을때 화면이 켜지고 멀리 떨어지면 컴퓨터가 잠기는 동작을 하게 됩니다.
이 기능은 Arduino 와 Node.js를 통해서 동작하게 됩니다. 이 기능 이외에도 어떠한 여러분들의 아이디어도 Arduino를 통해서 직접 구현 할수 있습니다.
이 기능은 Arduino 와 Node.js를 통해서 동작하게 됩니다. 이 기능 이외에도 어떠한 여러분들의 아이디어도 Arduino를 통해서 직접 구현 할수 있습니다.
Arduino 가 뭔지 모르겠다 하는 분은 포털이나 Google 에서 Arduino 를 검색해 보세요.
Node.js 가 뭔지 모르겠다 하는 분은 포털이나 Google 에서 Node.js 를 검색해 보세요.
어렵지 않습니다. 한번 도전에 보세요.
![]() |
Arduino Hompage |
어렵지 않습니다. 한번 도전에 보세요.
2. Arduino 조립 방법
1) Arduino UNO 구입
2) Bluetooth 모듈 구입
Arduino UNO 용 Bluetooth 모듈을 구입 합니다.
Bluetooth Low Energy (BLE) Shield for arduino FZ1033 을 구입하시면 됩니다.
아마존이나 알리익스페리스에서 검색하시면 바로 구입할수 있습니다.
CC3000 WiFi Shield for Arduino UNO 2560 R3 를 구입하시면 됩니다.
아마존이나 알리익스페리스에서 검색하시면 바로 구입할수 있습니다.
Bluetooth 모듈은 점퍼 핀을 RX 2번, TX 4번이 연결되도록 변경해 주셔야 합니다.
Windows 나 Mac 용 중 자신의 PC 에 맞는 버전을 설치하시면 됩니다.
Windows 을 기준으로 설명하도록 하겠습니다. (Mac도 동일합니다.)
첨부된 스케치(Arduino 소스) 를 다운로드 받아서 정당한 위치에 압축을 해제합니다.
그리고 다음의 절차대로 Arduino 개발도구에서 실행합니다.
자신의 PC OS 에 맞는 버전을 설치하시면됩니다.
Windows 을 기준으로 설명드리도록 하겠습니다. (Mac도 동일합니다.)
다운로드 받은 zip 파일을 적당한 위치에 압축을 푸신후에 커맨드 창을 열어서 해당 위치로 이동합니다.
실행후 나오는 서버 주소를 잘 기억해 두세요.
연결이 정상적으로 되었으면 다음의 정보를 입력하여야 합니다.
- Alias : 이 Arduino 를 구분할 이름을 입력하시면 됩니다.
여러대를 등록했을때 이름으로 구분할수 있습니다.
- WiFi SSID : Arduino 가 Node.js 서버에 접속을 위해서 인터넷이 가능한 AP SSID 를 입력하세요
- 보안타입 : 위에서 입력한 SSID 의 보안타입을 선택하세요.
- 비밀번호 : 위에서 입력한 SSID 의 비밀번호를 입력하세요.
- Node.js 서버주소 : 이전에 설치한 Node.js 서버의 주소를 입력하세요.
Node.js 구동시 메시지를 확인하시면됩니다.
- 체크시간 : 내 위치를 검사할 시간을 초단위로 입력하세요. (60초 이상)
설정이 완료되면 이제 Arduino 가 내 폰의 위치를 판단합니다.
- 내가 가까이 왔을때 특정 가전기기의 전원 On / 멀때 전원 Off
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 를 처음으로 접해봤습니다. 저도 많은 시행착오를 거쳐서 간신히 완성했습니다.
여러분들이 한번 이런저런 시도도 해보시고 하면서 발전해 나갔으면 합니다.
저도 이것저것 시도를 하면서 업데이트 해나가겠습니다.
잘 사용하시고 궁금한점이나 질문은 이 포스트 댓글로 남겨주세요. 감사합니다.
여러분들이 한번 이런저런 시도도 해보시고 하면서 발전해 나갔으면 합니다.
저도 이것저것 시도를 하면서 업데이트 해나가겠습니다.
잘 사용하시고 궁금한점이나 질문은 이 포스트 댓글로 남겨주세요. 감사합니다.
댓글
댓글 쓰기