MeshCore:用于分组无线电的新型轻量级混合路由 Mesh 协议

MeshCore 是一个轻量级的、可移植的 C++ 库,它为使用 LoRa 和其他分组无线电的嵌入式项目实现了多跳分组路由。它专为希望创建无需互联网即可工作的弹性、去中心化通信网络的开发人员而设计。

🔍 什么是 MeshCore?

MeshCore 现在支持一系列 LoRa 设备,允许轻松刷写固件,无需手动编译。用户可以使用诸如 Adafruit ESPTool 之类的工具刷写预构建的二进制文件,并通过串行控制台与网络交互。MeshCore 提供了创建无线 Mesh 网络的能力,类似于 Meshtastic 和 Reticulum,但专注于为嵌入式项目提供轻量级多跳分组路由。与专为休闲 LoRa 通信量身定制的 Meshtastic 或提供高级网络的 Reticulum 不同,MeshCore 在简单性和可扩展性之间取得了平衡,使其成为自定义嵌入式解决方案的理想选择,其中设备(节点)可以通过中继节点在长距离上通信。这在传统通信基础设施不可用的离网、紧急或战术情况下尤其有用。

⚡ 主要特性

🎯 MeshCore 可以用来做什么?

🚀 如何开始使用

Andy Kirby 发布了一个非常有用的入门视频,其中解释了初学者的步骤。

对于开发人员,在 Visual Studio Code 中安装 PlatformIO。下载并打开 MeshCore 存储库。选择一个示例应用程序:从 chat、repeater 和其他示例应用程序中选择。使用 Serial Monitor(例如,Android 上的 Serial USB Terminal)进行监控和通信。

📁 包含的示例应用程序

🛠 硬件兼容性

MeshCore 旨在与以下设备配合使用:

📜 许可证

MeshCore 是根据 MIT 许可证发布的开源软件。您可以自由使用、修改和分发它,用于个人和商业项目。

贡献

请使用“dev”作为基本分支提交 PR!对于较小的更改,只需提交您的 PR,我会尽量审查,但对于任何更具“影响力”的事情,请先打开一个 Issue 并开始讨论。最好先了解您想要实现的目标,并尝试就最佳方法达成共识,尤其是在它影响此代码库的结构或体系结构时。

📞 获取支持

查看 GitHub Issues 页面以报告错误或请求功能。

您可以在我的网站上找到其他指南和组件,或者加入 Andy Kirby 的 Discord进行讨论。

PlatformIO 中对 RAK Wireless Board 的支持

在构建/刷写此项目中的 RAK4631 目标之前,不幸的是,您必须对您的 platformIO 包进行一些修补才能使其正常工作。有关该过程的指南,请参见此处:RAK Wireless:如何在 PlatformIO 中执行板级支持包的安装

构建完成后,您需要使用命令 uf2conv.py -f 0xADA52840 -c firmware.hex 将输出的 firmware.hex 文件转换为 .uf2 文件,您可以将其复制到您的 RAK4631 设备(在执行完全擦除后),该命令使用以下位置提供的 python 脚本:GitHub: Microsoft - uf2