搜索
bottom↓
回复: 18

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

[复制链接]

出0入0汤圆

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

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2013-4-1 13:18:36 | 显示全部楼层
我用的stm8 + CC1101   STM8不是有内部ID么  cc1101不是也有内部ID么 还全球唯一呢   

出0入0汤圆

发表于 2013-4-1 13:19:55 | 显示全部楼层
某些单片机的烧写软件提供了“自动增量”,就是让程序文件指定地址的数据在烧写一次后自动增加指定的值,比如STC-ISP
如果没有这种软件,那就用VB写一个,用来修改程序文件的某些字节。

出0入0汤圆

 楼主| 发表于 2013-4-1 13:36:37 | 显示全部楼层
lcw_swust 发表于 2013-4-1 13:19
某些单片机的烧写软件提供了“自动增量”,就是让程序文件指定地址的数据在烧写一次后自动增加指定的值,比 ...

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

出0入0汤圆

发表于 2013-4-1 13:37:36 | 显示全部楼层
自古真相出二楼。

出0入0汤圆

 楼主| 发表于 2013-4-1 13:42:14 | 显示全部楼层
linyu0395 发表于 2013-4-1 13:18
我用的stm8 + CC1101   STM8不是有内部ID么  cc1101不是也有内部ID么 还全球唯一呢    ...

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

出0入0汤圆

发表于 2014-3-15 16:14:53 | 显示全部楼层
pirdoll 发表于 2013-4-1 13:42
谢谢你的回复,因为mcu用的stm32,开始也考虑用id作为地址,但是stm32的id是96bit的,而nrf24l01的地址最 ...

跳频做吧。楼主。

出0入0汤圆

发表于 2014-6-20 12:19:39 | 显示全部楼层
遇到同样的问题  求真相

出0入0汤圆

 楼主| 发表于 2014-6-21 10:55:34 | 显示全部楼层
曾如兵 发表于 2014-6-20 12:19
遇到同样的问题  求真相

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

出0入0汤圆

发表于 2014-6-24 23:33:38 | 显示全部楼层
3楼正解,自动增量

出0入0汤圆

发表于 2014-6-25 00:19:51 | 显示全部楼层
就算地址自动分配,产品组装时怎么查找同一个网络的设备,这样不现实。目前主要是自动对码,或是最终产品测试包装时写入地址

出0入0汤圆

发表于 2014-7-10 14:42:15 | 显示全部楼层
对码分配,easy

出0入0汤圆

 楼主| 发表于 2014-7-10 14:43:38 | 显示全部楼层

对码分配是何意?

出0入0汤圆

发表于 2014-8-21 13:42:40 | 显示全部楼层
最终产品测试包装时写入地址,这个一个可实现的方法,上面说的对码分配,何解?

出0入0汤圆

发表于 2014-12-26 13:21:44 | 显示全部楼层
遇到同样的问题,求解!

出0入0汤圆

发表于 2015-1-5 15:12:36 | 显示全部楼层
我也想知道,目前我也不解,真诚希望明白的回一下

出0入0汤圆

 楼主| 发表于 2015-1-5 15:28:17 | 显示全部楼层
知行合一 发表于 2014-12-26 13:21
遇到同样的问题,求解!

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

出0入0汤圆

 楼主| 发表于 2015-1-5 15:28:38 | 显示全部楼层
_xiao-_-zhu_ 发表于 2015-1-5 15:12
我也想知道,目前我也不解,真诚希望明白的回一下

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

出0入0汤圆

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

谢谢楼主!!!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-25 23:02

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表