'플랫폼'에 해당되는 글 5

  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서버 설치
  4. 2017.10.18 OpenHAB on raspberrypi
  5. 2017.10.16 SiteWhere 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

OpenHAB on raspberrypi

JVM기반의 오픈소스 스마트홈 프레임워크로

모듈러 스택은 모든 IoT 기술 및 구성 요소를 "항목"으로 추상화하고 규칙, 스크립트 및 지속성 지원을 제공합니다.

OpenHAB은 다양한 웹 기반 UI를 제공하며 장치 상태를 저장하는 기능과 주요 Linux 해커 보드를 지원됩니다.

 

http://www.openhab.org/

 

1. 라즈베리파이용 OpenHABian 이미지 파일을 다운받습니다. (2017-10 현재, 1.3 버전)

   https://github.com/openhab/openhabian/releases

  

 

 

2. 다운받은 이미지 파일을 이미지 굽기 도구를 이용해 SD카드에 굽습니다.

   openhab에서는 https://etcher.io/ 를 예로 들었습니다.

   사용방법은 단순합니다.

   A. 다운받은 이미지를 선택합니다. B. 구울 SD를 선택합니다. C. 굽습니다.(Flash!)

 

 

 

  성격급하신 분들은 우측상단의 톱니바퀴(옵션버튼)를 눌러 '구운이미지 검증의 체크'를 해제합니다. 이거 오래 걸려요.

 

3. 굽기가 종료되면 SD를 라즈베리파이에 삽입하고 전원을 넣어줍니다.

   이때, 유선으로 인터넷을 연결해주세요. WiFi는 잘 못잡네요.

   그리고 기다리시면 됩니다. 인터넷에 연결에 최신버전의 openHAB으로 만들어줍니다.

   저의 경우는 약 45분 정도 걸렸네요.

   1.3버전으로 구동했지만 업데이트되어 2.1.0-1 버전의 OpenHAB을 사용할 수 있습니다.

 

4. 로그인을 할 수 있습니다.

   user / password 모두 openhabian 입니다.

  

 

 

4-1. WiFi 설정 (루트패스워드도 역시 openHABian 입니다)

 

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

 

다음과 같이 수정합니다.

가. Wifi 패스워드가 있는 경우

network={
    ssid="yourSSID"
    psk="Your_wifi_password"
}

 

나. Wifi 패스워드가 없는 경우

network={
    ssid="yourSSID"
    key_mgmt=NONE
}

 

다. SSID가 숨김인 경우

network={
    ssid="yourHiddenSSID"
    scan_ssid=1
    psk="Your_wifi_password"
}

 

수정을 완료하셨으면, 컨트롤+x를 누르고, y, 엔터 키를 입력하여 저장 후 nano를 종료합니다.

기타 다른 내용은 [링크]를 참조하세요.

 

 

5. 본격적인 사용 및 설정은 웹브라우저에서 http://openHABianPi:8080 으로 입장합니다.

 

 

 

 

 

 

 

 

SiteWhere on raspberrypi - IoT서버 설치

오픈 소스 IoT 플랫폼 SiteWhere는 장치 데이터의 처리, 저장, 처리 및 통합을 제공

Apache Tomcat 기반으로 제작

MongoDB 및 HBase 구현을 제공

해커 보드(Hackers board)와 쉽게 통합

 

 source: http://www.how2shout.com/tools/best-opensource-iot-platforms-develop-iot-projects.html

 

SiteWhere의 핵심 특징

1. 단일 인스턴스에서 여러가지 IoT 응용 프로그램 실행

2. 핵심 구성 프레임워크가 Spring

3. MQTT, AMQP, Stomp 등 다양한 장치 연결

4. 장치 추가시 자체 등록, REST 서비스, 일괄 처리 가능

5. Mule AnyPoint과 같은 3rd 파티 통합 지원

6. 기본 DBMS가 MongoDB

7. CoAP메세지(Eclipse Californium)

8. 이벤트데이터저장소(InfluxDB)

9. 가시화(Grafana)

10. 비관계형데이터저장소(HBase)

등 이라고 합니다.

 

자세한 내용은 [웹사이트]를 참고 하시기 바랍니다.

 

설치 방법은 아래의 링크를 따릅니다.

 

http://documentation.sitewhere.io/userguide/installation.html

 

[자바 설치]

sudo apt-get install openjdk-8-jdk -y

 

 

[몽고DB 설치]

sudo apt-get install -y mongodb

 

[HiveMQ MQTT Broker설치] 원문과 같습니다.

cd /opt
sudo wget --content-disposition https://s3.amazonaws.com/sitewhere-hivemq/hivemq-3.0.2.zip
sudo unzip hivemq-3.0.2.zip
sudo wget --content-disposition https://s3.amazonaws.com/sitewhere-hivemq/config.xml
sudo mv config.xml hivemq-3.0.2/conf
cd hivemq-3.0.2/bin
sudo ./run.sh &

 

[SiteWhere 설치] 원문에선 1.7.0인데 최신 안정화버전 1.12.0으로 설치합니다.

cd /opt
sudo wget https://s3.amazonaws.com/sitewhere/sitewhere-server-1.12.0.tgz
sudo tar -zxvf sitewhere-server-1.12.0.tgz
sudo mv sitewhere-server-1.12.0 /opt/sitewhere
sudo export SITEWHERE_HOME=/opt/sitewhere
cd /opt/sitewhere/bin
sudo sh startup.sh

 

 

 

 

서비스가 시작되었습니다.

 

최초 실행시 한참동안 설치가 진행됩니다. (라즈베리파이 3 기준 40분 걸립니다.)

 

http://라즈베리IP:8080/sitewhere/admin/

 

로 접속하시면 관리자 페이지가 실행됩니다.

 

기본 계정은     username: admin, password: password     으로 설정되어 있습니다.

 

보안을 위해 비밀번호는 꼭 변경하세요.

 

그 이후 자세한 내용은 아래의 링크를 참조하시기 바랍니다.

http://documentation.sitewhere.io/userguide/adminui/adminui.html

 

 

-------------------------------------------------------------------------------------------------------

라즈베리파이에서는 동작이 무리인듯 하네요.

PC나 서버에서 활용하세요. ㅠㅍㅜ

 

 

 

 

'Raspbian' 카테고리의 다른 글

jessie backport repository on RaspberryPi  (0) 2017.10.19
OpenHAB on raspberrypi  (0) 2017.10.18
Nginx + Mariadb + php + Adminer on RaspberryPi  (0) 2017.10.16