sunnydragon 发表于 2018-7-22 21:50:36

【开源】基于 STM32 + RT-Thread 的 6LoWPAN 无线自组网方案

本帖最后由 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 的开发板,加速产品原型设计的验证过程。
另外,不得不提一下,在去年 11 月底,中共中央办公厅 国务院办公厅 印发了 《推进互联网协议第六版(IPv6)规模部署行动计划》 。这说明了国家当前对于 IPv6 的重视,对我们团队也是一种极大的鼓舞,希望 IPv6 在物联网领域的应用会越来越广。
功能特点
[*]采用 6LoWPAN 协议,节点支持 mesh 组网,并支持 IPv6
[*]Sub-1G 频段,传输距离远,穿墙性能更好
[*]兼容 Arduino 接口,灵活接入更多传感器,加速产品原型设计的验证
[*]基于 RT-Thread 3.0 物联网操作系统,丰富的组件及设备驱动,开发更容易
[*]支持动态运行 Python 脚本,极强的可玩性
[*]软件代码(Eclipse/IAR/Keil(暂不完整))、硬件设计资料全部开源,量产级要求,高质量开源


应用场景
[*]远距离、多节点数据采集
[*]无线信号穿墙性能要求较高的设备间通信
[*]支持 Sub-1G 频段的多功能网关


项目展示
原理图http://static.zybuluo.com/armink/18z3mhf8k1w6ut0hgjcqngn5/image.png
项目开源硬件的引脚关系图http://static.zybuluo.com/armink/s9axrdfdy0l46mbrgugrldr9/image.png
测试节点全家福http://static.zybuluo.com/armink/nx7jcxyrtxwmt6rbbnv2p641/image.png
无线通信测试http://static.zybuluo.com/armink/szqtvslykzqnqlmjbftnqswg/communication_test.gif
边界路由:节点树http://static.zybuluo.com/armink/6ftgnaxc12ddu97x7dwg1ye9/image.png
边界路由:ping 节点http://static.zybuluo.com/armink/pnfe2orf4fn9d4r777fn73at/ping6_test.png
应用层:CoAP 通信演示http://static.zybuluo.com/armink/g5h0frifd0jzs2x3aqa27qlh/node_coap_server%20-%20%E5%89%AF%E6%9C%AC.png
IAP 在线升级http://static.zybuluo.com/armink/0wr3m4osl8jbxmh94vk6n9f9/iap.gif
MicroPython 固件演示http://static.zybuluo.com/armink/hq3hrifsnvk5b704273cq4k5/micropython_getting_started.gif
文档Markdown 格式,位于 /docs 下。在线文档:https://github.com/ART-6LoWPAN/art-6lowpan/tree/master/docs/zh
下载实时最新代码及资料请关注 GitHub 仓库:https://github.com/ART-6LoWPAN/art-6lowpan本坛下载:

sunnydragon 发表于 2018-7-23 22:36:15

提示:配套的开发板硬件目前存货很少。大家如果配套开发板硬件,请将需求数量跟帖留言。

后续如果量大,可以考虑小批量或者众筹一下。

sunnydragon 发表于 2019-3-19 17:16:54

大家注意一下,楼主位压缩包内的 PCB 文件近期有更新,最新版位于 GitHub:https://github.com/ART-6LoWPAN/art-6lowpan ,务必去 GitHub 下载最新版本。

登云钓月 发表于 2018-7-22 22:06:31

正想研究这个呢 支持楼主

qtechzdh 发表于 2018-7-22 22:06:57

支持,大写的服{:lol:}

dswkl11 发表于 2018-7-22 22:07:42

不错,收藏先,最近物联网有点火

ywlzh 发表于 2018-7-22 22:12:16

厉害了

elecfun 发表于 2018-7-22 22:14:51

楼主每次都带来神作啊,强!!!

shh6899 发表于 2018-7-22 22:20:50

大牛啊,

ibichao 发表于 2018-7-22 22:58:04

牛x,这些功能楼主都参与实现了,还是一部分?

honami520 发表于 2018-7-22 22:59:58

这个楼主真是强大,关注你好几年了。只要上来就是重磅炸弹

fuu 发表于 2018-7-22 23:08:14

赞楼主的开源精神,发布了好多实用的资料

bad_fpga 发表于 2018-7-22 23:12:43

楼主大牛,好东西啊,谢谢

Excellence 发表于 2018-7-22 23:15:17

谢谢分享。。。。。。。

机器人天空 发表于 2018-7-22 23:22:28

只有我一个人看到的图片是这样的吗

solojimes 发表于 2018-7-22 23:32:01

sub 1ghz 传输距离一般是多少

zkaifa 发表于 2018-7-22 23:34:30

支持,学习了,mark

chenweihx 发表于 2018-7-22 23:58:08

这个强大

newkey 发表于 2018-7-23 00:12:41

楼主牛!

liangws201 发表于 2018-7-23 01:23:43

学习啦!!!

kangzou1012 发表于 2018-7-23 05:22:14

很强大,强烈支持

pchf005 发表于 2018-7-23 06:00:25

红红火火

lrzxc 发表于 2018-7-23 06:37:19

先加入收藏了

just_lou 发表于 2018-7-23 07:10:51

恭喜楼主

fengyunyu 发表于 2018-7-23 07:51:13

厉害,技术大牛!

weiwei4 发表于 2018-7-23 07:52:54

谢谢分享

sunnydragon 发表于 2018-7-23 08:20:35

ibichao 发表于 2018-7-22 22:58
牛x,这些功能楼主都参与实现了,还是一部分?

都参与了。甚至很多技术的实现都是世界首创,比如:

Contiki 这类协程式 OS 与 RTOS 的融合

MicroPython 在 RT-Thread 上的移植

sunnydragon 发表于 2018-7-23 08:24:38

honami520 发表于 2018-7-22 22:59
这个楼主真是强大,关注你好几年了。只要上来就是重磅炸弹

哈哈,以前都是纯软件类开源项目呢。这个项目周期有点长,主要时间花在了射频调试及协议栈部分。

等底层基础做好了,应用层直接用 CoAP 这类协议,确实很方便呢。

sunnydragon 发表于 2018-7-23 08:25:59

机器人天空 发表于 2018-7-22 23:22
只有我一个人看到的图片是这样的吗

重新刷新试试呢?我在手机和电脑上看都没有问题呢。

Mickey25 发表于 2018-7-23 08:27:33

赞楼主的开源精神

Gohome_soon 发表于 2018-7-23 08:28:23

支持个,前一段时间研有个项目要使用这个,然后研究了下,后面放弃了,太复杂了,有没有详细的资料

bdllllll 发表于 2018-7-23 08:29:37

sunnydragon 发表于 2018-7-23 08:25
重新刷新试试呢?我在手机和电脑上看都没有问题呢。

用IE打开没有问题

sunnydragon 发表于 2018-7-23 08:30:00

solojimes 发表于 2018-7-22 23:32
sub 1ghz 传输距离一般是多少

距离还是相当可观的,按照 模块厂家的 说法 100mW 功率 1km 是没有问题。

选择 sub 1ghz 主要原因是穿墙性能好,项目要应用于大楼中,普通的 2.4G 通信一堵实体墙就差不多不行了。

这里的 sub 1ghz 用的 433M 频段,100mW 功率情况,实测 3 堵半米厚的实体墙都没有问题。

在加上软件层面上,还有自组网协议,较远的节点可以跳传,所以覆盖面又大大提高了。

4058665 发表于 2018-7-23 08:32:55

楼主又出精品了   收藏了

sunnydragon 发表于 2018-7-23 08:34:40

Gohome_soon 发表于 2018-7-23 08:28
支持个,前一段时间研有个项目要使用这个,然后研究了下,后面放弃了,太复杂了,有没有详细的资料 ...

你指的是 6LoWPAN 协议栈吗?

我建议先从应用入手,比如使用 CoAP 发送 设备传感器 数据到边界路由,再在电脑上查看。

主观上对 6LoWPAN 能实现的功能有一定认识以后,再去深入了解底层。

tangmintm8013TM 发表于 2018-7-23 08:35:23

不错厉害!

Shampoo 发表于 2018-7-23 08:42:36

正想搞无线自组网,感谢楼主!

天荒 发表于 2018-7-23 08:49:14

赞一个,好好加油

mdcao 发表于 2018-7-23 08:50:28

楼主出品必属精品,关注围观

dswkl11 发表于 2018-7-23 08:52:47

sunnydragon 发表于 2018-7-23 08:20
都参与了。甚至很多技术的实现都是世界首创,比如:

Contiki 这类协程式 OS 与 RTOS 的融合


板子有卖不?

diyeyuye 发表于 2018-7-23 08:54:15

楼主是中国开源界的大神啊!超赞!

jacktau 发表于 2018-7-23 09:04:44

感谢共享,楼主必是RT-Thread的技术大牛或元老之一!

asbzhang 发表于 2018-7-23 09:09:10

楼主出品,必属精品。

su33691 发表于 2018-7-23 09:14:49

楼主牛人,膜拜中。。。

guxingganyue 发表于 2018-7-23 09:23:00

大作品,谢谢分享,改天研究一下

lghtjpu 发表于 2018-7-23 09:23:21

6LoWPAN部分能否做出RTT的一个包呢,然后能跑RTT的硬件都可以跑6LoWPAN了?

sup888 发表于 2018-7-23 09:24:45

膜拜一下,打算使用lora模块,如果不用他们的网关芯片,组网起来很麻烦。考虑是不是可以换个方案{:lol:}

小应电子 发表于 2018-7-23 09:46:53

感谢楼主 之前就看到了 一直不见楼主宣传

lghtjpu 发表于 2018-7-23 10:49:25

sup888 发表于 2018-7-23 09:24
膜拜一下,打算使用lora模块,如果不用他们的网关芯片,组网起来很麻烦。考虑是不是可以换个方案 ...

硬件用LORA,软件用6LAWPAN可以吧

txl216 发表于 2018-7-23 10:50:05

楼主这个做的不错,很给力。

wsg 发表于 2018-7-23 11:10:49

lghtjpu 发表于 2018-7-23 10:49
硬件用LORA,软件用6LAWPAN可以吧

lora声称的距离的确是远,实际上感觉也缩水的厉害。

sup888 发表于 2018-7-23 12:03:41

wsg 发表于 2018-7-23 11:10
lora声称的距离的确是远,实际上感觉也缩水的厉害。

距离远之后,空中速率慢的难以接受。

hyghyg1234 发表于 2018-7-23 13:42:50

太牛了,我又要站到巨人的肩膀上了。

just_lou 发表于 2018-7-23 13:49:00

lghtjpu 发表于 2018-7-23 10:49
硬件用LORA,软件用6LAWPAN可以吧

lora用在物理层可以!但感觉怪怪的,loraWAN用lora主推星型网的!

dreamc 发表于 2018-7-23 13:49:35

6666,收藏了

whxiaowang 发表于 2018-7-23 13:56:18

这东西开发的牛!!!

mypc16888 发表于 2018-7-23 15:49:48

厉害,很给力,666

hyz_avr 发表于 2018-7-23 15:58:59

机器人天空 发表于 2018-7-22 23:22
只有我一个人看到的图片是这样的吗

只有你这样,啥浏览器.

xyz2008 发表于 2018-7-23 16:06:07

好东西,!!!!!!!!!!

机器人天空 发表于 2018-7-23 22:23:02

hyz_avr 发表于 2018-7-23 15:58
只有你这样,啥浏览器.

尴尬,win10自带IE

leiyitan 发表于 2018-7-23 22:26:34

楼主大神出了不少精品了,早都记住armink这个名字了

sunnydragon 发表于 2018-7-23 22:32:38

dswkl11 发表于 2018-7-23 08:52
板子有卖不?

暂时没有。你需要几块,可以先记录着,后续量大,可以考虑小批量一下。

sunnydragon 发表于 2018-7-23 22:38:39

jacktau 发表于 2018-7-23 09:04
感谢共享,楼主必是RT-Thread的技术大牛或元老之一!

呵呵,用 RT-Thread 确实有一些年头了。

从 2010 年的 0.3.2 版本就一直开始用了。RT-Thread 带来的技术改变确实非常大。

sunnydragon 发表于 2018-7-23 22:39:28

rerainings 发表于 2018-7-23 09:11
这个板子有卖的?

暂时没有。你需要几块,可以先记录着,后续量大,可以考虑小批量一下。

sunnydragon 发表于 2018-7-23 22:40:40

lghtjpu 发表于 2018-7-23 09:23
6LoWPAN部分能否做出RTT的一个包呢,然后能跑RTT的硬件都可以跑6LoWPAN了?

后续是有这样的计划呢。

正好 RT-Thread 最近刚刚新推出的 SAL (Socket 抽象层)组件,跟这个项目结合起来,简直是绝配。

sunnydragon 发表于 2018-7-23 22:42:33

sup888 发表于 2018-7-23 09:24
膜拜一下,打算使用lora模块,如果不用他们的网关芯片,组网起来很麻烦。考虑是不是可以换个方案 ...

lora 在国家层面都逐渐被和谐掉了,继续选用确实要慎重呢。

而 IPv6 接下来这 10 年会是国家大力发展的方向。

sunnydragon 发表于 2018-7-23 22:44:33

小应电子 发表于 2018-7-23 09:46
感谢楼主 之前就看到了 一直不见楼主宣传

哈哈~~一直没有发布,也是想让产品尽可能多多测试。我更看重稳定成熟的技术。

射频和协议栈之前都很少接触,调试测试起来确实也花了很长的时间。

sunnydragon 发表于 2018-7-23 22:46:28

lghtjpu 发表于 2018-7-23 10:49
硬件用LORA,软件用6LAWPAN可以吧

固定频率后,理论上是可以。可是这不是又违背了 LoRa 扩频特性的初衷嘛。

再说 LoRa 慢慢被国家边缘化,后续继续使用要慎重呢。

sunnydragon 发表于 2018-7-23 22:48:02

just_lou 发表于 2018-7-23 13:49
lora用在物理层可以!但感觉怪怪的,loraWAN用lora主推星型网的!

是的。星型网络与 6LoWPAN 这种网状网络还是各有各的使用场景。

hongyao 发表于 2018-7-24 02:20:15

楼主大牛,谢谢分享!mark

pulan 发表于 2018-7-24 09:14:33

加上USB口的话,可以跑mircopython了

zhangling520 发表于 2018-7-24 09:21:39

大神,关注你的github很久了。。 报个名!

板子需求数量:3

ZMHCISS 发表于 2018-7-24 10:47:28

太厉害了,标记学习

Joetu 发表于 2018-7-24 11:49:57

膜拜大神

guolun 发表于 2018-7-24 11:59:52

膜拜大神。出学习套件吧。我要一套。

hyghyg1234 发表于 2018-7-24 12:03:07

期待楼主的套件,我预定3套。

unnormal 发表于 2018-7-24 12:14:39

这个看上去不错   支持一下{:handshake:}

SUPER_CRJ 发表于 2018-7-24 12:15:41

支持支持

didadida 发表于 2018-7-24 14:50:39

感觉是未来的趋势啊

xiangbin099 发表于 2018-7-24 15:09:30

Mark,有时间一起研究一下

talkingbeast 发表于 2018-7-24 15:14:29

楼主开源的都是重量级资料,很早就fellow楼主了,你这个项目刚在github上建立的时候我就关注了,没想到进展这么快,楼主这次当带头大哥直接做小批量把,统计每个人要多少套提前付款给你们,我要5套

marrt.80 发表于 2018-7-24 15:30:01

不错,收藏先{:smile:}{:smile:}{:smile:}

擦鞋匠 发表于 2018-7-24 15:32:12

楼主,请半蹲下来...否则,我如何爬到巨人的肩膀上...

戬邪 发表于 2018-7-24 16:36:09

在线参观大神

stely 发表于 2018-7-24 17:12:16

这个不错,正在做lora项目。远距离无线自组网通信是个大趋势。有套件的话,来3块玩玩。

geek_Yatao 发表于 2018-7-24 17:22:58

学习了。也想来块板子学习下。求3块,众筹或生产时带我一个{:lol:}

denike 发表于 2018-7-24 17:33:00

赞楼主的开源精神,发布了好多实用的资料

lghtjpu 发表于 2018-7-24 18:19:07

想请教下,一个网络可以容纳多少个节点呢?通讯速率又是怎样? 如果几百个节点的情况下通讯延时会怎样?

32MCU 发表于 2018-7-24 18:27:30

求3块。学习下。

XIUQIN 发表于 2018-7-24 20:03:42

不错,一直关注!

jianbo513 发表于 2018-7-24 20:31:11

不错,支持楼主!!!

fsmcu 发表于 2018-7-24 22:04:07

厉害,持续关注项目发展情况

lhhsea2004 发表于 2018-7-24 22:19:55

关注中,学习,支持楼主

add00 发表于 2018-7-24 23:15:03

厉害,收藏先!

sunnydragon 发表于 2018-7-25 08:28:03

pulan 发表于 2018-7-24 09:14
加上USB口的话,可以跑mircopython了

不用 USB 也可以的哦~~

这里用的经过 RT-Thread 深度定制版本的 MicroPython ,有些功能甚至比原生的 STM32 MPY固件还好玩。

这里有一些介绍 https://www.rt-thread.org/document/site/rtthread-development-guide/micropython/docs/README/

sunnydragon 发表于 2018-7-25 08:30:44

talkingbeast 发表于 2018-7-24 15:14
楼主开源的都是重量级资料,很早就fellow楼主了,你这个项目刚在github上建立的时候我就关注了,没想到进 ...

多谢支持哈~这个项目其实除了 6LoWPAN 之外,还有些其他有意思的技术,学习和 DIY 两不误{:lol:}

sunnydragon 发表于 2018-7-25 08:41:58

lghtjpu 发表于 2018-7-24 18:19
想请教下,一个网络可以容纳多少个节点呢?通讯速率又是怎样? 如果几百个节点的情况下通讯延时会怎样? ...

同一网内理论上的节点数是 65536

通讯速率可以根据 15.4 标准限制来设定,这里用的是 10K

几百个节点如果在同一网内,时延没有测试过,可以想象到延迟肯定会比较夸张。一般这么多节点都要分组组网,组与组之间再通过其他方式连接上。

pulan 发表于 2018-7-25 08:42:25

sunnydragon 发表于 2018-7-25 08:28
不用 USB 也可以的哦~~

这里用的经过 RT-Thread 深度定制版本的 MicroPython ,有些功能甚至比原生的 ST ...

那通过接口放置python的那几个文件呢?好像也没办法生成hex文件啊

sunnydragon 发表于 2018-7-25 08:51:19

pulan 发表于 2018-7-25 08:42
那通过接口放置python的那几个文件呢?好像也没办法生成hex文件啊

要使用 RT-Thread 的 ENV 工具,基于现有的 6LoWPAN 工程,生成带有 MicroPython 功能的新工程。

这里也有说明: https://www.rt-thread.org/document/site/rtthread-development-guide/micropython/docs/01-Getting_Started_Guide/

特别能吃 发表于 2018-7-25 08:54:03

看看先,谢谢楼主分享

billtian 发表于 2018-7-25 09:33:15

基于 STM32 + RT-Thread 的 6LoWPAN 无线自组网方案 牛 学习一下
页: [1] 2 3
查看完整版本: 【开源】基于 STM32 + RT-Thread 的 6LoWPAN 无线自组网方案