Skip to content

Repository files navigation

OpenBraille

🎯 프로젝트 개요

OpenBraille는 다국적 시각장애인을 위한 실시간 점자 인터페이스 시스템입니다. ESP32 기반의 미들웨어 허브를 통해 외부 점자 API와 로컬 점자 디바이스를 연결하여, 실시간으로 점자 정보를 전달하고 제어할 수 있습니다.

🗓️ 주요 기능 개발 로그

2025-08-16 - ESP32 Middleware v2.1

  • 🎛️ 점자 제어 시스템 구축

    • ESP32 Servo Braille Controller: 서보모터로 점자 표시 제어
    • 4가지 데이터 Fetching 모드 (연속, 이벤트 기반, 조건부, 딥슬립)
    • 실시간 서보모터 상태 모니터링 및 제어
  • 🌐 웹 대시보드

    • 인터랙티브 웹 대시보드 (안정성 개선)
    • 실시간 디바이스 상태 모니터링(개선 필요)
    • 점자 API 테스팅 및 디버깅 도구
    • 반응형 UI 및 모바일 최적화
  • 📡 통신 시스템 고도화

    • WebSocket 기반 실시간 양방향 통신
    • WiFi 듀얼 모드 (AP + Station)
    • 캡티브 포털 지원으로 모바일 호환성 향상
    • 외부 점자 API 연동 및 메시지 캐싱

2025-08-09 - LCD 및 IOT 시스템

  • 16x2 I2C LCD 스크롤 예제 추가 (9_LCD_String_Print)
  • IOT 도어 센서 시스템 (4_IOT_code)

2025-05-09 - 프로젝트 명칭 변경

  • ChatBraille → OpenBraille로 변경

2025-05-07 - 프로젝트 시작

  • GitHub 저장소 개설

🏗️ 시스템 아키텍처

┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐
│   External      │    │   ESP32          │    │   ESP32 Servo   │
│   Braille API   │◄──►│   Middleware     │◄──►│   Controller    │
│                 │    │   Hub            │    │   (Servos)    │
└─────────────────┘    └──────────────────┘    └─────────────────┘
                                │
                                ▼
                       ┌──────────────────┐
                       │   Web Dashboard  │
                       │   (Port 80)      │
                       └──────────────────┘

🛠️ 핵심 구성 요소

1. ESP32 Servo Braille Controller (ESP32_Servo_BrailleController.ino)

  • 역할: 실제 점자 표시 제어
  • 기능:
    • 서보모터 제어
    • 4가지 데이터 페칭 모드
    • 실시간 상태 모니터링
    • 전력 관리 및 딥슬립 모드

2. ESP32 Middleware Server (ESP32_Middleware_Server.ino)

  • 역할: 중앙 통신 허브 및 API 브리지
  • 기능:
    • 외부 점자 API와의 HTTP 통신
    • WebSocket 서버 (포트 81)
    • HTTP 서버 (포트 80) - 웹 대시보드
    • WiFi 듀얼 모드 및 캡티브 포털
    • 메시지 캐싱 및 오프라인 지원

🚀 빠른 시작 가이드

하드웨어 요구사항

  • ESP32 개발보드
  • 서보모터 (SG90 또는 MG996R 권장)
  • 점자 디스플레이 하드웨어
  • 전원 공급 장치 (5V, 2A 이상)

소프트웨어 요구사항

  • Arduino IDE 2.0+
  • ESP32 보드 매니저
  • 필수 라이브러리:
    • ESP32Servo by Kevin Harrington
    • ArduinoJson by Benoit Blanchon
    • WebSockets by Markus Sattler

설치 및 설정

# 1. 저장소 클론
git clone https://github.com/OpenBrailleKNOU/OpenBrailleHardware.git

# 2. Arduino IDE에서 라이브러리 설치
# 도구 > 라이브러리 관리에서 위 라이브러리들 설치

# 3. ESP32 보드 설정
# 도구 > 보드 > ESP32 Arduino > ESP32 Dev Module

# 4. 코드 업로드
# ESP32_Middleware_Server.ino → ESP32 보드에 업로드
# ESP32_Servo_BrailleController.ino → 별도 ESP32 보드에 업로드

초기 설정

  1. WiFi 설정: ESP32가 AP 모드로 시작하여 OpenBraille_Setup 네트워크 생성
  2. 웹 대시보드 접속: http://192.168.4.1 (캡티브 포털)
  3. 외부 WiFi 설정: 대시보드에서 외부 WiFi 정보 입력
  4. 디바이스 연결: 서보 컨트롤러가 자동으로 미들웨어 허브에 연결

📱 사용 방법

엔드 유저

  • 웹 대시보드 접속: http://[ESP32_IP]
  • 실시간 점자 정보 확인
  • 디바이스 상태 모니터링
  • 시스템 재시작 및 제어

개발자

  • API 테스팅 도구 활용
  • WebSocket 통신 모니터링
  • 로그 분석 및 디버깅
  • 새로운 디바이스 통합

시스템 관리자

  • WiFi 설정 및 네트워크 관리
  • 전력 관리 및 안정성 모니터링
  • 백업 및 복구 절차

🔧 주요 기능

실시간 점자 제어

  • 서보모터의 정밀한 위치 제어
  • 점자 패턴의 실시간 변환 및 표시
  • 다국어 점자 지원

스마트 데이터 페칭

  • 연속 모드: 실시간 데이터 스트리밍
  • 이벤트 기반: 사용자 상호작용 시에만 요청
  • 조건부: 서보 유휴 시에만 요청
  • 딥슬립: 전력 절약을 위한 최적화

통신 시스템

  • WebSocket 기반 실시간 통신
  • 자동 재연결 및 오류 복구
  • 메시지 캐싱 및 오프라인 지원
  • WiFi 안정성 및 모바일 호환성

웹 기반 관리

  • 반응형 웹 대시보드
  • 실시간 모니터링 및 제어
  • API 테스팅 및 디버깅 도구
  • 모바일 최적화된 UI

🐛 문제 해결

빠른 수정

  • 컴파일 오류: ESP32Servo 라이브러리 설치 확인
  • WiFi 연결 실패: 외부 WiFi 네트워크 가시성 확인
  • 서보 제어 오류: 전원 공급 및 연결 상태 점검

디버깅

  • 시리얼 모니터를 통한 로그 분석
  • 웹 대시보드의 실시간 상태 확인
  • WebSocket 통신 모니터링

📚 문서 참조

  • 프로젝트 요구사항: Middleware_PRD.md (v2.1)
  • 점자 통합 가이드: SERVO_BRAILLE_INTEGRATION_GUIDE.md
  • WiFi 문제 해결: WIFI_TROUBLESHOOTING_GUIDE.md
  • UI 개선 가이드: RESPONSIVE_UI_ENHANCEMENT_GUIDE.md
  • 데이터 저장: ENHANCED_DATA_STORAGE_GUIDE.md

🔮 향후 계획

v2.2 (예정)

  • 미들웨어 UI 개선
  • 보다 빠른 외부 와이파이 접속 단계 구현

v3.0 (장기)

  • 오픈소스화

👥 개발팀

하드웨어 제작

  • 김혜경 (Kim Hye-kyung)
  • 박석희 (Park Seok-hee)
  • 윤승진 (Yoon Seung-jin)
  • 윤창훈 (Yoon Chang-hoon) 리더

프로젝트 관리

  • OpenBraille (Team ChatBraille)
  • 한국방송통신대학교 (KNOU)

📄 라이선스

이 프로젝트는 MIT License 하에 배포됩니다.

MIT License

Copyright (c) 2025 OpenBraille (Team ChatBraille)

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

🌟 프로젝트 특징

  • 🔌 플러그 앤 플레이: 간단한 설정으로 즉시 사용 가능
  • 📱 모바일 친화적: 캡티브 포털로 쉬운 WiFi 설정
  • ⚡ 실시간 성능: WebSocket 기반의 즉각적인 응답
  • 🔋 전력 효율적: 스마트한 전력 관리 시스템
  • 🌍 다국어 지원: 국제 표준 점자 시스템
  • 🛠️ 확장 가능: 모듈화된 설계로 쉬운 기능 확장

© 2025 OpenBraille (Team ChatBraille)
한국방송통신대학교 총장배 프로젝트

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages