2015. 1. 10.

[Casual hacking] Introduce GPIO app for Raspberry Pi

 [Casual hacking] GPIO app for Raspberry Pi 


GPIO 란?
Genenral Purpose Input/Output. 쉽게 말해 다용도 입출력 포트를 말합니다.
GPIO를 소프트웨어와 연동해서 전기 입력 및 출력 신호를 이용하여 소프트웨어에서 구현하려고 했던 디바이스 컨트롤을 행하죠.

이번에 다루는 GPIO는 세계적인 열풍을 불러 일으킨 라즈베리파이(Raspberry Pi) GPIO 입니다!

기존 라즈베리파이 유저분들이라면 신세계를 맞이할 것 같네요^^



 (위에 GPIO 앱이 보이시나요?)

(GPIO app을 접속하면 처음 보시게 되는 Shell 화면입니다.)


(Input & Output test를 위한 python code)

기존에는 위와 같은 코딩을 통해서 pin들을 컨트롤해왔었죠?!

이제 위 이미지에서 봤던 GPIO 앱 UI를 순서대로 하나씩 설명해 드리겠습니다!^^
GPIO / SPI,UART,I2C / Pull up & down / PWM

1) GPIO pins 
    - Input, Output

해당 GPIO pin 들을 마우스로 선택해줍니다.
선택하면 아래의 옵션이 보이게 되죠.
input option은 Read 를 할 수 있습니다.
현재 해당 GPIO 의 상태가 0인지 1인지를 판단할 수 있죠!



 Output option은 1과 0을 입력하여 해당 device에 data값을 보내줍니다.
예를 들자면,
기존 Raspberry Pi를 이용하여 LED 를 컨트롤 하려고 하면, python 의 경우 True(=1), False(=1)로 LED 의 전원을 제어할 수 있었죠!
blank에 1을 Write하면 LED 가 켜지고, 0을 Write하면 LED 가 

2) PWM - GPIO18 pin
    - 1 ~ 1023 write

위의 이미지에서는 PWM값을 1023으로 입력하여 전압 폭을 늘리는 시도를 하고 있네요!

GPIO 앱을 사용하면 기존의 번거로운 코딩없이 입출력을 클릭 몇번으로 사용할 수 있는 것이 큰 매력이라고 할 수 있습니다.

하지만 GPIO 앱이 개발된 가장 큰 이유는 바로!

PROTA에 설치되어 있는 다른 앱들과의 자동화를 실현할 수 있다는 점입니다!!
실제로 GPIO 값을 다른 앱들과 연동하여 자동화 하는 case는 SPI, UART, I2C, Interrupt(rising, falling) 값을 설정하는 법과 함께 다음 포스팅에서 소개해드리겠습니다!^^

2015. 1. 9.

[Useful apps] Personal security cloud storage, Bittorrent sync

[Killer app series] Personal security cloud storage, BitTorrent Sync app


이번 포스팅에서는 P2P 방식의 파일 동기화 프로그램인 BitTorrent Sync를 소개하려고 합니다.
파일 동기화 프로그램, 클라우드 플랫폼이라고 하고 Dropbox나 Box 와 유사한 서비스이긴 하지만 BitTorrent Sync만 가지고 있는 장점들이 있습니다!

  1. 실시간 파일 공유 및 동기화
    - 디바이스 간에 공유될 폴더의 secret key를 한 번만 공유하면, 파일이 폴더에 추가되면 같은 폴더를 공유하고 있는 각기 다른 디바이스에도 바로 동기화가 이루어집니다.
  2. 개인 클라우드 서버의 소유로 인한 높은 보안성
    - 기존 클라우드 서비스들은 모두 사용자의 파일을 다른 회사의 서버에 위탁하는 방식이었다면, BitTorrent Sync 의 경우 개인 PC 혹은 PROTA를 파일 서버로 사용하기 때문에 사용자가 동기화 된 파일에 대해 높은 보안성을 가지게 됩니다.
  3. 사용자마다 차별된 동기화 방식 설정
    - 프라이버시 보호는 개인의 폴더를 지정된 사용자에게만 공유하고 또 공유 권한을 제한할 수 있습니다. 공유 형태로는 '읽기/쓰기', '읽기' 등의 선택 사항이 있어, 가족 혹은 친구들끼리 파일 혹은 폴더를 지정하여 특정 사람들끼리만 동기화 할 수 있습니다. 
  4. 제한 없는 파일 전송 속도
    - 기존 BitTorrent 와 동일한 방식으로 피어와 피어 간의 데이터 전송하는 방법이기 때문에 공유하고 있는 피어가 많으면 많을수록 데이터 전송 속도가 빨라집니다. 모바일 기기를 통해 파일에 접근할 때에도 셀룰러 데이터를 사용하지 않고 WiFi 무선 네트워크를 사용하면 데이터 비용 또한 걱정할 필요가 없습니다.










# BitTorrent Sync 를 PC가 아닌 스마트 서버 PROTA의 앱으로 사용하자!



















- 기존 BitTorrent Sync 는 모바일 클라이언트 프로그램과 PC 프로그램을 설치한 후 PC에서 폴더를 생성하여 공유하는 방식으로 많이 사용해왔습니다.
- Smart server PROTA에 외부 저장 장치를 연결한다면 '개인 파일 클라우드 서버'로 사용할 수 있습니다.


# PC -> Smart Server PROTA. 무엇이 좋아졌을까?




위의 영상은 어떤 디바이스(스마트폰, PC 등)에서든 PROTA에 연결된 외부 저장장치(USB)에 NFS를 통해 쉽게 접근할 수 있는 것을 보여주고 있어요!
  1. 항상 전원이 켜져 있어야 하는 부담을 초 저전력 PROTA 가 줄여줄 수 있습니다.
    - 파일 폴더를 공유하기 위해서는 서버 역할을 할 수 있는 PC가 필요합니다. 일반적으로 Torrent를 이용할 때도 seed 를 유지할 수 있는 peer 가 최소한 한 명이 존재해야 공유가 가능한 것처럼 BitTorrent Sync 도 마찬가지입니다.
    - PROTA는 초 저전력 스마트 서버 역할을 하기 때문에 장시간 켜져있도 전력 사용량에 부담이 없습니다.
  2. NFS(Network File system) app 을 이용한 파일 접근이 자유롭습니다.
    - 외부 저장장치(HDD, USB 등)로 PC의 HDD 용량에 부담을 주지 않습니다. 또 저장되어 있는 파일을 Samba protocol 방식의 NFS app으로 PROTA에 연결된 외부 저장장치로 쉽게 이동 시킬 수 있습니다.
  3. PROTA의 앱들과의 연계
    - 기존 미디어 서버 관련 앱들인 Transmission, DLNA, ownCloud, Volumio 와 함께 사용할 수 있습니다.
    - Transmission 을 통해 BitTorrent Sync로 공유 설정이 되어 있는 폴더로 파일을 다운로드 받으면 다른 집에 있는 PROTA 사용자가 DLNA를 통해 바로 미디어 파일을 볼 수 있는 거죠!



2015. 1. 7.

[About NARAN] IoT Live Demo

[About NARAN] IoT Live Demo


NARAN에서는 PROTA를 Image를 다운 받거나 직접 구매하지 않아도 경험을 해 볼 수 있도록 Demo를 운영하고 있습니다. 그 이름은 Live Demo 라고 합니다.
지금부터 Live Demo 소개와 함께 사용 팁을 말씀드리도록 하겠습니다.













Live Demo는 Demo Room 포스팅에서 잠깐 소개되었듯이 intel X86에 porting된 PROTA 로 운영되고 있습니다. 그래서 Raspberry Pi를 이용한 PROTA Pi 보다 더 좋은 퍼포먼스를 발휘합니다. 하지만 Demo 라는 한정적인 환경 때문에 다 보여드리지 못해서 굉장히 아쉽네요.
이제 그럼 본격적으로 Live Demo를 소개해드리겠습니다.
Live Demo에 처음 접속을 하시면 ‘Live demo 접속 안내’ 창이 뜹니다.
다수의 접속자로 인하여 이용이 원활하지 않다는 내용인데요. 많은 양해 부탁 드립니다.















Live Demo는 두 개의 화면으로 나누어져 있습니다. 왼쪽으로 보이는 화면은 PROTA의 shell 화면으로 애플리케이션을 설치하거나 제어할 수 있는 공간입니다. 그리고 오른쪽에 보이는 화면은 Webcam 애플리케이션을 통해 보는 실제의 화면입니다.











중간에 ‘Guide’ 버튼을 선택하시면 Live Demo 사용 가이드를 확인하실 수 있고 PROTA Pi 무료 다운로드하실 수 있습니다. 그리고 NARAN의 myprota site와 shop site로 이동하셔서 더 많은 PROTA에 대해서 더 많이 확인 하실 수 있습니다.


Live Demo 에 비치되어 있는 사물에 대해서 알아 보겠습니다.











  1. Philips Hue Lamp: Philips Hue app을 통해서 색상을 바꾸거나 깜빡일 수 있습니다.
  2. 시계 : Live Demo가 실시간으로 동작하고 있음을 보여줍니다.
  3. Wifi Remote : RF 신호와 IR 신호로 ONOFF와 TV을 제어할 수 있습니다.
  4. ONOFF : 무선 전력 제어 장치로서 전등과 연결되어 있습니다.
  5. TV : Wifi Remote로 제어가 가능합니다. 평상시에는 NARAN에서 제작한 영상이 상영되고 있습니다.


이번에는 애플리케이션에 대한 소개와 사용법을 알아보도록 하겠습니다.











Ambiency : NARAN에서 개발한 자동화 애플리케이션 입니다. 룰을 확인하거나 직접 설정할 수 있습니다. 현재에는 아주 간단한 룰인 ‘ONOFF가 on되면 Hue Lamp의 색상이 바껴라’, ‘ONOFF가 off되면 Hue Lamp가 깜빡여라’ 같은 간단한 룰이 설정 되어 있습니다. 룰을 직접 실행하고 만드는 체험을 해보세요.











App Repository : 애플리게이션을 다운받거나 설치할 수 있는 관리 공간입니다. 애플리케이션의 버전 확인과 업데이트를 진행할 수 있습니다. 어떤 애플리테이션들이 있는지 직접 확인해 보세요.











Clock : 현재의 시간을 확인할 수 있습니다. Ambiency 애플리케이션에서 sensor로써 아주 유용하게 사용되고 있는 애플리케이션입니다.










Email : 사용자의 이메일 계정을 등록할 수 있습니다. 자동화 애플리케이션인 Ambiency를 이용하여 자동화 룰을 설정할 때 가장 유용한 애플리케이션 입니다.










ONOFF : 무선 통신으로 전원을 원격 제어할 수 있는 애플리케이션입니다. NARAN의 전등을 직접 제어해보세요.











ownCloud : 나만의 클라우드 스토리지를 구축할 수 있는 애프릴케이션입니다. NARAN의 클라우드 스토리지를 경험해 보세요. ID : naran PW : welcome











Philips Hue : 무선으로 Hue를 제어할 수 있는 애플리케이션입니다. 직접 Hue의 색상도 바꿔보고 lamp의 이름도 변경해보세요.











Settings : PROTA의 기본 애플리케이션입니다. PROTA의 이름, 네트워크 연결 상태, 보안 등을 확인 할 수 있는 곳입니다.











Webcam : 현재 Live Demo를 볼 수 있도록 해주는 애플리케이션 입니다. 단순히 보는 것 뿐만 아니라 스크린샷을 찍는 등 다양한 기능을 가지고 있습니다.











WI-FI Remote : IR 신호를 이용하여 TV를 제어할 수 있는 애플리케이션 입니다. 나란의 TV를 직접 제어해보세요. 상단의 ‘select remote’ 버튼을 클릭 후 Demo TV를 선택하면 사용이 가능합니다.

그 밖에 비활성화 되어 있는 애플리케이션들은 Demo 라는 한정적인 환경으로 인해서 보여드리지 못해서 상당히 아쉽네요...














Raspberry Pi 용 PROTA 무료 이미지를 이용하면 모든 애플리케이션을 사용할 수 있습니다.
직접 다운 받으셔서 다양한 애플리케이션으로 PROTA을 본격적으로 느껴보세요.