MeshCore:一种用于分组无线电的新型轻量级混合路由网状协议
MeshCore, a new lightweight, hybrid routing mesh protocol for packet radios

原始链接: https://github.com/ripplebiz/MeshCore

MeshCore是一个轻量级、开源的C++库,旨在为嵌入式项目创建弹性、多跳LoRa网状网络。它能够在没有互联网连接的情况下进行通信,非常适合离网、紧急和物联网应用。MeshCore支持Heltec和RAK Wireless等设备,允许轻松刷写预构建的二进制文件,并通过串口控制台进行网络交互。 它在简洁性和可扩展性之间取得了平衡,使其适用于定制解决方案,这与Meshtastic或Reticulum不同。主要特性包括多跳数据包路由、低功耗和去中心化操作。示例应用包括终端聊天、中继器和简单的BBS服务器。开发者可以通过GitHub贡献代码,报告bug和提出建议。RAK Wireless板用户需要在PlatformIO中应用特定的补丁并将固件转换为.uf2格式才能进行刷写。

Hacker News 最新 | 往期 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 MeshCore,一种用于分组无线电的新型轻量级混合路由网状协议 (github.com/ripplebiz) 3 分,由 cuu508 发布,50 分钟前 | 隐藏 | 往期 | 收藏 | 讨论 加入我们,参加 6 月 16-17 日在旧金山举办的 AI 初创公司学校! 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系我们 搜索:

原文

MeshCore is a lightweight, portable C++ library that enables multi-hop packet routing for embedded projects using LoRa and other packet radios. It is designed for developers who want to create resilient, decentralized communication networks that work without the internet.

MeshCore now supports a range of LoRa devices, allowing for easy flashing without the need to compile firmware manually. Users can flash a pre-built binary using tools like Adafruit ESPTool and interact with the network through a serial console. MeshCore provides the ability to create wireless mesh networks, similar to Meshtastic and Reticulum but with a focus on lightweight multi-hop packet routing for embedded projects. Unlike Meshtastic, which is tailored for casual LoRa communication, or Reticulum, which offers advanced networking, MeshCore balances simplicity with scalability, making it ideal for custom embedded solutions., where devices (nodes) can communicate over long distances by relaying messages through intermediate nodes. This is especially useful in off-grid, emergency, or tactical situations where traditional communication infrastructure is unavailable.

  • Multi-Hop Packet Routing – Devices can forward messages across multiple nodes, extending range beyond a single radio's reach. MeshCore supports up to a configurable number of hops to balance network efficiency and prevent excessive traffic.
  • Supports LoRa Radios – Works with Heltec, RAK Wireless, and other LoRa-based hardware.
  • Decentralized & Resilient – No central server or internet required; the network is self-healing.
  • Low Power Consumption – Ideal for battery-powered or solar-powered devices.
  • Simple to Deploy – Pre-built example applications make it easy to get started.

🎯 What Can You Use MeshCore For?

  • Off-Grid Communication: Stay connected even in remote areas.
  • Emergency Response & Disaster Recovery: Set up instant networks where infrastructure is down.
  • Outdoor Activities: Hiking, camping, and adventure racing communication.
  • Tactical & Security Applications: Military, law enforcement, and private security use cases.
  • IoT & Sensor Networks: Collect data from remote sensors and relay it back to a central location.

Andy Kirby has published a very useful intro video which explains the steps for beginners.

For developers, install PlatformIO in Visual Studio Code. Download & Open the MeshCore repository. Select a Sample Application: Choose from chat, repeater, other example app. Monitor & Communicate using the Serial Monitor (e.g., Serial USB Terminal on Android).

📁 Included Example Applications

  • 📡 Terminal Chat: Secure text communication between devices.
  • 📡 Simple Repeater: Extends network coverage by relaying messages.
  • 📡 Companion Radio: For use with an external chat app, over BLE or USB.
  • 📡 Room Server: A simple BBS server for shared Posts.

🛠 Hardware Compatibility

MeshCore is designed for use with:

  • Heltec V3 LoRa Boards
  • RAK4631
  • XiaoS3 WIO (sx1262 combo)
  • XiaoC3 (plus external sx126x module)
  • LilyGo T3S3
  • Heltec T114
  • Station G2
  • Sensecap T1000e
  • Heltec V2
  • LilyGo TLora32 v1.6

MeshCore is open-source software released under the MIT License. You are free to use, modify, and distribute it for personal and commercial projects.

Please submit PR's using 'dev' as the base branch! For minor changes just submit your PR and I'll try to review it, but for anything more 'impactful' please open an Issue first and start a discussion. Is better to sound out what it is you want to achieve first, and try to come to a consensus on what the best approach is, especially when it impacts the structure or architecture of this codebase.

Check out the GitHub Issues page to report bugs or request features.

You will be able to find additional guides and components at my site, or join Andy Kirby's Discord for discussions.

RAK Wireless Board Support in PlatformIO

Before building/flashing the RAK4631 targets in this project, there is, unfortunately, some patching you have to do to your platformIO packages to make it work. There is a guide here on the process: RAK Wireless: How to Perform Installation of Board Support Package in PlatformIO

After building, you will need to convert the output firmware.hex file into a .uf2 file you can copy over to your RAK4631 device (after doing a full erase) by using the command uf2conv.py -f 0xADA52840 -c firmware.hex with the python script available from: GitHub: Microsoft - uf2

联系我们 contact @ memedata.com