엔지니어링 · 2024
무선 온도 센서 현장 모니터링 프로그램
클라우드에 모인 센서 측정값을 현장 화면에 상시 표시하는 Windows 데스크톱 앱
클라우드에 올라온 무선 온도 센서 측정값을 받아 현장 모니터에 상시 표시하고, 설정한 상·하한을 벗어나면 화면과 소리로 알리는 데스크톱 프로그램입니다.
- 고객
- 비공개 고객
- 분야
- 엔지니어링

개요
이 프로그램은 클라우드의 REST API로 최근 측정값을 주기적으로 받아 온도 추이 그래프와 큰 숫자로 표시하고, 사용자가 정한 경계온도 상·하한을 벗어나면 화면 표시와 경고음으로 알립니다. Windows 데스크톱 앱이며, 모니터에 띄워 둔 채로 계속 돌아가는 것을 전제로 만들었습니다.
해결 방법
경계온도 상·하한을 기준선으로 깔고, 그 위에 최근 구간의 온도 추이를 그립니다. 현재값, 구간 최고값, 최저값에는 각각 표식을 찍어 그래프에서 바로 짚을 수 있게 했습니다. 그래프 아래에는 같은 값을 큰 숫자로 다시 보여 줍니다.

숫자 패널의 글자 크기는 창 크기에 맞춰 자동으로 조절되고, F5로 전체 화면으로 전환됩니다. 모니터 크기가 달라도 같은 화면을 그대로 쓸 수 있습니다.
현재 온도가 설정 범위를 벗어나면 현재온도 패널에 경고 표시가 켜지고, 범위 안으로 돌아올 때까지 경고음이 반복됩니다.

시스템 구조
구성
- 로그인 창: 클라우드 계정으로 세션을 열고, 경계온도 상·하한을 설정합니다
- 모니터링 창: 그래프와 숫자 패널을 그립니다
- 클라우드 API 모듈: 세션 토큰으로 회사와 센서를 찾아 최근 측정값을 가져옵니다
info.ini: 회사명, 센서 시리얼, 표시 구간(분), 갱신 주기(분)

데이터 흐름
- 로그인 창에서 받은 세션 토큰과 계정 이메일을 이후 모든 요청의 헤더에 담습니다
- 설정 파일의 회사명과 센서 시리얼로 클라우드상의 회사 ID와 센서 ID를 찾습니다
- 수집 스레드가 갱신 주기마다 표시 구간만큼의 측정값을 요청합니다
- 응답을
{최신 측정으로부터 경과한 분: 온도}형태로 바꾸고, 빈 구간을 채운 뒤 그래프와 패널을 갱신합니다
수집, 화면 갱신, 경고음 재생은 각각 다른 스레드에서 돌아갑니다. 경고음이 울리는 동안에도 수집과 화면 갱신이 멈추지 않습니다.
결과
현장 모니터에 띄워 두면 클라우드 웹 화면을 열지 않고도 현재 온도와 범위 이탈 여부를 바로 읽을 수 있습니다. 범위를 벗어나는 순간은 화면과 소리로 알려 주므로, 화면을 계속 지켜보지 않아도 됩니다.
경계온도 기준은 프로그램 안에서 바로 바꿀 수 있고, 감시할 센서와 표시 구간, 갱신 주기는 설정 파일만 고치면 됩니다. 다른 센서나 다른 현장에 같은 실행 파일을 그대로 쓸 수 있습니다.
사용 기술
- Python
- wxPython
- matplotlib
- REST API
- PyInstaller
화면


해결이 필요한 문제가 있으신가요?
소프트웨어 개발부터 장비 연동과 엔지니어링까지, 프로젝트의 요구사항에 적합한 해결 방안을 함께 검토합니다.
프로젝트 문의하기