本帖最后由 sunnydragon 于 2018-7-22 21:50 编辑
背景自组网的需求在工业工控、智能家居等领域都很常见。提到自组网,很容易联想到常见的自组网协议 Zigbee ,但由于种种原因,Zigbee 的发展速度很慢。大家逐渐的把焦点聚焦到 6LoWPAN 技术上。
6LoWPAN (IPv6 over Low-Power Wireless Personal Area Networks) 作为物联网的一种协议方式,已经发展了很多年。使用这项技术后,所有节在点网络层通过 IPv6 联系起来,组网方式更加标准化,极大的方便了上层应用的开发。一些 RF-SoC (例如:CC1310) 都有对应的协议栈,最常见就是基于 Contiki 。
为什么基于 RT-ThreadContiki 的协程式编程方式虽然省了资源,但是跟常规的 RTOS 编程方式差距很大,如果自己之前做过一些基于 RTOS 的代码,可能也没法拿到 Contiki 上用了。 这里选择 RT-Thread 的原因是: - RT-Thread 作为起步较早国产的 RTOS ,成熟、稳定、可靠,工业产品很看重这点
- 同时还有国内最大的嵌入式开源软件社区,解决问题(尤其是新技术)、寻找大牛都很方便
- 再加上,之前很多项目也都是基于 RT-Thread ,对其内部有一定的了解,这也能让我们从技术角度,解决 RT-Thread 与 Contiki 的共存问题。
为什么选择 STM32常见的 RF-SoC 都已经支持好了 Contiki ,这点是不错,但是主要问题是这些 RF-SoC 资源都非常的小,如果项目单一的业务还好,但如果又需要 GUI ,又要跑文件系统。此时只能选择 资源较多的常规 MCU + RF IC 的方式,协议栈跑在 MCU 上。
介绍这个开源项目被命名为 ART-6LoWPAN ,由我们 ART-6LoWPAN 开发团队独立自主研发完成。项目最早是从 2017年8月 开始,在此期间,相关技术都已经在产品上做过充分的验证。这也是一个软件和硬件全开源的项目,也希望通过这个项目,降低 6LoWPAN 的应用门槛。还可以利用本项目提供的类 Arduino 的开发板,加速产品原型设计的验证过程。
功能特点- 采用 6LoWPAN 协议,节点支持 mesh 组网,并支持 IPv6
- Sub-1G 频段,传输距离远,穿墙性能更好
- 兼容 Arduino 接口,灵活接入更多传感器,加速产品原型设计的验证
- 基于 RT-Thread 3.0 物联网操作系统,丰富的组件及设备驱动,开发更容易
- 支持动态运行 Python 脚本,极强的可玩性
- 软件代码(Eclipse/IAR/Keil(暂不完整))、硬件设计资料全部开源,量产级要求,高质量开源
应用场景- 远距离、多节点数据采集
- 无线信号穿墙性能要求较高的设备间通信
- 支持 Sub-1G 频段的多功能网关
项目展示
原理图
项目开源硬件的引脚关系图
测试节点全家福
无线通信测试
边界路由:节点树
边界路由:ping 节点
应用层:CoAP 通信演示
IAP 在线升级
MicroPython 固件演示
文档 Markdown 格式,位于 /docs 下。在线文档:https://github.com/ART-6LoWPAN/art-6lowpan/tree/master/docs/zh
下载
|