Repolode
ggerganov

ggerganov/ggwave

소리를 이용해 기기 간에 소량의 데이터를 주고받는 소형 C++ 라이브러리로, Python, JavaScript, 마이크로컨트롤러에서 사용할 수 있습니다.

스타
7,906
포크
479
열린 이슈
65
마지막 커밋
6개월 전

어떤 프로젝트인가요?

ggwave를 사용하면 네트워크에 연결할 수 없는 기기끼리 소리로 소량의 데이터를 주고받을 수 있습니다. Reed-Solomon 오류 정정을 적용한 다중 주파수 FSK 변조 방식을 사용하며, 가청 및 초음파 신호를 모두 전송할 수 있습니다. 프로토콜 매개변수에 따라 대역폭은 초당 약 8~16바이트입니다.

이 라이브러리는 원시 파형을 생성하고 분석하는 기능만 제공합니다. 재생과 캡처는 PulseAudio, ALSA, Web Audio 같은 오디오 백엔드가 담당하며, 콜백을 통해 샘플을 큐에 넣고 꺼냅니다. Python, Node.js, Swift용 바인딩과 패키지가 제공되며, 예제에는 ESP32, Arduino, Raspberry Pi Pico용 코드가 포함되어 있습니다.

또한 iOS, Android, Linux, macOS용 Waver 앱과 전송 테스트를 위한 브라우저 데모도 제공합니다.

핵심 기능

  • 01가청 또는 초음파로 소량의 데이터를 전송합니다.
  • 02Reed-Solomon 오류 정정을 적용한 FSK 변조 방식을 사용합니다.
  • 03샘플 큐 콜백을 통해 모든 오디오 백엔드와 연동할 수 있습니다.
  • 04Python, Node.js, Swift용 바인딩을 제공합니다.
  • 05ESP32, Arduino, Raspberry Pi Pico용 예제를 포함합니다.

활용 사례

  • 네트워크 연결 없이 가까이 있는 기기끼리 짧은 메시지나 페어링 코드를 공유합니다.
  • 마이크나 스피커가 있는 마이크로컨트롤러에 PC 또는 휴대폰에서 명령을 전송합니다.
  • 오프라인 기기 페어링이나 연락처 교환 기능을 구현합니다.
  • IoT 프로젝트에서 소리 기반 데이터 전송 프로토콜을 프로토타이핑합니다.

토픽

자주 묻는 질문

ggwave은(는) 무엇인가요?
소리를 이용해 기기 간에 소량의 데이터를 주고받는 소형 C++ 라이브러리로, Python, JavaScript, 마이크로컨트롤러에서 사용할 수 있습니다. ggwave를 사용하면 네트워크에 연결할 수 없는 기기끼리 소리로 소량의 데이터를 주고받을 수 있습니다. Reed-Solomon 오류 정정을 적용한 다중 주파수 FSK 변조 방식을 사용하며, 가청 및 초음파 신호를 모두 전송할 수 있습니다. 프로토콜 매개변수에 따라 대역폭은 초당 약 8~16바이트입니다.
ggwave은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
ggwave은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
ggwave은(는) 아직 유지보수되고 있나요?
6개월 이상 커밋 없음. ggwave의 마지막 커밋은 2026년 4월 16일입니다.
ggwave은(는) 어디에 사용할 수 있나요?
네트워크 연결 없이 가까이 있는 기기끼리 짧은 메시지나 페어링 코드를 공유합니다. 마이크나 스피커가 있는 마이크로컨트롤러에 PC 또는 휴대폰에서 명령을 전송합니다. 오프라인 기기 페어링이나 연락처 교환 기능을 구현합니다. IoT 프로젝트에서 소리 기반 데이터 전송 프로토콜을 프로토타이핑합니다.
ggwave은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/ggerganov/ggwave

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트