POSA_LEAKSMS/firmware/common/sht30.h
유창욱 90f121e14c chore: import codebase with security hardening
SHT30 온습도 모니터링 시스템 전체 소스(서버 PHP, STM32 펌웨어, SQL, 테스트).
전체 코드리뷰에서 도출된 보안 하드닝 10건 반영:
- 요청 서명 HMAC-SHA256 전환(펌웨어 sig.c/서버 config.php/호스트 패리티 동시)
- 재전송 방어 + 기본 API_KEY fail-closed + 디바이스 문자열 정제(api/sensor_data.php)
- 오프라인 SMS 중복 발송 경합 제거(cron_heartbeat.php, 원자적 선점)
- CSV 수식 주입 방지(monthly_report.php), 감사로그 회전 락(retention_cleanup.php)
- 브루트포스 카운터 원자화(login.php), 예시 TOTP 비밀키 무효화, 마이그레이션 멱등화

_backup/(하드코딩 실 비밀값 포함)·config.local.php·런타임 상태는 .gitignore 제외.
2026-06-20 09:37:40 +09:00

17 lines
728 B
C

/* =============================================================================
* sht30.h - SHT30 I2C 드라이버 (RPi sht30_monitor.py read_sht30() 대응)
*
* 구현(sht30.c): STM32 HAL I2C 로 0x2C06(high-repeatability, clock stretch off)
* 명령 전송 -> ~20ms 대기 -> 6바이트 read -> sht30_convert.c 로 CRC 검증/변환.
* ===========================================================================*/
#ifndef SHT30_H
#define SHT30_H
/* I2C 주변장치 초기화. 0 성공, 음수 실패. */
int sht30_init(void);
/* 단발 측정. *temp_c(섭씨), *rh(%) 에 결과 기록.
* 반환: 0 성공, -1 I2C 통신 오류, -2 CRC 오류. */
int sht30_measure(double *temp_c, double *rh);
#endif /* SHT30_H */