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 제외.
27 lines
1.2 KiB
C
27 lines
1.2 KiB
C
/* =============================================================================
|
|
* board_config.h - 보드 식별/역할 (SHT30 온습도 보드 전용)
|
|
*
|
|
* 이 프로젝트는 SHT30 온습도 보드 전용이다. CMake sht30_fw 타깃이 -DBOARD_SHT30
|
|
* 을 정의한다(아래에서 미정의 시 보강 정의). reporter.c / jsonbody.c 가 아래
|
|
* BOARD_* 식별값을 사용해 서버 보고 본문을 구성한다.
|
|
*
|
|
* RPi 대응:
|
|
* sht30_monitor.py SENSOR_ID=2 -> BOARD_SHT30 (sensor_id=2)
|
|
* ===========================================================================*/
|
|
#ifndef BOARD_CONFIG_H
|
|
#define BOARD_CONFIG_H
|
|
|
|
/* SHT30 보드 전용. CMake 가 -DBOARD_SHT30 을 넘기지만, 단독 컴파일/정적분석에서도
|
|
* 식별값이 정의되도록 미정의 시 보강한다. */
|
|
#ifndef BOARD_SHT30
|
|
#define BOARD_SHT30 1
|
|
#endif
|
|
|
|
#define BOARD_NAME "sht30"
|
|
#define BOARD_DEVICE_ID "stm32-sht30-01"
|
|
#define BOARD_DEVICE_LOCATION "\xEC\x84\x9C\xEB\xB2\x84\xEC\x8B\xA4" /* 서버실 */
|
|
#define BOARD_SENSOR_ID 2
|
|
/* 2번 센서 (SHT30 온습도) */
|
|
#define BOARD_SENSOR_NAME "2\xEB\xB2\x88 \xEC\x84\xBC\xEC\x84\x9C (SHT30)"
|
|
|
|
#endif /* BOARD_CONFIG_H */
|