티스토리 뷰

Cloud에 센서 정보 저장/확인하기 (Ubidots)



[Tutorial] Web Cloud : Dweet.io로 아두이노 센서 정보 보내기 (Dweeting)


지난 포스팅에서 위 링크의 내용을 다루어 보았습니다.

사실 이 내용도 다를 것은 없습니다. 

다만, Ubidots 라는 클라우드 서비스를 사용할 것이라는 것이 차이점이죠.

아.. PIR 센서를 사용해본다는 것도 있겠군요.


Ubidots



Ubidots 도 하나의 클라우드 서비스입니다.

https://ubidots.com/


클라우드 서비스 개념에 대한 설명은 하지 않겠습니다.

대신 Ubidots의 기능을 잠시 살펴보자면, 기본 형태는 HTTP 방식으로 Ubidots에 요청을 하면 응답을 주는 방식으로 되어 있습니다.

다만, 유저만의 Device를 등록하여 API Key 등을 사용하여야 하며, 이로 인해 접근 제한을 할 수 있습니다.

Request 형태에 대해 궁금하신 분들은 아래 링크를 참조하시여 직접 해보시면 되겠습니다.

https://ubidots.com/docs/#send-one-value-to-ubidots


이러한 요청에 의해 Ubidots 클라우드에 정보가 저장되며, 아래와 같이 Dashboard를 통해 시각적으로 확인할 수 있습니다.



그리고 여러가지 OpenHardware와 프로그래밍 언어를 지원하기 위해 라이브러리가 지원되고 있습니다.


다만 이번 포스팅의 경우, WizFi310(무선, WIFI)와 WizArduino(유선, Ethernet)을 사용할 것이기 때문에 위에서 제공되는 라이브러리는 사용하지 않습니다. ( 지원되는 Ethernet Shield의 라이브러리에서 포함한 Ethernet.h을 Ethernet2.h로 변경해주면 그만이지만... 내부 라이브러리를 수정해야하는 번거로움이 Tutorial에 맞지 않으므로 사용하지 않겠습니다 )

이 외에도 MQTT나 REST 같은 프로토콜을 지원하고 있으며 아래 링크에서 그 내용을 확인할 수 있습니다.



보다 기본적인 사용방법에 대해서는 아래 링크에서 자세히 설명하고 있으니 참조해주세요.
( Device등록 / API 얻기 / Dashboard 생성 등은 이것으로 대체하고 설명하지 않겠습니다 )



PIR ?




우선 PIR센서가 무엇인지 간략히 설명하면, Passive InfraRed 의 약자로써, 적외선의 변화를 감지하는 센서입니다.

흔히 인체감지센서로 알려져 있죠.

현관에 들어서면 인체 감지를 하여 불이 켜지는 집이 있죠? 공동주택의 복도가 특히 그렇구요.

이럴 때 사용되는 센서가 이 PIR 센서입니다.


직관적으로 아두이노에서 어떻게 사용되고 있는지 UCC 동영상을 링크하겠습니다.



아래 동영상은 PIR 센서의 작동 원리에 대해서도 간단히 설명하고 있으니 참조해보세요.




PIR센서의 동작 원리는 단순합니다. 

위에서 본 PIR 센서의 바닥면을 보면 아래와 같이 핀 3개에 가변저항 2개가 붙어 있는 것을 알 수 있습니다.

노란색의 점퍼캡도 있는데, 이것의 사용용도는 데이터 시트를 참조하시면 알 수 있습니다.

( 간단히 설명하자면, 트리거를 반복할 것인지 말것인지 결정하는 것인데,

  신호가 감지되었을 때, 그 감지된 신호가 사라질때까지 계속 알림을 줄 것인지

  아니면 잠시 멈추었다가 지정된 주기 이후 다시 확인하여 알려줄 것인지 결정하는 것입니다)



위의 가변저항에 따라 감지 거리와 감지주기를 설정할 수 있습니다. 


  • 감지 거리 : 약 3~7미터
  • 감지 주기 : 5~300초

위에 간단히 설명한 내용들에 대해서는 아래 데이터시트에 잘 나와 있으며, "잘 설명된 쇼핑몰"로 가시면 국문으로 간단한 설명을 보실 수 있습니다. (PinMap 포함)

Datasheet : https://www.mpja.com/download/31227sc.pdf

잘 설명된 쇼핑몰  



회로 구성




PIR은 핀이 세 개입니다. 즉, 위 사진 기준으로 GND, Signal, VCC 입니다 ( 데이터시트 참조)

소스를 작성할 때, 인터럽트 방식을 사용할 것이기 때문에 (Signal로부터 High, Low 변화를 감지) Signal핀을 아두이노의 인터럽트 가능한 핀으로 연결합니다.

인터럽트가 가능한 핀에 대해서는 아두이노 공식홈페이지를 통해 확인할 수 있습니다.

CC 보드 기준https://www.arduino.cc/en/Reference/AttachInterrupt

ORG보드 추가http://www.arduino.org/learning/reference/AttachInterrupt


  • VCC     -     5V
  • Signal   -    MEGA(WizFi310 사용)의 경우 : D2
                     WizArduino(M0)의 경우 : D1
  • GND     -    GND


아래가 최종적으로 회로구성한 모습니다.


[WizArduino] (or Arduino + EthernetShield2)



[WizFi310 & Arduino Mega2560]



전체 소스



[WizArduino] (or Arduino + EthernetShield2)

 

[WizFi310 & Arduino Mega2560]



실행 & 테스트



[WizArduino] (or Arduino + EthernetShield2)

[WizFi310 & Arduino Mega2560]


[공통 영상]



댓글
댓글쓰기 폼