亲爱的支持团队,
我将SDK与DA14531Mod Dev.kit一起安装了带子板。我成功闪了一下无代码\u 531\u集\u两个\u独立.bin
发行命令:
AT + AdvStop At + Central AT + GapStatus 1,0 OK AT + Papscan扫描扫描完成确定
它没有发现任何东西,但是我们周围有3-4个Blutooth设备。
我们想要阅读的设备之一是Ruuvi标签可移动信标:
https://ruuvi.com/ruuvitag-specs/
谢谢
嗨Janosn,
感谢您在网上提出的问题以及您对我们的解决方案的兴趣。
似乎AT命令的顺序是正确的。你能在一个可扩展的通用应用程序中找到这些设备吗?
是否可以用另一个DA14531检查这一点?
谢谢,PM_DIALOG.
嗨对话人员,
感谢您的回答。关于你的第一个问题:是的,我可以用另一个扫描仪找到我的设备。我拿了覆盆子pi并安装了一个ble-scanner。这是结果:
如您所见,它发现了三个设备,而我的da14531mod_devkit发现无。
关于使用其他DA14531模块的第二个问题;我们订购了10件DA14531微小模块。我想刷掉一些模块来测试AT +磁共振功能。我会尝试所有三个无附带的fw。我会向你报告结果....
感谢您的支持。
嗨Janosn,
是的,请尝试将一个小模块配置为GAP外围设备,并让我知道作为GAP中心的模块是否可以在空中找到它。
谢谢,PM_DIALOG.
亲爱的总理对话,
现在,由于我可以对微小的模块进行编程(感谢用户:cole),我按照您的建议进行了配置;一个作为中央,一个作为外围,现在中央可以扫描外围模块:
因此,DA14531模块到另一个模块工作。但它仍然不能扫描其他任何东西。如前所述,我需要扫描制造商代码中编码的BLE传感器广告温度、压力、湿度,如下所示:
传感器协议描述如下:
https://github.com/ruuvi/ruuvi-sensor-protocols/blob/master/dataformat_0 ...
我几乎不相信这对此没有无附带的解决方案。我们甚至不需要与这些传感器的连接,只需扫描它们。因为在无附带内,只有3个FW版本,我尝试了所有这些。
如果可能没有无附加扫描,那么接下来是什么?
提前谢谢你。
嗨Janosn,
你能在无代码固件上做一个小改动,重新构建并运行它吗?
在user_on_adv_report_ind()中,请在if语句中执行以下更改:删除展示&&
最初的 :
修改的 :
谢谢,PM_DIALOG.
亲爱的总理对话,
感谢这一建议。我修改了文件:user_codeless.c
编译项目没有错误。但是链接器报告了代码大小超出限制的错误。
我编译了最大优化O3(级别3)。
要么我需要keil的许可,或者另一个选项就是对话框是如此善良,并将hex文件发送给我。
提前谢谢你。
嗨Janosn,
让我检查一下,我会回复你。
谢谢,PM_DIALOG.
任何解决方案?
嗨,我是迪吉夫人,
请看我以前的评论。应在user_on_adv_report_ind()中完成修改。
谢谢,PM_DIALOG.
嗨pm_dialog,
谢谢你这么快,但我的意思是如果有任何解决方案来编译文件。
我有同样的错误,还有另一个编译或其他方式的程序吗?
感谢
亲爱的PM-Dialog,
亲爱的斯芬特斯·迪吉,
我在下面写下关于无附庸的更多细节在+间隙扫描问题。我在开始时的问题如下:
第1条:什么对话框建议省略展示&&比如:
if(show&(param->report.evt_type==0x00 | | param->report.evt_type==0x04))//仅显示ADV_IND和SCAN_响应*/
致:
如果((param->report.evt_type==0x00 | | param->report.evt_type==0x04))//仅显示ADV_IND和SCAN_响应*/
要解决第2条:
通过检查上面的代码,很明显参数->report.evt_类型负责AT + Papscan接受了什么样的广告。所以,我正在寻找一个描述这些类型的另一个文件。找到以下头文件真的很难:…\common\api\co\u bt.h;在这里,第1340-1355行:
///广告HCI类型
枚举
{
///可连接的无向广告
ADV_CONN_UNDIR=0x00,
///可连接的高占空比定向广告
adv_conn_dir,
///可发现的无向广告
adv_disc_undir,
///不可连接的无向广告
adv_nonconn_undir,
///可连接的低占空比定向广告
adv_conn_dir_ldc,
///用于广告类型值检查的枚举结束值
adv_end.
};
在此枚举的0x00-0x05中,我们可以选择不同类型。所以,我只需要adv_nonconn_undir.(0x03值),因为遥测信标宣传不可连接的无向数据包。有关广告类型的更多信息,请访问:
https://www.novelbits.io/bluetooth-low-energy-advertisements-part-1/(滚动到页面的中间......)因此,我进一步修改了以下功能:
if((param-> report.evt_type == 0x03))//只有Adv_nonconn_undir
现在列出了所有信标设备,其他信标设备都被筛选出来。
最后一个问题:我的原始数据在哪里?信标应该传输的数据,如温度、气压、湿度、x-y-z加速度、电池电压?
要解决第3条:
为此,您需要进一步修改函数
您可以在这里看到param->report.data[30]是原始数据数组中的最后一个字节。当然,adv_rep_str[40]的原始尺寸还不够,现在是260
char avd_rep_str [260];/ *原装40 * /
上面的代码有点难看;我可以在循环中以更优雅的方式写入,但它有效,我以后这样做......
要解决第4条:我从Keil那里拿到了30天的驾照,已经过期了。我需要一种减少代码大小的方法。请参阅我的上一个主题:无附加项目规模还原 - 问题解决了....
在这里我发现了两条线user_at_commands.h.您可以将其注释掉以获得更多空间:
“//#在会议上定义使用和//#定义use_at_bnd有效,在连接之后,报告的代码大小是:27812(适用于无代码_531_数据泵)。因此,我现在可以编译该项目,而无需额外的Keil许可证。”
这是一个很长的解释,但我认为你可以解决你的AT+GAPSCAN问题。我将整个修改后的函数压缩并与显示结果的屏幕截图一起封装。
感谢对话支持。
祝你好运,身体健康!
当做
亚诺斯N。
非常感谢帮忙。现在我可以看到我的设备。
为了编译,我不得不在用户_at_command.h中注释更多的行,只注释您指出的增加程序大小的两行。
我非常感谢您花时间回复您的邮件,这是很有帮助的。
当做