At + Papacan无附任何事事会发现....

⚠️
Hi there.. thanks for coming to the forums. Exciting news! we’re now in the process of moving to our new forum platform that will offer better functionality and is contained within the main Dialog website. All posts and accounts have been migrated. We’re now accepting traffic on the new forum only - please POST any new threads athttps://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
13个帖子/ 0新
最后一篇
janosN
Offline
最后一次露面:3 months 1 week ago
加入:2020-11-16 14:59
At + Papacan无附任何事事会发现....

亲爱的支持团队,

我将SDK与DA14531Mod Dev.kit一起安装了带子板。我成功闪了一下codeless_531_set_two_standalone.bin

发行命令:

AT + AdvStop At + Central AT + GapStatus 1,0 OK AT + Papscan扫描扫描完成确定

它没有发现任何东西,但是我们周围有3-4个Blutooth设备。

One of the device which we wanted to read is a Ruuvi tag BLE Beacon:

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

Thanks....

PM_DIALOG.
Offline
最后一次露面:2天4小时前
职员
加入:2018-02-08 11:03
嗨Janosn,

嗨Janosn,

Thanks for your question online and for your interest in out TINY module BLE solution.

It seems that the sequence of the AT commands is correct. Can you find those devices in a BLE Generic application?

是否可以用另一个DA14531检查这一点?

谢谢,PM_DIALOG.

janosN
Offline
最后一次露面:3 months 1 week ago
加入:2020-11-16 14:59
嗨对话人员,

嗨对话人员,

感谢您的回答。关于你的第一个问题:是的,我可以用另一个扫描仪找到我的设备。我拿了覆盆子pi并安装了一个ble-scanner。这是结果:

pi@raspberrypi:~ $ sudo blescan Scanning for devices... Device (new): 64:1c:b0:89:2b:0e (public), -94 dBm (not connectable) Manufacturer: <75004204018060641cb0892b0e661cb0892b0d01b91baea59500> Device (new): 28:39:5e:3f:79:8e (public), -48 dBm Short Local Name: '[TV] Samsung 5 Series (43)' Flags: <1a> Manufacturer: <7500420401014128395e3f798e2a395e3f798dff000000000000> Device (new): df:c7:96:0d:31:89 (random), -57 dBm (not connectable) Flags: <06> Manufacturer: <990405146e4272beeafc48010cff40adb6013940dfc7960d3189> pi@raspberrypi:~ $

如您所见,它发现了三个设备,而我的da14531mod_devkit发现无。

关于使用其他DA14531模块的第二个问题;我们订购了10件DA14531微小模块。我想刷掉一些模块来测试AT +磁共振功能。我会尝试所有三个无附带的fw。我会向你报告结果....

谢谢您的支持。

PM_DIALOG.
Offline
最后一次露面:2天4小时前
职员
加入:2018-02-08 11:03
嗨Janosn,

嗨Janosn,

Yes please, try to configure a TINY module as a GAP peripheral and let me know if the module acting as GAP Central can find it over the air.

谢谢,PM_DIALOG.

janosN
Offline
最后一次露面:3 months 1 week ago
加入:2020-11-16 14:59
Dear PM_Dialog,

Dear PM_Dialog,

Now, as I can program the TINY modules (thanks to user: cole), I configured as you suggested; one as central and one as peripheral and now the central can scan the peripheral module:

AT+GAPSCAN SCANNING (*) 48:23:35:00:72:77,P, Type: ADV, RSSI:-24 (*) 48:23:35:00:72:77,P, Type: ADV, RSSI:-21 (*) 48:23:35:00:72:77,P, Type: ADV, RSSI:-22 SCAN COMPLETE OK

So, DA14531 Module to another module works. But still it can not scan anything else. As I mentioned earlier, I need to scan BLE sensors advertising temperature, pressure, humidity coded in Manufacture's code like this:

pi@raspberrypi:~ $ sudo blescan Scanning for devices... Device (new): df:c7:96:0d:31:89 (random), -57 dBm (not connectable) Flags: <06> Manufacturer: <990405146e4272beeafc48010cff40adb6013940dfc7960d3189> pi@raspberrypi:~ $

The sensor protocol is described on:

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

我几乎不相信这对此没有无附带的解决方案。我们甚至不需要与这些传感器的连接,只需扫描它们。因为在无附带内,只有3个FW版本,我尝试了所有这些。

如果可能没有无附加扫描,那么接下来是什么?

提前谢谢你。

PM_DIALOG.
Offline
最后一次露面:2天4小时前
职员
加入:2018-02-08 11:03
嗨Janosn,

嗨Janosn,

Could you please do a small change on the CodeLess firmware, re-build and run it?

In the user_on_adv_report_ind() please do the following change in the if-statement : remove theshow &&

最初的 :

if (show &&(param->report.evt_type == 0x00 || param->report.evt_type == 0x04)) // Only ADV_IND and SCAN_RESPONSE

修改的 :

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

谢谢,PM_DIALOG.

janosN
Offline
最后一次露面:3 months 1 week ago
加入:2020-11-16 14:59
Dear PM_Dialog,

Dear PM_Dialog,

感谢这一建议。我修改了文件:user_codeless.c

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

链接.... \ out_531 \ dodeless_531_datapump.axf:错误:l6050u:此图像的代码大小(32792字节)超出此版本的链接器允许的最大值。没有足够的信息来生成Symdefs文件。完成:1个信息,0警告,0个错误和1个致命错误消息。

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

要么我需要keil的许可,或者另一个选项就是对话框是如此善良,并将hex文件发送给我。

提前谢谢你。

PM_DIALOG.
Offline
最后一次露面:2天4小时前
职员
加入:2018-02-08 11:03
嗨Janosn,

嗨Janosn,

让我检查一下,我会回复你。

谢谢,PM_DIALOG.

sfenentes-digi.
Offline
最后一次露面:2个月4周前
加入:2021-01-18 09:26
任何解决方案?

任何解决方案?

PM_DIALOG.
Offline
最后一次露面:2天4小时前
职员
加入:2018-02-08 11:03
Hi sfuentes-digi,

Hi sfuentes-digi,

请看我以前的评论。应在user_on_adv_report_ind()中完成修改。

谢谢,PM_DIALOG.

sfenentes-digi.
Offline
最后一次露面:2个月4周前
加入:2021-01-18 09:26
嗨pm_dialog,

嗨pm_dialog,

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

我有同样的错误,还有另一个编译或其他方式的程序吗?

Thank.

janosN
Offline
最后一次露面:3 months 1 week ago
加入:2020-11-16 14:59
亲爱的PM-Dialog,

亲爱的PM-Dialog,

Dear Sfuentes-digi,

我在下面写下关于无附庸的更多细节AT+GAPSCAN问题。我在开始时的问题如下:

  1. 它没有别的扫描,只有其他对话框外围设备
  2. After receiving modification suggestion from Dialog it scanned much more peripheral devices. But it did NOT scan certain beacon devices I needed for telemetry data.
  3. It did NOT show the actual raw-data where measurement data coded. It listed only addresses, types and RSSI data.
  4. 如何使用Keil-Demo许可证编译项目,即使是原始无附属项目对于Keil链接器而言也太大了。

Nr.1 solved: what Dialog suggested to leave outshow &&like:

if (show &&(param->report.evt_type == 0x00 || param->report.evt_type == 0x04)) // Only ADV_IND and SCAN_RESPONSE*/

to:

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

To solve Nr.2:

examining the code above it was clear thatparam->report.evt_type负责AT + Papscan接受了什么样的广告。所以,我正在寻找一个描述这些类型的另一个文件。找到以下头文件真的很难:。。。\common\api\co_bt.h;在这里,第1340-1355行:

///Advertising HCI Type

enum

{

///可连接的无向广告

ADV_CONN_UNDIR = 0x00,

///Connectable high duty cycle directed advertising

adv_conn_dir,

///可发现的无向广告

adv_disc_undir,

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

adv_nonconn_undir,

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

adv_conn_dir_ldc,

///Enumeration end value for advertising type value check

adv_end.

};

在此枚举的0x00-0x05中,我们可以选择不同类型。所以,我只需要adv_nonconn_undir.(0x03 value) because the telemetry beacons advertise non-connectable undirected packets. You can read more about advertising types on:

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

if((param-> report.evt_type == 0x03))//只有Adv_nonconn_undir

现在列出了所有信标设备,其他信标设备都被筛选出来。

The last problem: where is my raw-data what the beacons supposed to transmit like temperature, air-pressure, humidity, x-y-z acceleration, battery-voltage?

To solve Nr.3:

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

char adv_rep_str [260];/ * 40 * / / *源自原始* / /*"(%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);

You see here the param->report.data[30] is the last byte in raw-data array. Of course, the original size of adv_rep_str[40] was not enough, it is now 260

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

上面的代码有点难看;我可以在循环中以更优雅的方式写入,但它有效,我以后这样做......

To solve Nr.4:I had a 30-day license from Keil which expired. I needed a way to reduce the code-size. See my previous topic:无附加项目规模还原 - 问题解决了....

Here I found 2 linesuser_at_commands.h.that you can comment out to gain more room:

//#define USE_AT_CONPARand//#定义use_at_bnd有效,在连接之后,报告的代码大小是:27812(for codeless_531_datapump). So, I can compile the project now without extra Keil license.”

It was a long explanation, but I think you can solve your AT+GAPSCAN problem. The whole modified function I zipped and enclosed together with the scree-shot showing the result.

感谢对话支持。

祝你好运,身体健康!

Regards,

Janos N.

附件:
sfenentes-digi.
Offline
最后一次露面:2个月4周前
加入:2021-01-18 09:26
非常感谢帮忙。

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

In order to compile I have had to comment more lines within the user_at_command.h, commenting only the two that you indicate increases the size of the program.
I highly appreciate the time you have taken to reply with your message, it was helpful.

Regards.