업데이트로 돌아가기
New releaseAug 9, 2026

MeshCore room-server-v1.17.0

패킷 라디오를 위한 새로운 경량 하이브리드 라우팅 메시 프로토콜

공유

MeshCore 소개

MeshCore는 LoRa 및 기타 패킷 무선기를 사용하는 임베디드 프로젝트를 위한 경량의 이식 가능한 C++ 라이브러리입니다. 인터넷 없이도 작동하는 탄력적이고 분산된 통신 네트워크를 만들고자 하는 개발자를 위해 설계되었습니다.

🔍 MeshCore란 무엇인가요?

MeshCore는 이제 다양한 LoRa 장치를 지원하여, 수동으로 펌웨어를 컴파일할 필요 없이 쉽게 플래싱할 수 있습니다. 사용자는 Adafruit ESPTool과 같은 도구를 사용하여 사전 빌드된 바이너리를 플래싱하고, 직렬 콘솔을 통해 네트워크와 상호 작용할 수 있습니다. MeshCore는 Meshtastic 및 Reticulum과 유사한 무선 메시 네트워크를 생성하는 기능을 제공하지만, 임베디드 프로젝트를 위한 경량 다중 홉 패킷 라우팅에 중점을 둡니다. Meshtastic이 일반 LoRa 통신에 맞춰져 있거나 Reticulum이 고급 네트워킹을 제공하는 것과 달리, MeshCore는 단순성과 확장성의 균형을 유지하여 맞춤형 임베디드 솔루션에 이상적입니다. 여기서 장치(노드)는 중간 노드를 통해 메시지를 중계하여 장거리 통신이 가능합니다. 이는 전통적인 통신 인프라를 사용할 수 없는 오프그리드, 비상 또는 전술 상황에서 특히 유용합니다.

⚡ 주요 기능

  • 다중 홉 패킷 라우팅
    • 장치는 여러 노드를 통해 메시지를 전달하여 단일 무기의 도달 범위를 넘어 확장할 수 있습니다.
    • 네트워크 효율성을 균형 있게 유지하고 과도한 트래픽을 방지하기 위해 구성 가능한 최대 홉 수를 지원합니다.
    • 노드는 "Companion" 노드가 메시지를 전혀 반복하지 않도록 고정된 역할을 사용하여 역경로 사용을 방지합니다.
  • LoRa 라디오 지원 – Heltec, RAK Wireless 및 기타 LoRa 기반 하드웨어와 함께 작동합니다.
  • 분산 및 탄력적 – 중앙 서버나 인터넷이 필요 없으며, 네트워크는 자가 치유됩니다.
  • 저전력 소비 – 배터리 또는 태양열 구동 장치에 이상적입니다.
  • 간편한 배포 – 사전 빌드된 예제 애플리케이션을 통해 쉽게 시작할 수 있습니다.

🎯 MeshCore는 어디에 사용할 수 있나요?

  • 오프그리드 통신: 원격 지역에서도 연결 상태를 유지합니다.
  • 비상 대응 및 재해 복구: 인프라가 중단된 곳에서 즉석 네트워크를 구축합니다.
  • 야외 활동: 하이킹, 캠핑, 어드벤처 레이스 통신.
  • 전술 및 보안 응용: 군사, 법 집행 및 개인 보안 사용 사례.
  • IoT 및 센서 네트워크: 원격 센서에서 데이터를 수집하여 중앙 위치로 중계합니다.

🚀 시작하기

개발자용:

  • Visual Studio CodePlatformIO를 설치하세요.
  • Visual Studio Code에서 MeshCore 저장소를 클론하고 여세요.
  • 수정 및 실행 가능한 예제 애플리케이션을 확인하세요:

Simple Secure Chat 예제는 Visual Studio Code의 시리얼 모니터 또는 Android의 시리얼 USB 터미널을 통해 상호 작용할 수 있습니다.

⚡️ MeshCore 플래셔

지원되는 장치에 플래싱할 수 있는 사전 빌드 펌웨어가 준비되어 있습니다.

  • https://meshcore.io/flasher 를 실행하세요.
  • 지원되는 장치를 선택하세요.
  • 다음 펌웨어 유형 중 하나를 플래싱하세요:
    • Companion, Repeater 또는 Room Server
  • 플래싱이 완료되면 아래 MeshCore 클라이언트 중 하나로 연결할 수 있습니다.

📱 MeshCore 클라이언트

Companion 펌웨어

Companion 펌웨어는 플래싱한 펌웨어 유형에 따라 BLE, USB 또는 Wi-Fi를 통해 연결할 수 있습니다.

Repeater 및 Room Server 펌웨어

Repeater 및 Room Server 펌웨어는 웹 설정 도구에서 USB를 통해 설정할 수 있습니다.

또한 모바일 앱에서 원격 관리 기능을 사용하여 LoRa를 통해 관리할 수 있습니다.

🛠 하드웨어 호환성

MeshCore는 MeshCore Flasher에 나열된 장치용으로 설계되었습니다.

📜 라이선스

MeshCore는 MIT 라이선스 하에 배포되는 오픈소스 소프트웨어입니다. 개인 및 상업 프로젝트에서 자유롭게 사용, 수정 및 배포할 수 있습니다.

기여하기

'dev' 브랜치를 기준으로 PR을 제출해 주세요! 사소한 변경 사항은 PR을 제출하면 검토해 드리겠지만, 더 '영향력이 큰' 변경 사항의 경우 먼저 Issue를 열고 논의를 시작해 주세요. 특히 이 코드베이스의 구조나 아키텍처에 영향을 미치는 경우, 원하는 목표를 먼저 명확히 하고 최선의 접근 방식에 대한 합의를 도출하는 것이 좋습니다.

다음은 준수해야 할 일반적인 원칙입니다:

  • 간단하게 유지하세요. 고급 언어 프로그래머처럼 생각하지 마십시오. 임베디드 방식으로 생각하고, 불필요한 계층 없이 간결한 코드를 유지하세요.
  • setup/begin 함수 외에는 동적 메모리 할당을 하지 마세요.
  • 핵심 소스 모듈과 동일한 중괄호 및 들여쓰기 스타일을 사용하세요. (.clang-format이 곧 추가될 예정이지만, 기존 코드를 소급하여 다시 포맷하지 마십시오. 이는 문제를 찾기 어렵게 만드는 불필요한 diff를 생성합니다)

우선순위를 정하는 데 도움을 주세요! 가장 관심 있는 이슈/PR에 엄지손가락 반응을 눌러 주세요. 작업 계획 시 반응 수를 고려합니다.

단위 테스트 실행

단위 테스트를 실행하려면 다음 명령을 실행하세요:

pio test --environment native --verbose

로드맵 / 할 일

파이프라인에 상당히 주요한 여러 기능이 있지만, 아직 특정 일정은 정해지지 않았습니다. 대략적인 시간 순서는 다음과 같습니다:

  • Companion 라디오: UI 재설계
  • Repeater + Room Server: (Sensor Node와 같은) ACL 추가
  • Repeater용 Bridge 모드 표준화
  • Repeater/Bridge: 구역/필터링을 위한 전송 코드 표준화
  • Core + Repeater: 강화된 0홉 이웃 탐색
  • Core: 왕복 수동 경로 지원
  • Companion + 앱: 여러 서브 메시 지원 (및 '오프그리드' 클라이언트 반복 모드)
  • Core + 앱: LZW 메시지 압축 지원
  • Core: 약한 홉과 강한 홉에 대한 동적 CR(코딩 레이트)
  • Core: 단일 물리 장치에서 여러 가상 노드를 호스팅하는 새로운 프레임워크
  • V2 프로토콜 사양: 경로 해시, 새로운 암호화 사양 등을 포함한 V2 패킷 프로토콜에 대한 논의 및 합의

📞 지원 받기

  • 버그를 보고하고 기능을 요청하려면 GitHub Issues 페이지를 이용하세요.
  • 추가 가이드와 구성 요소는 내 사이트에서 확인하세요.
  • MeshCore Discord에 가입하여 개발자와 대화하고 커뮤니티의 도움을 받으세요.

카테고리