'데이터 엔지니어'로 성장하기

정리하는 걸 좋아하고, 남이 읽으면 더 좋아함

커뮤니티/slipp

Slipp)사이드프로젝트_스마트폰 센서 실시간 저장_2(기능 추가,버그 수정)

MightyTedKim 2023. 6. 18. 22:47
728x90
반응형

요약

'스마트폰 센서 실시간 저장/시각화' 토이 프로젝트를 하고 있어요.

지난 포스팅에서는 외국 블로그를 참고해서, k8s에 서비스를 올리는 것까지 진행했어요'

이번에는 몇가지 기능을 추가하고 버그를 수정하려고 합니다.ㅎ

 

https://mightytedkim.tistory.com/196

 

Slipp)사이드프로젝트_센서 실시간 저장_1(strimzi,questdb,fastapi)

'토이프로젝트 만들기' 스터디를 신청해서 진행 중입니다. 1차 목표인, 휴대폰 데이터 스트리밍은 성공했고 그 후기를 정리했습니다 스터디 시작 - 아주 작은 사이드 프로젝트(아작사) 스터디를

mightytedkim.tistory.com

 


예상 독자

 

수정 결과물

 

수정 내용

1. Questdb  Datatype 변경 (timestamp)

  • 문제: 시계열이 string으로 저장되서 실시간 대시보드에서 느림
  • 해결: datatype 명시

# AS-IS
CREATE
 TABLE IF NOT EXISTS device_offload (
device_id TEXT,
session_id TEXT,
device_timestamp TEXT,
recorded_timestamp TEXT,
sensor_name TEXT,
REAL,
REAL,
REAL
)
#TO-BE
CREATE
 TABLE IF NOT EXISTS device_offload (
device_id string,
session_id string,
device_timestamp timestamp,
recorded_timestamp timestamp,
sensor_name string,
float,
float,
float
)

2. Sensor 추가하기

  • 문제: 가속도 센서만 있음
  • 해결: 지자계, 자이로도 추가

9dof imu sensor를 이용하고 싶어서, gyroscope와 magnetic 데이터도 수집


 

3. UI 기능 추가하기 (Start/Stop + 그래프 2개 더 추가)

  • 문제: 그래프를 멈춰서 볼 수 없음
  • 해결: 버튼을 만들었어요

3-1. start/stop. 로직 추가

초기화면 / 시작했지만 데이터 들어오지 않을 때
시작하고 데이터 들어올 떄 / 중지했을 때

3-2. 그래프 2개 더 추가

그래프 3개 더 추가 (지자계, 자이로)

4. DB Connection close 버그 - try/catch

  • 문제: connection close 로직이 없어서, 중간에 connection이 끊기면 다시 연결안됨
  • 해결: try catch로 해결
  • 비고: 장기적으로는 connection pool 이용하는 것 추천

psycopg2.InterfaceError: connection already closed'

2014-08-19 13:32:46.415943 -     six.reraise(dj_exc_type, dj_exc_value, traceback)
2014-08-19 13:32:46.415992 -   File "/home/user/projects/virtualenvs/test-system2/local/lib/python2.7/site-packages/django/db/backends/__init__.py", line 134, in _cursor
2014-08-19 13:32:46.416078 -     return self.create_cursor()
2014-08-19 13:32:46.416127 -   File "/home/user/projects/virtualenvs/test-system2/local/lib/python2.7/site-packages/django/db/backends/postgresql_psycopg2/base.py", line 137, in create_cursor
2014-08-19 13:32:46.416176 -     cursor = self.connection.cursor()
2014-08-19 13:32:46.416227 - InterfaceError: connection already closed

 chatgpt에게 물어봐서, connection.close()를 넣었어요

728x90
반응형