Skip to content

AhnCSK/bbig-bbog-bbig

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

119 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

테크 홈 이노베이션 - 삑뽁삑(BBig BBog BBig)

자바/라즈베리파이의 통신을 통한 아파트 홈 제어앱 프로젝트로 라즈베리파이 센서의 데이터를 중심으로, 전등 관리·LED ON/OFF, 커튼조작 서보모터 (ON/OFF), 부저경고음, 온/습도센서를 이용한 화재 감지, 인체 감지 센서를 통한 외출 중 침입자 감지 (사용자의 외출 설정 필요)


1. 프로젝트 시연 영상

영상 보기


2. 프로젝트 개요

항목 내용
팀명 테크 홈 이노베이션
프로젝트명 삑뽁삑(BBig BBog BBig)
목표 라즈베리파이 센서 입력 데이터를 통합해 내 아파트 정보 조회,기기 제어/ 마트 물품구입 / 입주민 게시판 조회 기능을 콘솔로 제공
주요성과 입주민 커뮤니티 게시판, MQTT통신으로 기기제어, 아파트 세대별 실시간 정보 콘솔 출력
기간 2025.10.21 – 2025.10.29
사용 센서 목록
(18)
LED(6), Buzzer(2), Button(3), 9G servo(2), PIR 센서(HC-SR501)(1), 초음파센서(Ultrasonic ranging)(1), LCD1602 디스플레이(2), 온습도센서(DHT11)(1), 미니 워터펌프(1), 2채널 모터드라이버(L9110S)(1), RFID리더기(RC522)(1)
산출물 라즈베리파이 구현물 ,Java 앱, 데이터베이스 , PPT, README 문서 ,시연영상

3.팀원 및 역할


이름 역할 및 담당 업무 개인 Git
이다온 콘솔UI 구현
백엔드 DB 설계 및 디자인
자바 MQTT통신
DAO/DTO 기반 데이터 구조를 설계
Java 콘솔 UI와 Raspberry Pi 센서 제어 연동
GitHub
노건우 라즈베리파이 모듈 기능구현
Python MQTT 통신구현
하드웨어 아키텍처 설계
IoT구조물 설계
GitHub
안창석 자바 MQTT통신구현
결과 발표
깃허브구축
GitHub

4. 프로젝트 일정

작업 항목 시작 날짜 종료 날짜 기간(일)
프로젝트 정의 및 계획 수립/센서선택 2025-10-21 2025-10-21 1
jdbc sql연동/센서입력구현 2025-10-21 2025-10-22 1
라즈베리파이 모듈 기능 테스트 및 클래스 작업 2025-10-22 2025-10-26 5
게시판완성 및 라즈베리와 통합 2025-10-23 2025-10-24 1
자바-라즈베리파이 MQTT 통신 2025-10-24 2025-10-28 5
콘솔 레이아웃 설계 2025-10-25 2025-10-26 1
라즈베리파이-브래드보드 모듈 구축 작업 2025-10-27 2025-10-28 2
콘솔 시각화 구현 2025-10-27 2025-10-27 1
최종 점검 및 README 작성 2025-10-28 2025-10-28 1
구조물 약식 구현 및 결과 발표 2025-10-29 2025-10-29 1

5. 시스템 아키텍처

시스템 구성 요약

로그인 기반 사용자 식별
MQTT로 IoT 장치 실시간 제어/수신
Java ↔ DB 연동으로 사용자 맞춤형 기능 제공
Raspberry Pi에서 센서 상태 지속 감지 및 전송
보안 기능 강화 가능 (침입자 감지, 외출모드)

로그인 / 회원가입 흐름

  • 회원가입
    • 사용자가 콘솔 앱에서 회원가입기능을 선택
    • ID, 비밀번호 입력, 사용자 고유 정보(세대번호 등)도 등록 → Java 앱에서 DB로 전송
  • 로그인
    • 입력된 ID/PW → DB에서 조회
    • 성공 시 세션 생성 (간단한 사용자 상태 유지 가능)
    • 회원 정보 기반 기능 연동
    • 로그인된 사용자만 제어 기능/입주민 게시판조회 가능
    • 각 사용자별 데이터 필터링: 세대별 센서 정보 조회

데이터 흐름 요약

기능 흐름
회원가입 Java 앱 → JDBC → DB user 테이블
로그인 Java 앱 → DB 비밀번호 검증 → 성공 시 사용자 로그인 유지
센서 이벤트 감지 Raspberry Pi → MQTT Publish → Java App Subscribe → 팝업 알림 출력
장치 제어 Java 앱 → MQTT Publish → Raspberry Pi Subscribe → 제어 실행
센서 데이터 저장 Raspberry Pi → MQTT Publish → Java App Subscribe → 콘솔 출력 + DB 저장

사용 기술

계층 기술 / 도구
UI (사용자 콘솔) Java 콘솔 앱
사용자 인증 Java + JDBC + MySQL (user 테이블)
통신 계층 MQTT (Mosquitto 브로커)
IoT 제어 사용모델 및 언어 : Raspberry Pi + Python
사용 라이브러리 : GPIO, Adafruit-DHT(DHT11)
DB 계층 MySQL (회원정보, 세개별 정보, 입주민 게시판, 경고 로그)
MQTT 라이브러리 Paho
  1. 사용자 콘솔 UI (Java App)
항목 설명
역할 사용자 인터페이스 제공
기능 로그인/회원가입, 센서 조회, 제어 명령, 아파트 커뮤니티 게시판 조회
기술 Java , JDBC
연동 - MySQL DB (회원 정보, 데이터 조회)
- MQTT 브로커 (제어 명령 송신)
            │
 [1] JDBC 요청 (회원 정보, 커뮤니티 글 조회)
            │
            ▼
  1. 데이터베이스 (MySQL)
항목 설명
역할 시스템 전체 데이터 저장 및 조회
기능 회원정보, 센서로그, 호수정보, 게시판 내용 저장
기술 MySQL
연동 - Java 앱과 JDBC로 연결
- Raspberry Pi에서 온 센서 로그 저장

image

주요 테이블 설명
user 사용자ID, 비밀번호, 사용자 기본 정보
notice 아파트 커뮤니티 게시판 글
warning 침입자/화재 감지 기록
room 아파트 동/호수 정보
             │
    [2] MQTT 메시지 송/수신
             ▼
  1. MQTT 브로커 (Mosquitto)
항목 설명
역할 센서 데이터 송신 및 제어 명령 중계
기능 MQTT 프로토콜을 통해 메시지 송수신
기술 MQTT (Mosquitto 브로커 사용)
연동 - Raspberry Pi ↔ 브로커 (센서 publish, 제어 subscribe)
- Java 앱 ↔ 브로커 (제어 publish)
주요 토픽 + 메시지 예시 설명
/home/warning Fire Outbreak 온습도 센서 값
/home/warning Intruder Detection 인체감지 센서 상태
home/201/5001/ kitchen/led_on LED 제어 명령
home/201/5001/ room2/window_on 서보모터 제어 명령
/home/warning security_on 부저 제어 명령
             │
    [3] MQTT 메시지 송/수신
             ▼
  1. Raspberry Pi (Python)
항목 설명
역할 센서 데이터 수집 및 제어 장치 동작
기능 센서 Publish, 제어 Subscribe
기술 Python, paho-mqtt, RPi.GPIO
연동 - MQTT 브로커: 센서 데이터 전송
하드웨어 구성 동작 설명
온습도 센서 온도/습도 측정 → MQTT Publish
PIR 센서 움직임 감지 → MQTT Publish
LED, 서보, 부저 MQTT 수신 시 GPIO로 제어

6. 미 해결 문제 및 해결 방안

문제 원인 해결 방안
RFID 리더기 기능 미사용 시간 관리 미흡 리더기 ID별로 아파트 현관 및 각 호실 도어락 제어 기능 구현
스마트 화분 물 펌프 고장 펌프 하드웨어 고장 펌프 하드웨어 교체 및 연결 확인
비밀번호 해시 미적용 로그인 기능 개발 시 암호화 고려 부족 SHA-256 또는 BCrypt 적용, DB 저장 방식 개선
관리자 계정 관리 불가 프로젝트 일정분배 미흡 관리자 계정 CRUD 기능 구현
마트 물품 구입 기능 미구현 일정 분배 및 개발 우선순위 문제 마트 테이블 생성, 구매/결제 기능 구현

7.프로젝트결과 및 개선필요점

기능 구현 결과 개선 필요점 개선 방안 순위
스마트 화분 제어 부분 성공 (하드웨어 고장) 펌프 고장으로 제어 불가 하드웨어 교체 및 연결 확인 🔴 상
로그인/회원가입 구현 성공 비밀번호 해시 미적용으로 보안 취약 SHA-256 또는 BCrypt 적용 🔴 상
MQTT 통신 구현 성공 토픽 명명 규칙 체계화 필요 MQTT 토픽 명명 규칙 고도화 🟠 중
Threads 연결 구현 성공 Thread 연결 불안정 Thread 재사용 방지 및 실행 시 새 Thread 생성 🟠 중
관리자 기능 부분 성공 (게시글 관리 가능) 계정 추가/삭제 불가 관리자 전용 CRUD 기능 추가 🟠 중
마트 물품 구입 미구현 결제 및 재고 관리 관련 모듈 및 테이블 구축 필요 DB 테이블 생성 및 결제 기능 구현 🟠 중
전등/창문 제어 구현 성공 센서 데이터 처리 및 명령 반응속도 향상 필요 데이터 처리 로직 최적화 🟡 하
침입자 감지 팝업 구현 성공 센서 데이터 처리 실시간 반응속도 향상 필요 데이터 처리 알고리즘 최적화 🟡 하
화재 감지 팝업 구현 성공 센서 데이터 처리 실시간 반응속도 향상 필요 데이터 처리 코드 개선 🟡 하

8. 참고문서

About

스마트 아파트 실시간 통합 안전관리 시스템 (Java, MySQL, MQTT, Raspberry Pi)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors