
패킷 라디오를 위한 새로운 경량 하이브리드 라우팅 메시 프로토콜
MeshCore는 LoRa 및 기타 패킷 라디오를 사용하는 임베디드 프로젝트를 위한 멀티홉 패킷 라우팅을 가능하게 하는 가볍고 이식성 있는 C++ 라이브러리입니다. 인터넷 없이도 작동하는 탄력적이고 분산된 통신 네트워크를 만들고자 하는 개발자를 위해 설계되었습니다.
MeshCore는 이제 다양한 LoRa 장치를 지원하여 펌웨어를 수동으로 컴파일할 필요 없이 쉽게 플래싱할 수 있습니다. 사용자는 Adafruit ESPTool과 같은 도구를 사용하여 미리 빌드된 바이너리를 플래싱하고 시리얼 콘솔을 통해 네트워크와 상호 작용할 수 있습니다. MeshCore는 Meshtastic 및 Reticulum과 유사하지만 임베디드 프로젝트를 위한 경량 멀티홉 패킷 라우팅에 중점을 둔 무선 메시 네트워크를 만들 수 있는 기능을 제공합니다. 일상적인 LoRa 통신에 맞춰진 Meshtastic이나 고급 네트워킹을 제공하는 Reticulum과 달리, MeshCore는 단순성과 확장성 사이의 균형을 맞추어 맞춤형 임베디드 솔루션에 이상적이며, 장치(노드)가 중간 노드를 통해 메시지를 중계하여 장거리로 통신할 수 있습니다. 이는 기존 통신 인프라를 사용할 수 없는 오프그리드, 비상 상황 또는 전술 상황에서 특히 유용합니다.
개발자를 위해:
Simple Secure Chat 예제는 Visual Studio Code의 Serial Monitor를 통해 또는 Android의 Serial USB Terminal을 통해 상호 작용할 수 있습니다.
지원되는 장치에 플래싱할 준비가 된 미리 빌드된 펌웨어가 있습니다.
Companion 펌웨어
Companion 펌웨어는 플래싱한 펌웨어 유형에 따라 BLE, USB 또는 Wi-Fi를 통해 연결할 수 있습니다.
Repeater 및 Room Server 펌웨어
Repeater 및 Room Server 펌웨어는 웹 구성 도구에서 USB를 통해 설정할 수 있습니다.
모바일 앱에서 Remote Management 기능을 사용하여 LoRa를 통해 관리할 수도 있습니다.
MeshCore는 MeshCore Flasher에 나열된 장치를 위해 설계되었습니다.
MeshCore는 MIT 라이선스에 따라 배포되는 오픈 소스 소프트웨어입니다. 개인 및 상업적 프로젝트를 위해 자유롭게 사용, 수정 및 배포할 수 있습니다.
PR을 제출할 때는 'dev'를 기본 브랜치로 사용해 주세요! 사소한 변경의 경우 PR을 제출하시면 검토를 시도하겠지만, 더 '영향력 있는' 변경의 경우 먼저 Issue를 열고 논의를 시작해 주세요. 특히 이 코드베이스의 구조나 아키텍처에 영향을 미치는 경우, 달성하고자 하는 바를 먼저 타진하고 최선의 접근 방식에 대한 합의에 도달하는 것이 좋습니다.
다음은 따르도록 노력해야 할 몇 가지 일반 원칙입니다:
우선순위를 정하는 데 도움을 주세요! 가장 관심 있는 이슈/PR에 thumbs-up으로 반응해 주세요. 작업 계획 시 반응 수를 확인합니다.
단위 테스트를 실행하려면 다음 명령을 실행하세요:
pio test --environment native --verbose
파이프라인에 상당히 주요한 기능들이 여러 개 있으며, 아직 특정 일정은 정해지지 않았습니다. 대략적인 시간 순서대로: