pirdoll 发表于 2013-4-1 13:13:33

nrf24l01组网量产时地址配置的问题

背景:一套设备,里面用到四个nrf24l01组成一个小型网络。
要求:在一间房间中可能有不多于30套这样的设备,要求使用时,设备之间绝对不能互相干扰。
思路:容易想到的一个方法是设备之间使用不同的地址
问题:如果量产的话,程序一般都是一个,那么不同的设备用不同的地址就很难实现了。
请教各位网友,有没有什么好的方法实现量产时地址自动分配。

linyu0395 发表于 2013-4-1 13:18:36

我用的stm8 + CC1101   STM8不是有内部ID么cc1101不是也有内部ID么 还全球唯一呢   

lcw_swust 发表于 2013-4-1 13:19:55

某些单片机的烧写软件提供了“自动增量”,就是让程序文件指定地址的数据在烧写一次后自动增加指定的值,比如STC-ISP
如果没有这种软件,那就用VB写一个,用来修改程序文件的某些字节。

pirdoll 发表于 2013-4-1 13:36:37

lcw_swust 发表于 2013-4-1 13:19 static/image/common/back.gif
某些单片机的烧写软件提供了“自动增量”,就是让程序文件指定地址的数据在烧写一次后自动增加指定的值,比 ...

谢谢你的回复,如果板子上没有显示屏的话,这样下载完程序以后,也不知道这个节点的地址是什么了,那就需要编写一个配对程序了吧?或者在安装设备时一对对的手工配对。

rf_smart 发表于 2013-4-1 13:37:36

自古真相出二楼。

pirdoll 发表于 2013-4-1 13:42:14

linyu0395 发表于 2013-4-1 13:18 static/image/common/back.gif
我用的stm8 + CC1101   STM8不是有内部ID么cc1101不是也有内部ID么 还全球唯一呢    ...

谢谢你的回复,因为mcu用的stm32,开始也考虑用id作为地址,但是stm32的id是96bit的,而nrf24l01的地址最多只有5byte,选取96bit的id中的一部分作为地址可能会出现重复的问题。因为每套设备的节点只有四个,因此想通过nrf24l01地址的配置实现硬绑定,这样协议就可以比较简单了,不需要动态的配对和搜索。没试用过cc1101,虽然它里面的id是唯一的,那么在配对上是怎么实现的呢?

logosz 发表于 2014-3-15 16:14:53

pirdoll 发表于 2013-4-1 13:42
谢谢你的回复,因为mcu用的stm32,开始也考虑用id作为地址,但是stm32的id是96bit的,而nrf24l01的地址最 ...

跳频做吧。楼主。

曾如兵 发表于 2014-6-20 12:19:39

遇到同样的问题求真相{:dizzy:}

pirdoll 发表于 2014-6-21 10:55:34

曾如兵 发表于 2014-6-20 12:19
遇到同样的问题求真相

当时采用的方案是使用一个四位的拨码开关,程序中读取拨码开关作为地址,这样一共可以有16个设备,我们这里够用了。

afeionline 发表于 2014-6-24 23:33:38

3楼正解,自动增量

mydreamhouse 发表于 2014-6-25 00:19:51

就算地址自动分配,产品组装时怎么查找同一个网络的设备,这样不现实。目前主要是自动对码,或是最终产品测试包装时写入地址

achieveIEEE 发表于 2014-7-10 14:42:15

对码分配,easy

pirdoll 发表于 2014-7-10 14:43:38

achieveIEEE 发表于 2014-7-10 14:42
对码分配,easy

对码分配是何意?

FROG0007 发表于 2014-8-21 13:42:40

最终产品测试包装时写入地址,这个一个可实现的方法,上面说的对码分配,何解?

知行合一 发表于 2014-12-26 13:21:44

遇到同样的问题,求解!

_xiao-_-zhu_ 发表于 2015-1-5 15:12:36

我也想知道,目前我也不解,真诚希望明白的回一下

pirdoll 发表于 2015-1-5 15:28:17

知行合一 发表于 2014-12-26 13:21
遇到同样的问题,求解!

当时采用的方案是使用一个四位的拨码开关,程序中读取拨码开关作为地址,这样一共可以有16个设备,我们这里够用了。
应用层协议中包含一个字段为拨码开关的值即地址,收到的数据帧中地址匹配的才处理,类似于485总线。

pirdoll 发表于 2015-1-5 15:28:38

_xiao-_-zhu_ 发表于 2015-1-5 15:12
我也想知道,目前我也不解,真诚希望明白的回一下

当时采用的方案是使用一个四位的拨码开关,程序中读取拨码开关作为地址,这样一共可以有16个设备,我们这里够用了。
应用层协议中包含一个字段为拨码开关的值即地址,收到的数据帧中地址匹配的才处理,类似于485总线。

知行合一 发表于 2015-1-7 22:02:21

pirdoll 发表于 2015-1-5 15:28
当时采用的方案是使用一个四位的拨码开关,程序中读取拨码开关作为地址,这样一共可以有16个设备,我们这 ...

谢谢楼主!!!
页: [1]
查看完整版本: nrf24l01组网量产时地址配置的问题