'Raspberry'에 해당되는 글 3

  1. 2017.10.30 Thinger.io Client on raspberrypi with SenseHAT - 센서 데이터 획득 및 전송
  2. 2017.10.23 Thinger.io Client on raspberrypi - IoT서버에 접속하기
  3. 2017.10.23 Thinger.io Server on raspberrypi - IoT서버 설치

Thinger.io Client on raspberrypi with SenseHAT - 센서 데이터 획득 및 전송

Sense HAT은 라즈베리재단의 공식 HAT(Hardware Attached on Top)으로 Astro Pi 프로젝트를 위해 고안되었다고 함

Sense HAT: https://www.raspberrypi.org/learning/addons-guide/sensehat/

Astro Pi: https://astro-pi.org/


탑재 파트

명세 

 ◾Gyroscope

 방향 측정 

 ◾Accelerometer

 가속도 측정 

 ◾Magnetometer

 지자기 측정 

 ◾Temperature sensor 

 대기 온도 측정

 ◾Barometric pressure sensor

 대기 압력 측정 

 ◾Humidity sensor

 공기중 수분 포화도 측정

 ◾joystick

 직접 입력용

 ◾LED matrix

 직접 표시용 (8X8, RGB)


공식 HAT이다 보니 가장 구하기가 쉽다.


오늘은 Sense HAT을 이용한 데이터 획득을 해보려고 한다. (우선, 가속도 데이터 부터)


[소스 수정]

지난번 포스팅한 Client 소스를 연다


nano src/main.cpp


아래 그림과 같이 수정한다.



Sense HAT은 RTIMULib 을 이용해 구동이 쉽게 이루어지므로 본 소스에서도 활용하였음.


[컴파일 환경 수정]


nano CMakeLists.txt


"target_link_libraries(thinger ${ADDITIONAL_LIBS})" 부분에서 RTIMULib 를 추가해 준다.


"target_link_libraries(thinger RTIMULib ${ADDITIONAL_LIBS})"


[실행]

./run.sh


컴파일이 끝나고, Dashboard에서 설정하면 다음과 같이 데이터를 획득하는 것이 보여진다.






Thinger.io Client on raspberrypi - IoT서버에 접속하기

서버에 설치했으므로 장치를 접속시켜 볼까합니다.

 

관련문서: http://docs.thinger.io/linux/

 

서버는 내버려 두고 다른 라즈베리파이를 구동합니다.

 

[라즈베리파이 최신화]

sudo apt-get update

sudo apt-get upgrade

 

[CMake와 Open SSL라이브러리 설치]

sudo apt-get install cmake libssl-dev -y

 

본격적으로 장치를 컴파일 합니다.

먼저 git에서 소스파일을 받아옵니다.

 

cd ~

git clone https://github.com/thinger-io/Linux-Client.git

cd Linux-Client

 

소스를 수정합니다.

nano src/main.cpp

 

USER_ID ,  DEVICE_ID , and  DEVICE_CREDENTIAL  부분을 수정합니다.

저는 test, raspberry, mv어쩌고저쩌고로 수정했습니다.  이 정보는 서버 콘솔과 동일해야 합니다.

 

먼저 콘솔로 들어가(test라는 아이디로 로긴했습니다.) Device를 누르시고,

 

 

 

 

Add Device 버튼을 눌러주세요.

 

Device credentials은 직접 작성하셔도 되고, Generate Random Credential 버튼을 눌러 만들어써도 됩니다.

 

콘솔에서 디바이스도 등록하고, 소스 수정도 저장(컨트롤+x, y, 엔터)합니다.

 

다음은 서버 정보를 수정합니다.

 

nano src/thinger/thinger_client.h

 

include를 지나 아래로 조금 내리시면 THINGER_SERVER 라는 항목을 서버 URL혹은 IP로 변경해주시면 됩니다.

수정하셨으면, 저장(컨트롤+x, y, 엔터)합니다.

 

 

[디바이스 기동 명령]

./run.sh

 

 

 

 

제가 깜빡하고 웹콘솔에서 Add Device 버튼을 안눌러서 인증이 1번 실패했습니다. ㅎㅎ

 

자 이제 콘솔에서 접속을 확인합니다.

메인페이지에서 디바이스 접속이 확인됩니다.

디바이스에서도 잘 뜨네요.

 

동작이 확인되셨으면, 해당 프로그램을 리눅스 데몬으로 등록합니다.

 

cd install/raspberry/
chmod +x install.sh
./install.sh

다른 서비스 처럼 사용하시면 됩니다.

sudo service thinger stop, start, restart

Thinger.io Server on raspberrypi - IoT서버 설치

IoT 서버인 Thinger.IO 를 라즈베리파이에 설치해 봅시다.

참고한 문서는 아래와 같습니다.

https://github.com/thinger-io/Docs/tree/gh-pages/deployment

 

 

[몽고DB 설치]

 

sudo apt-get install mongodb -y

 

 

[Snap 설치]

원래 배포를 우분투쪽 하므로 Snappy를 설치합니다.

 

sudo apt-get install snapd -y

 

 

[Thinger.IO 서버 설치]

 

sudo snap install thinger-maker-server

 

 

[Thinger.IO 서버 상태 확인]

 

sudo service snap.thinger-maker-server.thingerd status

 

 

 

[Thinger.IO 서버 접속]

 

웹브라우저에서 http://라즈베리파이IP 로 접속 하시면 아래와 같이 서비스 가동 모습을 볼 수있습니다.

 

 

계정 만들어 로긴하면

 

 

'Raspbian' 카테고리의 다른 글

Thinger.io Client on raspberrypi - IoT서버에 접속하기  (0) 2017.10.23
jessie backport repository on RaspberryPi  (0) 2017.10.19
OpenHAB on raspberrypi  (0) 2017.10.18