중급 예제

약간은 익숙하시거나 익숙해지셨나요? 그렇다면 조금더 깊이 다뤄볼까요?

IoT Wi-Fi 보드 Photon

2016-10-04 20:26:19

개요

 

안녕하세요! 코코아팹 에디터입니다. 

 

이번 포스팅을 통해 여러분께 소개하고자 하는 내용은 IoT용 WiFi 보드인 Photon입니다. 

이제는 IoT(사물인터넷)이라는 말이 낯설지 않을만큼 대중적으로도 많이 알려졌다고 생각합니다. 

아직 IoT(사물인터넷)의 개념이 생소하신 분들을 위해 다시 한 번 살펴보도록 할까요?

 

사진 출처 : www.business2community.com

 

"사물인터넷이란 정보 통신 기술을 기반으로 사물과 사물 또는 사람을 인터넷으로 연결해 상호 간 정보를 교환하고 소통(communication)이 가능한 인프라를 말합니다"

가령 예전의 세탁기의 경우 빨래를 하는 기능을 수행했다면, IoT가 접목되게 되면, 스마트폰을 통해 현재 빨래의 진행 상태를 파악하거나 세탁기를 원격으로 제어할 수 있다는 이야기가 됩니다.

 

현재는 몸으로 체감할만큼 IoT가 우리 생활 속에 보편적으로 녹아들어있지는 않지만, 많은 기업들이 IoT 분야를 주목하고 있는 상황을 토대로 미루어 볼 때, 미래에는 강력한 IoT 인프라 속에서 생활을 하지 않을까라는 생각이 듭니다. 

 

Mi Ui를 기반으로한 IoT 생태계 구축에 박차를 가하고 있는 샤오미(사진 출처 : ces.yonsei.ac.kr)

 

IoT가 각광받고 있는 시점에서 Maker들이 쉽게 IoT를 구현할 수 있도록 인터넷과 연결이 가능한 많은 보드들이 나와있으며, 플랫폼 또한 다양합니다. 

이번 포스팅에서는 그 중 하나인 IoT Wi-Fi Board Photon에 대해 소개하고 스마트폰을 통해 원격으로 Photon과 통신하고 제어해보는 실습을 해보려고 합니다.

 

 

 

 

 

 

photon이란?

 

이미지 출처 : dopenhomeautomation.net

 

photon은 particle 사에서 제조한 IoT용 소형 Wifi 보드입니다. 가격은 19$ 한화로 약 21,000원입니다.

photon을 이용해 직접 IoT 디바이스를 제작해볼 수 있으며, 또한 IoT 디바이스들과 클라우드에 연결이 가능하다고 합니다. 

photon에는 broadcom wi-fi chip이 내장되어 있으며, 이 칩은 구글 nest, LIFX, 아마존 Dash 등의 기기에 사용되고 있는 칩이라고 합니다. 

아두이노 IDE와 particle사의 web IDE를 통해 코드를 업로드 할 수 있기 때문에 아두이노를 주로 사용했던 메이커들도 친숙하게 사용할 수 있다고 생각합니다. 

 

photon의 사양은 아래와 같습니다. 

 

1. Particle P-Zero Wi-Fi module

 - Broadcom BCM43362 Wi-Fi chip

 - 802.11 b/g/n Wi-Fi

 - STM32F205RGY6 120Mhz ARM Cortex M3

 - 1MB flash, 128KB RAM

 

2. 18 Mixed - signal GPIO 

3. Real-Time operating system (FreeRTOS)

4. Soft AP setup

5. operating voltage : 3.3 ~ 5.5V(recommended)

 

 

 

 

 

 

 

Photon 구성

 

이미지 출처 : docs.particle.io

 

photon 보드를 살펴보면 크게 wi-fi module, button, LED로 구성되어 있는 것을 확인할 수 있습니다. 

 

1. Button 

 - SETUP button : photon은 모드 설정 시 주로 사용하는 버튼입니다. RESET 버튼과 같이 사용되며, 이 버튼을 통해 OTA Firmware update, Wi-Fi network RESE과 같은 동작 처리와 safe mode와 DFU mode로 접근할 수 있습니다. 

 - RESET button : 보드를 리셋할 때 사용되는 버튼이며, SETUP 버튼과 같이 사용하면 일련의 처리를 진행할 수 있습니다. 

 

2. LED

 - RGB LED : 2개의 button 사이에 위치한 LED로서, 빛 패턴을 통해 보드의 현 상태를 표현하는 LED입니다. 

 - D7 LED : D7과 연결되어 있는 LED입니다. 아두이노 UNO의 D13 LED와 비슷한 개념으로 이해하시면 됩니다. 

 

3. Wi-Fi 모듈

 - Wi-Fi chip : broadcom BCM43362

 - Micro controller : STM32F205RGY6 120Mhz ARM Cortex M3

 

 

photon은 RGB LED의 빛 패턴을 통해 현재의 보드 상태를 확인할 수 있기 때문에 LED 패턴에 대해 알아볼 필요가 있다고 생각합니다. 

보드 상태에 따른 LED 패턴 설명은 아래 링크를 참고하시면 됩니다.

 

>> photon 디바이스 모드 알아보기 << 

 

photon에 대한 대략적인 소개와 사양(구성)에 대해 알아보았으니 photon과 스마트폰을 연결(통신)해보는 실습을 진행해보도록 하겠습니다.

 

 

 

 

 

 

 

통신을 위한 환경 구성하기

 

소프트웨어

particle사에서 제공하는 어플리케이션(particle)을 통해 쉽게 photon과 스마트폰을 연결시킬 수 있습니다. 

추가적으로 계정 등록 후 보드를 등록하게 되면, 추 후에 로그인 만으로 보드에 대한 동기화를 쉽게 진행할 수 있습니다. 

* 보드와 최초 연결(설정) 시에는 모바일 앱을 사용할 것을 적극 권장하고 있습니다. 

 

 

아래 링크를 통해 스마트폰에 어플리케이션을 설치할 수 있습니다. 

Android 다운로드

I Phone 다운로드 

 

 

 

 

하드웨어 

- particle 어플리케이션이 설치된 스마트폰

- particle 디바이스 : 이번 실습에서는 photon을 사용합니다.(다른 particle 제품의 경우도 과정은 동일합니다.)

- USB cable : PC로부터 Photon에 전원을 인가해주기위해 사용합니다. 만약 별도의 배터리를 통해 photon에 전원을 공급한다면 usb cable이 필요하지 않습니다. 

- power supply : PC와 같이 전원을 공급할 장치(ex 배터리)

 

 

 

 

Wi-Fi settings

스마트폰과의 통신을 하기 위해서 wi-fi 망에 접속을 해줘야합니다. 때문에 보드(photon)에서 접속할 수 있는 조건이 충족되어야만 원할하게 접속을 진행할 수 있습니다.

- 2.4GHz 라우터

- 1-11 채널

- WPA/WPA2 암호화(보안)

- SSID로 선별 가능한 네트워크

- 방화벽이 존재하지 않은 네트워크(방화벽이 존재하는 회사나 학교 네트워크에서는 사용 불가)

* 보안상의 이유로 WEP 암호화 설정의 Wifi 네트워크는 권장하고 있지 않습니다.

 

 

 

 

 

Photon에 연결하기

 

통신을 위한 환경 구성이 완료되었다면, 본격적으로 스마트폰과 photon과의 통신을 실습해보도록 하겠습니다. 

스마트폰을 통해 Photon의 D7 LED를 제어해보도록 하겠습니다.

 

 

 

1. Photon에 전원을 공급해줍니다. 

 

이미지 출처 : https://docs.particle.io/guide/getting-started/start/photon/

 

전원을 공급하게 되면 RGB LED가 파란색으로 깜빡이는 것을 확인할 수 있습니다.

이 것은 listening 모드를 뜻합니다. listining 모드는 와이파이 연결을 위해 대기 중인 상태로 스마트폰 어플리케이션을 통해 Wi-Fi 망을 등록해줘야합니다.

*만약 파란색으로 깜빡이지 않거나, 오렌지색의 불빛이 점등된다면, 전원 공급이 부족한 상태를 말하며, 충분한 전원을 공급해줘야 합니다.

 

 

 

 

2. 스마트폰을 통해 Wi-Fi 연결하기

 

스마트폰 어플리케이션을 통해서 Photon과 Wi-Fi 네트워크를 연결해주는 과정에 대해 살펴보도록 하겠습니다.

 

1) particle 어플리케이션 실행 후 계정을 등록해준 후 로그인을 진행합니다.

 

 

 

 

2) 좌측 하단의 추가 버튼(+)을 눌러 set up a photon 버튼을 눌러 보드 등록을 진행해줍니다.

 

 

 

 

3) 화면에 표기된 사항들을 검토한 후에 Ready 버튼을 눌러줍니다. 

- photon에 전원을 공급해줍니다. 

- LED가 파란색으로 깜빡이는지 확인합니다. 만약 이전에 photon을 연결한 적이 있다면, photon의 SETUP 버튼을 3초간 누른 후 다시 진행합니다. 

- 안드로이드 기기가 인터넷에 연결되어 있는지 확인합니다. (연결되어있지 않다면 Wi-Fi 망에 연결을 진행해줍니다)

 

 

 

 

4) Photon을 선택해줍니다. 

- list에 디바이스가 검색되지 않는다면 SETUP 버튼을 3초간 눌러줍니다.

 

 

 

 

5) Photon과 연결한 뒤에는 Photon이 접속할 Wi-Fi 네트워크를 선택해준 후 해당 네트워크의 password를 입력해줍니다.

위에서도 언급했지만, 방화벽이 설정되어 있는 Wi-Fi 네트워크에는 연결에 제한이 있을 수 있습니다. 

 

 

 

 

6) Photon과 Wi-Fi 네트워크의 연결이 진행됩니다.

최초로 photon을 네트워크에 연결하게 되면 보라색으로 LED가 깜빡이며, 이 것은 업데이트를 의미합니다.

- 파란색으로 깜빡임 : Wi-Fi 자격 인증 대기 상태

- 파란색으로 점등 : 어플리케이션으로부터 Wi-Fi 정보를 받아옴

- 초록색으로 깜빡임 : Wi-Fi 네트워크에 연결

- 청록색으로 깜빡임 : particle cloud에 연결

- 자홍색으로 깜빡임 : 최신 펌웨어로 업데이트 상태

- 파란색으로 dimming : 연결 성공

 

 

만약 네트워크에 정상적으로 연결이 완료되었다면, 연결된 네트워크는 photon에 저장되게 되며, 이후에는 자동으로 연결을 시도합니다.

만약 새로운 네트워크를 추가하고 싶다면 listening mode(SETUP 버튼 3초간 누름)에서 동일한 과정으로 다른 네트워크에 연결을 해주면 됩니다.

총 5개의 네트워크까지 저장되며, 저장된 네트워크를 삭제하고 싶다면 SETUP 버튼을 10초간 눌러주면 초기화됩니다.

 

 

 

 

7) photon과 네트워크 연결 과정을 마쳤다면 디바이스 list에 photon이 정상적으로 추가된 것을 확인할 수 있으며, 현재 photon이 Wi-Fi 네트워크에 접속되어 있기 때문에 online 상태로 표시되게 됩니다.

 

 

 

 

8) 각 GPIO 핀의 상태를 확인할 수 있는 화면입니다. 이 화면에서 원격으로 각 핀을 제어하거나, 각 핀에 연결된 소자에 대한 데이터를 읽어올 수 있습니다.

각 핀을 길게 누르면 pinMode(Read, Write) 설정을 할 수 있으며, 설정을 마친 후 탭을 통해 신호를 보내거나(Write), 반대로 신호를 읽어올(Read) 수 있습니다.

 

 

 

마치며...

 

이번 튜토리얼에서는 Photon 보드에 대해 알아보고, particle 어플리케이션을 통해 Photon을 Wifi 네트워크에 연결한 후 스마트폰을 통해 원격으로 photon 보드를 제어하는 실습을 진행해보았습니다.

스마프폰 어플리케이션을 사용하지 않고 CLI(Command Line Interface)를 이용해 네트워크에 연결하는 방법도 있지만, Node.js 등 PC에 개발 환경을 설치하는데 번거로움이 있기 때문에 비교적 편리한 어플리키에션을 활용하는 것을 추천드립니다. 

 

*CLI에서 Wi-Fi 네트워크와 연결하는 방법은 아래 링크를 참고하면 됩니다. 

https://docs.particle.io/guide/getting-started/connect/photon/

 

particle Web IDE(이미지 출처 : https://docs.particle.io/guide/getting-started/build/photon/)

 

다음 튜토리얼에서는 particle web IDE 사용법에 대해 알아보고, 웹 페이지에서 Photon을 제어하는 실습을 진행해보도록 하겠습니다. 

많이 기대해주세요!

kocoafabeditor

항상 진취적이고, 새로운 것을 추구하는 코코아팹 에디터입니다!

Photon, 기타