无代码AT+GAPSCAN找不到任何东西。。。。

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程//www.xmece.com/support.我们将在未来几天内修复bug/优化搜索和标记。
13个员额/0个新员额
最后一篇文章
janosn.
离线
最后一次见到:7个月3周前
加入:2020-11-16 14:59
无代码AT+GAPSCAN找不到任何东西。。。。

亲爱的支持团队:,

我用DA14531MOD dev.kit安装了带有子板的SDK。我成功地进行了闪存Dodeless_531_SET_TWO_STASTALONE.BIN.

发出命令:

在+adv停止在+CENTRAL在+GAPSTATUS 1,0正常在+GAPSCAN扫描完成正常

它没有发现任何东西,但我们有3-4个蓝牙设备。

我们想要阅读的设备之一是Ruuvi标签BLE BECON:

https://ruuvi.com/ruuvitag-specs/

谢谢....

PM_对话框
离线
最后一次见到:4小时8分钟前
工作人员
加入:2018-02-08 11:03
你好janosN,

你好janosN,

感谢您在线问题,并为您的兴趣进行小模块BLE解决方案。

似乎AT命令的序列是正确的。您可以在BLE通用应用程序中找到这些设备吗?

是否可以使用另一个DA14531检查此问题?

谢谢,下午好

janosn.
离线
最后一次见到:7个月3周前
加入:2020-11-16 14:59
嗨,对话组的工作人员,

嗨,对话组的工作人员,

谢谢你的回答。关于你的第一个问题:是的,我可以用另一台扫描仪找到我的设备。我用我的Raspberry Pi安装了一台BLE扫描仪。结果如下:

PI @ RaspBerryPI:〜$ Sudo Blescan扫描设备......设备(新):64:1C:B0:89:2B:0E(公共),-94 DBM(不可连接)制造商:<75004204018060641CB0892B0661CB0892B0D01B91BAEA59500>设备(新):28:39:5E:3F:79:8E(公共),-48 dBm少量本地名称:'[TV]三星5系列(43)'标志:<1A>制造商:<75004204014128395CE3F798E2A395E3F798DFF00000000000000>设备(新闻):DF:C7:96:0D:31:89(随机),-57 dBm(不可连接)标志:<06>制造商:<990405146E4272BEAFC48010CFF40ADB6013940DFC7960D3189> PI @ RaspbertyPI:〜$

如您所见,它找到了三个设备,而我的DA14531MOD_devkit找不到任何设备。

关于您与其他DA14531模块检查的第二个问题,我们订购了10个DA14531微型模块。我想闪存一些模块以测试AT+GAPSCAN功能。我将尝试所有三个无代码fw。我将向您报告结果。。。。

谢谢你的支持。

PM_对话框
离线
最后一次见到:4小时8分钟前
工作人员
加入:2018-02-08 11:03
你好janosN,

你好janosN,

是的,请尝试将微小的模块配置为间隙外围设备,并告诉我是否充当Gap Central的模块可以在空中找到它。

谢谢,下午好

janosn.
离线
最后一次见到:7个月3周前
加入:2020-11-16 14:59
亲爱的pm_dialog,

亲爱的pm_dialog,

现在,正如我可以编程微小模块(感谢User:Cole),我正如您所建议的那样配置;作为中央和一个作为外围,现在中央可以扫描外围模块:

AT + Papscan扫描(*)48:23:35:35:35:00:72:77,P,类型:ADV,RSSI:-24(*)48:23:35:00:72:77,P,类型:ADV,RSSI:-21(*)48:23:35:00:72:77,P,类型:ADV,RSSI:-22扫描完成确定

所以,DA14531模块到另一个模块工作。但它仍然无法扫描其他任何东西。正如我之前提到的那样,我需要扫描BLE传感器广告温度,压力,湿度在制造的代码中编码如下:

PI @ RASPBERYPI:〜$ SUDO BLESCAN扫描设备...设备(新):DF:C7:96:0D:31:89(随机),-57 dBm(不可连接)标志:<06>制造商:<990405146E4272BEAFC48010CFF40ADB6013940DFC7960D3189> pi @ raspberypi:〜$

传感器协议描述于:

https://github.com/ruuvi/ruuvi-sensor-protocols/blob/master/dataformat_0...

我几乎不相信没有无代码AT命令解决方案。我们甚至不需要这些传感器的BLE连接,只需扫描它们。无代码AT只有3个fw版本,我尝试了所有版本。

如果不可能进行无代码扫描,那么下一步怎么办?

事先非常感谢。

PM_对话框
离线
最后一次见到:4小时8分钟前
工作人员
加入:2018-02-08 11:03
你好janosN,

你好janosN,

请你能在无附庸前的固件上做一个小变化,重新建立并运行它吗?

在user_on_adv_report_ind()中,请在if-stalal中执行以下更改:删除展示 &&

首字母:

if(show &&(param-> report.evt_type == 0x00 || Param-> Report.evt_type == 0x04)))//只有adv_ind和scan_response

被改进的:

如果((param->report.evt_type==0x00 | | param->report.evt_type==0x04))//仅显示ADV_IND和SCAN_响应

谢谢,下午好

janosn.
离线
最后一次见到:7个月3周前
加入:2020-11-16 14:59
亲爱的pm_dialog,

亲爱的pm_dialog,

由于这个建议,我修改了文件:user\u codeless.c

编译项目时没有错误。但是链接器报告错误,代码大小超出了限制。

链接..\out_531\codeless_531_datapump.axf:错误:L6050U:此映像的代码大小(32792字节)超过此版本链接器允许的最大值。信息不足,无法生成SYMDEFs文件。完成:1条信息、0条警告、0条错误和1条致命错误消息。

我用最大优化O3(3级)编译。

要么我需要Keil的许可证,要么另一个选择是Dialog非常友好并向我发送十六进制文件。

事先非常感谢。

PM_对话框
离线
最后一次见到:4小时8分钟前
工作人员
加入:2018-02-08 11:03
你好janosN,

你好janosN,

让我检查一下,然后再打给你。

谢谢,下午好

数字软膏
离线
最后一次见到:7个月1周前
加入:2021-01-18 09:26
有解决办法吗?

有解决办法吗?

PM_对话框
离线
最后一次见到:4小时8分钟前
工作人员
加入:2018-02-08 11:03
嗨sfuentes-digi,

嗨sfuentes-digi,

请参阅我之前的评论。应在用户报告中进行修改。

谢谢,下午好

数字软膏
离线
最后一次见到:7个月1周前
加入:2021-01-18 09:26
你好,下午对话,

你好,下午对话,

感谢您这么快的回复,但我的意思是如果有任何解决方案来编译该文件。

我也有同样的错误,还有其他的编译程序还是其他方式?

谢谢。

janosn.
离线
最后一次见到:7个月3周前
加入:2020-11-16 14:59
亲爱的总理对话,

亲爱的总理对话,

亲爱的Sfentes-Digi,

下面我写了更多关于无代码的细节at +帕普斯坎问题。我一开始的问题如下:

  1. 它只扫描其他对话外围设备,而不扫描其他设备
  2. 从对话框收到修改建议后,它会扫描更多的外围设备。但它没有扫描Itemetry数据所需的某些信标设备。
  3. 它没有显示测量数据编码的实际原始数据。它仅列出了地址,类型和RSSI数据。
  4. 如何使用Keil demo许可证编译项目,即使是原始的无代码项目对Keil linker来说也太大了。

NR.1解决了:建议遗漏的对话展示 &&喜欢:

if(show &&(param-> report.evt_type == 0x00 || param-> report.evt_type == 0x04)))//只有adv_ind和scan_response * /

到:

if((param-> eport.evt_type == 0x00 || param-> report.evt_type == 0x04)))//仅adv_ind和scan_response * /

解决NR.2:

检查上面的代码很清楚param-> eport.evt_type.负责AT+GAPSCAN接受何种广告。因此,我正在寻找另一个描述这些类型的文件。很难找到以下头文件:... \ common \ api \ co_bt.h;此处为第1340-1355行:

///广告HCI类型

枚举

{

///可连接的无向广告

adv_conn_undir = 0x00,

///可连接的高占空比定向广告

高级控制主任,

///可发现的无定向广告

ADV_DISC_UNDIR,

///不可连接的无向广告

高级顾问,

///可连接的低占空比定向广告

高级控制主任,

///枚举终端值用于广告类型值检查

ADV_END

};

在0x00-0x05的枚举中,我们可以选择不同的类型未经批准(0x03值)因为遥测信标识宣传不可连接的无向数据包。您可以阅读更多关于广告类型的信息:

https://www.novelbits.io/bluetooth-low-energy-advertisements-part-1/(滚动到页面中间…)因此,我进一步修改了该功能:

if((param->report.evt_type==0x03))//仅ADV_noncn_UNDIR

现在,列出了所有的信标设备,并过滤掉了其他设备。

最后一个问题:我的原始数据在哪里信标应该像温度,气压,湿度,x-y z加速,电池电压一样传输?

解决NR.3:

为此,您需要进一步修改函数以

char adv_rep_str[260];/*原件40*//*orig*/ /* "(%c) %02X:%02X:%02X:%02X:%02X:%02X,%c, Type: %s, RSSI:%d\r\n" */ /*changed*/ /* "(%c) %02X:%02X:%02X:%02X:%02X:%02X,%c, Type: %s, RSSI:%d\r\nRawData-length:\r\n %d\r\n" */ arch_sprintf(adv_rep_str, "(%c) %02X:%02X:%02X:%02X:%02X:%02X,%c, Type: %s, RSSI:%d, RawData-lenght:%d\r\n" " RawData(hex): %02X;%02X;%02X;%02X;%02X;%02X;%02X;%02X;%02X;%02X;%02X;%02X;%02X;%02X;%02X;" "%02X;%02X;%02X;%02X;%02X;%02X;%02X;%02X;%02X;%02X;%02X;%02X;%02X;%02X;%02X;%02X" "\r\n", codeless_service, param->report.adv_addr.addr[5], param->report.adv_addr.addr[4], param->report.adv_addr.addr[3], param->report.adv_addr.addr[2], param->report.adv_addr.addr[1], param->report.adv_addr.addr[0], address_type, type_str, param->report.rssi - 255, sizeof(param->report.data), param->report.data[0], param->report.data[1], param->report.data[2], param->report.data[3], param->report.data[4], param->report.data[5], param->report.data[6], param->report.data[7], param->report.data[8], param->report.data[9], param->report.data[10], param->report.data[11], param->report.data[12], param->report.data[13], param->report.data[14], param->report.data[15], param->report.data[16], param->report.data[17], param->report.data[18], param->report.data[19], param->report.data[20], param->report.data[21], param->report.data[22], param->report.data[23], param->report.data[24], param->report.data[25], param->report.data[26], param->report.data[27], param->report.data[28], param->report.data[29], param->report.data[30] ); send_to_local(adv_rep_str);

您在这里看到Param-> Report.Data [30]是原始数据阵列中的最后一个字节。当然,Adv_rep_str [40]的原始大小还不够,现在是260

char adv_rep_str[260];/*原件40*/

上面的代码有点难看;我本可以在循环中以更优雅的方式编写,但它可以工作,我稍后再做…

解决NR.4:我有一个30天的keil许可证到期。我需要一种减少代码大小的方法。查看我之前的主题:无代码项目规模缩减-问题已解决。。。。

在这里,我发现了2行用户_at_命令.h你可以评论出更多的房间:

//#定义USE_AT_CONPAR//#定义使用在已生效,链接后,报告的代码大小为:27812(对于Dodeless_531_DataPump)。所以,我现在可以在没有额外的KEIL许可证的情况下编译项目。“

这是一个很长的解释,但我认为你可以解决你的AT +烟道问题。整个修改的功能我拉链和封闭在一起显示结果。

感谢Dialog的支持。

祝你好运,身体健康!

问候,

Janos N.

附件:
数字软膏
离线
最后一次见到:7个月1周前
加入:2021-01-18 09:26
非常感谢你的帮助。

非常感谢你的帮助。现在我可以看到我的设备了。

为了编译我必须在user_at_command.h中发表更多的行,只评论你指示的两种增加了增加了程序的大小。
我非常感谢您对您的信息回复的时间,这很有帮助。

问候。