weather:bit와 Metabase로 온도, 습도, 기압을 시각화
무엇을 했습니까?
이전 , 이용한 micro:bit 에 weather:bit 를 도킹시켜 온도, 습도, 기압(이어서 환경광)의 값을 취득.
그 값을 MySQL 에 축적해 Metabase 로 가시화해 보았습니다.
micro:bit 에서는 습도, 기압 등의 값은 취할 수 없었기 때문에, 확장 기반의 weather:bit 로 취하기로 했습니다. 스위치 사이언스에서 약 2,000엔 정도입니다. 또한 옵션 센서를 구입하면 토양 수분, 토양 온도, 풍속 등도 측정할 수 있는 것 같습니다.
전회는 Ambient에서 가시화를 했습니다만, 이번은 Rate Limit 등 신경쓰지 않고, 간편하게 가시화할 수 있는 툴, Metabase 를 사용하기로 해 보았습니다.
weather:bit
htps //w w. 슈 tch-s 시엔세. 코 m/가타 g/3383/
htps //w w. s파rk분. 코 m/p 로즈cts/14214
Metabase
구성도
그림적으로는, 이런 느낌입니다.
htps //w w. 슈 tch-s 시엔세. 코 m/가타 g/3383/
htps //w w. s파rk분. 코 m/p 로즈cts/14214
Metabase
구성도
그림적으로는, 이런 느낌입니다.
그림적으로는, 이런 느낌입니다.
사진이라면 이런 느낌입니다.
1. micro:bit & weather:bit 로부터 온도, 습도, 기압, 환경광의 값을 60초간에 1회 송신
micro:bit(weather:bit)의 코드는 이런 느낌입니다.
ぇtps://ぇあrん. s파rk분. 코 m / 쓰리 아 ls / 미 c로 c ぃ 마테 - 키 t x x 페리 맨 t - 글로 / 아보 t - ぇ- ぇ ぇ r t
코드를 만드는 방법 등은 weather:bit 의 가이드가 참고가 됩니다.
2. USB 접속된 PC(Mac)에 파이썬 앱을 상주시켜 온도, 습도, 기압, 환경광의 값을 수신, 그대로 MySQL에 축적
파이썬 코드는 여기입니다.
qiita.py
"""
weather:bit で温度、湿度、気圧を取得してDB(MySQL)に値を蓄積する
(可視化はmetabaseで確認)
"""
import serial
import pymysql.cursors
conn = pymysql.connect(host='localhost',
db='sandbox_db',
user='root',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
HYPHEN = '-'
line = ''
microbitdata = ''
# MacでUSBシリアルポートの名前を調べるコマンド
# ls -l /dev/tty.*
ser = serial.Serial('/dev/tty.usbmodem1412', 115200)
microbitdata = ''
while True:
line = ''
line = str(ser.readline(), 'utf-8')
if HYPHEN == line.strip():
data = microbitdata.split(':')
with conn.cursor() as cursor:
cursor.execute(
"INSERT INTO environment (humidity, temperature, pressure, ambient_light) "
"VALUES (" + data[1] + ", " + data[3] + ", " + data[5] + ", " + data[7] + ")"
)
conn.commit()
microbitdata = ''
else:
microbitdata = microbitdata + line.strip() + ':'
ser.close()
3. MySQL에 축적된 값을 Metabase로 시각화
온도와 습도를 시각화해 보았습니다.
손쉽게 환경을 만들 수 있고 가시화를 할 수 있는 Metabase는 좋다♪
이상입니다!
Reference
이 문제에 관하여(weather:bit와 Metabase로 온도, 습도, 기압을 시각화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/m_ryusei/items/02f16adfb9c0109a16c7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)