3단계, 5분만에 나만의 IoT 애플리케이션 만들기

광고성 짙은 제목으로 시작했지만 저는 다만 IoT에 관심 있는 한 마리 개발자일 뿐. 특정 상품에 대한 리뷰이지만 고객으로서 이외에는 아무런 이해관계가 없음을 알려드립니다.

소개

제목의 모토는 요즘 재미있게 가지고 노는 Wio Link의 것입니다. seeed studio의 장치 최근에 알게 된 IoT 개발/프로토타이핑 용 보드입니다. 라즈베리 파이로 개발을 하다보면 납땜과 배선 등 전기적인 작업이 필요해집니다. 그런데 저는 전기를 잘 알지 못합니다. 만지면 아프다 정도? ㅋㅋ 저항, 캐퍼시터, 인덕터, 트랜지스터 등등등 부품들이 너무나 많고 배선도(부품을 연결해놓은 그림)를 봐도 왜 저렇게 되는건지 이해가 잘 안되었습니다. 따라하면 되긴 되는데.. 사실 IoT로 뭔가 해보고 싶은 사람들에게 전기의 위험성? 과 지식의 부족이 장벽이 되는 것 같습니다. 그렇게 고생을 하다가 한 줄기 희망을 본것이 바로 GrovePi+! 부품 수준이 아닌 패키징이 되어 선만 연결하면 되는 형태로 많은 센서와 액추에이터(뭔가 작동시키는 것)가 나와 있습니다. GrovePi+ 보드를 라즈베리 위에 올리고 필요한 컴포넌트를 보드에 연결하면 납땜, 배선 등의 작업을 할 필요가 하나도~~ 없습니다. 150개 이상의 모듈이 있다고 하니 가지고 놀기에는 부족함이 없어 보입니다. 만약 없으면 잠깐 납땜을 해서 만들면 되구요.

즐겁게 몇몇 소소한 프로젝트를 진행하고 직구도 몇 차례 하다가 아주 귀여운 보드를 발견했습니다. 바로 Wio Link 입니다. 무려!! 3단계, 5분만에 당신의 IoT 앱을 만들어 보세요! RESTful APIIFTTT도 지원합니다! 코드 없이 앱으로 프로그래밍 가능! 게다가 디럭스 키트가 100달러 할인 중! 바로 장바구니. 중국 선전에서 홍콩을 거쳐 4일 만에 집에 도착했습니다.

Wio Link 리뷰

개봉

  1. 제가 구매한 디럭스 플러스 키트 입니다.
    Seeed Studio-Wio Link Deluxe Plus Kit Package
    Seeed Studio-Wio Link Deluxe Plus Kit
  2. 박스를 열면 이런게 나옵니다. Wio Link 보드는 실제로 2개 들어있습니다.
  3. 보드의 사이즈는 약 5.5×4.8×0.6 cm 정도 입니다. 옆에 100원 동전과 비교해 보면 얼마나 작은 크기인지 짐작할 수 있을 것입니다. 라즈베리 파이보다 약 절반, 아두이노보다 30% 정도 작은 것 같네요. 박스 안쪽에는 프로토타입을 만들면 제품 제작까지 지원해준다는 홍보가 있네요.
    Wio Link Package Open
  4. 보드는 이렇게 생겼습니다. 앙증맞은 크기에 뒷면엔 귀여운 이모티콘이 그려져 있습니다. 꽤 세심하게 만들어져 있습니다. 포트 구성은 디지털 3개, 아날로그 1개, I2C 한 개, UART 한 개 있습니다. USB 또는 3.7V Li-Po 배터리를 사용할 수 있습니다. 데이터 연결은 WiFi로 합니다. 상세 스펙은 공홈의 위키 링크를 참조하세요.
    Wio Link Board-Front and Back

밑에는 버튼, 온도&습도 센서, 밝기 센서, 공기질 센서, 스피커, 릴레이, OLED 디스플레이 등 총 19개의 모듈들이 들어있습니다. 모듈 목록은 링크를 참조하세요. 개봉을 마치고 셋업을 시작해 봅시다.

설정과 테스트(Setup)

마이크로 컨트롤러 방식이기 때문에 별도로 OS설치는 필요 없습니다. 영어 설명은 공식 링크를 참조하세요. 셋업은 모듈을 연결하지 않고 보드만으로 해도 되지만 심심하니 버튼(센서)과 스피커(액추에이터)를 붙여봅니다. 사실 IoT 대부분이 센서/프로세서(컨트롤러)/액추에이터에 대한 것이라고 생각합니다. 대략 이렇게 보드와 모듈을 연결하고 단계별로 진행해 봅시다.

  1. 우선 스마트폰에 Wio 앱을 설치합니다.(안드로이드/iOS)
  2. 스피커와 버튼을 Wio Link에 연결합니다. 그리고 USB 케이블로 전원을 연결합니다.
  3. Wio 앱을 켜고 Device를 추가합니다.
  4. 화면의 안내에 따라 보드의 CONFIG 버튼을 약 4초간 누릅니다. 파란색 LED가 천천히 깜빡입니다.
  5. 앱에서 NEXT를 누르면 Wifi 네트워크가 검색되어 표시됩니다. 그 중 Wio Link를 연결할 네트워크를 선택합니다.
  6. 검색된 Wio 장치가 표시됩니다. 이 경우에는 WioLink_8B36xx 네요. 선택하면 스마트폰과 Wio가 연결되고 Wifi 접속 정보, 펌웨어 업데이트 등을 진행합니다. Wio Link와의 연결이 계속 실패할 경우 Python CLI를 사용해서 USB 연결로 설정해도 됩니다. 보드 두개 중 하나는 앱으로 설정이 잘 되었는데 다른 하나는 뭔가 잘 안되어서 USB를 통해서 PC에서 설정 했네요. 무선으로 설정하는건 실패하는 경우가 있다고 하네요.
  7. 이름도 지어주고 설정을 마치면 앱에서 해당 장치를 볼 수 있습니다.
  8. 드래그&드롭으로 모듈들을 연결해 줍니다. 참 편합니다! Digital 0 포트에 버튼을, Digital 1 포트에 스피커를 연결했습니다. 앱 화면의 아래쪽에 Update Firmware 버튼을 눌러 반영합니다.
  9. 앱 화면의 위 오른쪽 부분에 … 을 누르면 View API라는 메뉴가 나오고 거기서 몇 가지 테스트를 해볼 수 있습니다. 버튼이 눌러졌는지 확인한다거나 소리를 내본다거나.. 이것저것 장난을 해볼 수 있습니다.

앞의 내용을 정리한 캡쳐입니다.

Wio Link-App Config

아직 이 정도로는 IoT 앱이라고 할 수 없죠. IFTTT를 통해 버튼을 누르면 스피커에서 소리가 나오게 해보겠습니다. 어찌보면 Wio Link는 네트워킹과 모듈의 연결만 담당한다고 볼 수 있습니다.

IFTTT로 앱 만들기(Build IFTTT App with Wio Link)

IFTTT는 조리법(recipe)으로 불리는 명령문을 통해 페이스북, 지메일, 인스타그램 등과 같은 타 소프트웨어를 관리할 수 있도록 도와주는 프로그램이다. (위키피디아)

IF This Then That 의 약자인 IFTTT는 여러가지 용도로 사용되는 프로그램입니다. 일종의 프로그램들을 조합하는 역할을 한다고 볼 수 있습니다. IoT와도 관련이 깊은데 어떤 이벤트(입력)가 발생했을 때 무슨 행동(출력)을 하라고 지정해주는 기능을 합니다. 아직 자세히는 못 봤지만 웹 API 기반인 것으로 보이고, 조합을 통해 무궁무진한 가능성을 가진 것 같습니다.

일단 앱을 설치합니다.(안드로이드/iOS) 가입하고 진행합니다. Seeed 계정을 연결해 IFTTT 앱에서 Wio Link를 제어할 수 있게 해줍니다.

  1. 앱을 실행하고 My Applets로 들어갑니다.
  2. 위의 + 버튼을 눌러 애플릿을 추가합니다.
  3. 심플한 화면이 표시되네요. this 를 누릅니다.
  4. Trigger Service를 검색하는 화면입니다. Seeed Wio 를 선택합니다.
  5. Check Event real-time을 선택합니다. 버튼을 누르면 동작하는 것을 원하기 때문에. 위에 Monitor a sensor value는 값을 기록하는데 사용하는 것 같네요.
  6. 표시된 것 중 button_pressed 를 선택합니다. 버튼이 눌려지면 이벤트가 발생하는거죠.
  7. 다음은 어떤 행동을 하게 만들지 선택하는 화면입니다. that 을 선택합니다.
  8. 몇 가지 선택지가 표시됩니다. Drrive any Grove with API를 선택합니다.
  9. API중 sound_ms를 선택합니다.
  10. 아래 입력되는 첫 번째 파라미터는 스피커가 낼 소리의 주파수 입니다. 523 Hz 의 소리가
  11. 0.6초 지속되게 합니다. 두 번째 파라미터는 지속시간입니다. ms 이므로 1초간 나오게 하려면 1000을 입력하면 됩니다.
  12. 다 되었습니다. 적당한 걸로 이름을 바꿔줍니다.
  13. 마지막으로 Finish! 어떠한 코딩도 하지 않고 두 개의 모듈이 서로 연결될 수 있게 만들었습니다!! 다른 IoT 보드에서라면 모두 코딩이 필요한 부분이죠.

버튼을 누르면 좀 시간이 흐른 뒤(지연) 스피커에서 조악한(?) 소리가 나오는 걸 들을 수 있습니다. 보드에서 모든 것을 처리한다면 시간지연 없이 소리가 나오도록 할 수 있을 것입니다. 버튼을 누르면 seeed의 IoT 서버로 신호(RESTful API call)가 보내지고 그게 IFTTT의 서버로 전달됩니다. IFTTT에서는 정해진 애플릿을 실행해 소리를 내라는 명령을 다시 seeed 서버로 보내고 그게 Wio Link로 전달됩니다. 동작하는 기계장치(Wio Link)는 여기 있지만 실행되는 프로그램(애플릿)은 인터넷 어딘가의 클라우드에 있는 것이죠.

Wio Link, IFTTT Interaction

 

그럼 여기까지 시험삼아 작은 프로젝트를 하나 진행해 봤습니다.

아이디어들 PROJECT IDEAS

이정도는 시시합니다. 버튼을 눌러 소리를 낸다는건 특별히 재미있진 않죠. 이 작은 장치와 IFTTT를 활용할 곳을 몇 가지 생각해 봤습니다.

  • 현관문 열리면 메일(또는 문자) 보내기 : 현관문에 자석 센서를 부착.
  • 밖에서 집안 조명 켜고 끄기 : 릴레이 사용.
  • 집 근처에 도착하면 감시 카메라 끄기(사생활 보호?) : 릴레이 사용.
  • 집안 온도가 더우면 에어컨 자동으로 켜기 : 온도 센서와 IR Emitter 사용.
  • 회사 근처에 도착하면 컴퓨터 전원 자동으로 켜기 : WOL(Wake On Lan)을 할 수 있으려나..;;

생산자 쪽에서도 이런 아이디어를 독려하고 공유할 수 있도록 몇 가지 레시피를 올려놨습니다. 화분에 물주기도 간단하고 유용해 보이네요. 소매가 $14 짜리 보드와 몇 천원밖에 안하는 전자부품들로 재미있는 프로젝트를 잔뜩 해볼 수 있습니다!

구매하기

seeed studio 공홈에서 직구하실 수 있습니다. 현재(2019-09-09) 엄청난 키트가 대박 세일 중입니다!! ($149 -> $49, 무려 $100 달러 할인!). 프로젝트에 따라 필요한 모듈을 함께 구매하면 배송비 절약 차원에서 좋습니다. 특히 LED 모듈 같은건 작동 테스트를 위해 유용하기 때문에 하나쯤 사두는게 좋습니다. DHL로 3~5일 정도면 받으실 수 있습니다.

잡소리

  • 킥스타터 출신인가 보네요.. 2만 달러 목표에 17만 달러 모집되어 대박을 쳤었네요 ㅎㅎ 페이지 아래쪽에는 개발팀의 사진도 있습니다.
  • 라즈베리 부터 시작해서 이런저런 장치들을 잔뜩 사고 있는데 대부분 만들어진 곳이 중국의 선전(Shenzhen) 입니다. 그곳에는 엄청난 전자부품 상가가 있다고 하던데…

1 thought on “3단계, 5분만에 나만의 IoT 애플리케이션 만들기

  1. 핑백: IFTTT와 플랫폼 – Sam and the World

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다