WxBeacon2를 Raspberry Pi 3에 연결하여 방의 상태를 시각화

4241 단어 RaspberryPiBLE

배경



날씨 뉴스의 서비스의 하나로서 날씨 리포트라고 하는 기능이 있어, 날씨를 투고하면 포인트를 받고, 2000pt 모으면 WxBeacon 2라고 하는 디바이스를 받을 수 있습니다. 기온, 습도, 소음 등을 측정하여 스마트 폰으로 표시 할 수있는 뛰어난 것

내용은 오므론의 2JCIE-BL01입니다.



이번에, 3년이 걸렸다(사보하고 있었던 것도 있지만, 매일 리포트 보내면 반년 정도로 모일까?)로 2000pt 모아 주었으므로 Raspberry Pi에 연결해 데이타베이스에 축적해 그래프를 표시한다든지 여러가지 놀아 보겠습니다 .

Raspberry Pi 3에 WxBeacon 2 연결



BLE를 사용하여 통신하고 있으므로 Raspberry Pi 3라면 내장 Bluetooth로 연결할 수 있습니다. 오므론이 샘플 프로그램 공개하고 있으므로 이쪽을 이용합니다.

python-bluez 소개



파이썬에서 블루투스를 사용할 수 있도록 허용
$ sudo apt-get install python-bluez

CSV 출력해보기



프로그램 실행
$ sudo ./envsensor_observer.py

로그 폴더에 csv가 출력되지 않습니다.

Environment Sensor (2JCIE-BL01) must be configured as a beacon broadcaster (IM/EP).

분명히 센서 설정을 비콘 모드로 전환해야하는 것 같습니다.
Omron 환경 센서 (2jcie-bl01) 설정을 Broadcaster로 변경하여 광고 패킷에서 정보를 얻는 테스트까지
이를 참고로 스마트 폰에서 설정을 General Broadcaster 2로 설정합니다.

다시 시도하면 좋은 값이 출력되었습니다.

데이터를 influxDB에 작성



fluentd forwarder 설치


$ sudo pip install fluent-logger

influxDB 설치



공식 문서 을 참고로 설치합니다.
curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
source /etc/os-release
test $VERSION_ID = "7" && echo "deb https://repos.influxdata.com/debian wheezy stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
test $VERSION_ID = "8" && echo "deb https://repos.influxdata.com/debian jessie stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
test $VERSION_ID = "9" && echo "deb https://repos.influxdata.com/debian stretch stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
sudo apt-get update && sudo apt-get install influxdb
sudo service influxdb start

conf.py 재작성



설정 파일을 적절하게 다시 씁니다. False가 되는 것을 True로, DB의 IP 주소나 DB의 이름을 설정합니다.

Grafana 소개



이번 메인? influxDB의 데이터를 읽어 괄호이 그래프를 브라우저로 표시 할 수 있습니다.
sudo apt-get install apt-transport-https curl
curl https://bintray.com/user/downloadSubjectPublicKey?username=bintray | sudo apt-key add -
echo "deb https://dl.bintray.com/fg2it/deb jessie main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
sudo apt-get update
sudo apt-get install grafana
sudo service grafana-server start

localhost : 3000에 액세스하여 로그인 화면이 나오는지 확인합니다 (admin/admin)로 로그인 할 수 있습니다.
influxDB, Grafana 및 수집 프로그램은 systemd에서 자동으로 시작하는 것이 매우 편리합니다.

데이터 수집



수집 프로그램을 시작합니다.
$ sudo ./envsensor_observer.py

5 분마다 influxDB에 데이터가 축적되어 갈 것입니다.

Grafana에서 그래픽 디스플레이



Grafana에 로그인합니다. New Dashboard에서 새 대시보드를 만듭니다.

그래프를 선택합니다.


작성된 그래프를 선택하여 Edit.Metrics의 SQL을 다음과 같이 합니다. humidity 부분은 측정 값을 표시하고 싶은 항목을 선택합니다.
그 외 그래프 타이틀이나 단위(Unit)등을 적절히 설정합니다.


설정 진행해 나가면 이런 느낌으로 잘 생긴 그래프가 완성됩니다.

좋은 웹페이지 즐겨찾기