NRF 52832 蓝牙 如何发送自定义广播报文

这个是我下载nordic_template 程序到开发板上 用nrf connect 工具 获取的数据,
现在我需要发送自定义的广播报文,该怎么修改呢,
这个是广播初始化函数:

static void advertising_init(void)
{
uint32_t err_code;
ble_advdata_t advdata;
ble_adv_modes_config_t options;

// Build advertising data struct to pass into @ref ble_advertising_init.
memset(&advdata, 0, sizeof(advdata));

advdata.name_type               = BLE_ADVDATA_FULL_NAME;
advdata.include_appearance      = false;
advdata.flags                   = BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE;

// advdata.uuids_complete.uuid_cnt = sizeof(m_adv_uuids) / sizeof(m_adv_uuids[0]);
// advdata.uuids_complete.p_uuids = m_adv_uuids;

  static ble_advdata_manuf_data_t manuf_data;
static uint8_t mydata = 0;  //?????????
                        //?????????????????
                        //?,???????????????1
manuf_data.company_identifier = 0xC7;
manuf_data.data.size = 1;
manuf_data.data.p_data = &mydata;

//mydata++; //??????1
advdata.p_manuf_specific_data = &manuf_data;


memset(&options, 0, sizeof(options));
options.ble_adv_fast_enabled  = true;
options.ble_adv_fast_interval = APP_ADV_INTERVAL;
options.ble_adv_fast_timeout  = APP_ADV_TIMEOUT_IN_SECONDS;

err_code = ble_advertising_init(&advdata, NULL, &options, on_adv_evt, NULL);
APP_ERROR_CHECK(err_code);

}

没有在广播初始化中代码中找到 关于第三行数据 2 0x09 0x4E ,的定义
自定义的广播报文应该放在什么地方?
请大神支招

3个回答

0x09就是BLE_GAP_AD_TYPE_COMPLETE_LOCAL_NAME,你广播数据中添加了advdata.name_type = BLE_ADVDATA_FULL_NAME;

hxy1596
hxy1596 回复zili_zq: 建议你自己按照广播包的格式自己组织广播包。
接近 2 年之前 回复
zili_zq
zili_zq 注释掉这行,第三行报文就没有了
接近 2 年之前 回复

图片说明 这个是用NRF connect 获取的数据

这个是用NRF connect 获取的数据

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
nRF 52832 SoftDeive_s132_nrf52_3.1.0
s132_nrf52_3.1.0 This version of the SoftDevice improves robustness to bit errors in received packets and adds some minor features compared to version 3.0.0. Memory requirements and functional performance are equivalent to version 3.0.0. Refer to the release notes of version 3.0.0 for further information. New functionality GAP It is now possible to disable and enable slave latency on an active peripheral link. A new option in the GAP options API has been added for this (DRGN-7831). It is now possible to disable the initiation of DLE procedure. A new option in the GAP options API has been added for this (DRGN-8248). It is now possible to respond with the configured ATT_MTU size during DLE procedure. Default behavior is to respond with the currently used ATT_MTU size. A new option in the GAP options API has been added for this (DRGN-8335). It is now possible to completely disable the DLE feature. A new option in the GAP options API has been added for this (DRGN-8172). A new compatibility mode has been added to enable interoperability with central devices that may initiate version exchange and feature exchange control procedures in parallel (DRGN-8232).
nRF 52832 SoftDeive_s132_nrf52_4.0.4
s132_nrf52_4.0.4 This is a production release that contains minor but important changes to the 4.0.3 release. SoftDevice properties The SoftDevice Specification v4.1, available in the Nordic Semiconductor Infocenter, is applicable for this release. This version of the SoftDevice contains the Master Boot Record (MBR) version 2.1.1 (DRGN-8649). The combined MBR and SoftDevice memory requirements for this version are as follows: Flash: 124 kB (0x1F000 bytes). RAM: 4.94 kB (0x13C0 bytes) This is the minimum required memory. The actual requirements depend on the configuration chosen at sd_ble_enable() time.
发送自定义广播 之 标准广播
之前章节介绍了,如何接收广播。本章节介绍,如何发送自定义的广播,并接收到它。 本章节实现,在程序界面上,通过点击一个按钮发送出一条广播,程序的广播接收器同时接收到该条广播,并弹出接收到该条广播的提示信息。
Android 发送自定义广播
1.发送标准广播 在发送广播之前,我们需要先定义一个广播接收器来准备接收此广播才行,不然发出去也是白发, 创建MyBroadcastReceiver.代码如下:public class MyBroadcastReceiver extends BroadcastReceiver{ @Override public void onReceive(Context con
发送自定义广播
一 发送标准广播
发送自定义广播 之 有序广播
之前章节介绍了如何发送和接收标准广播。标准广播发送后,可以被多个广播接收器同时接收到。除了标准广播,还有有序广播。对于有序广播,广播接收器接收广播是有先后顺序的,而且前面的广播接收器还可以将广播截断,阻止其继续传播。
自定义广播发送和接收
1、静态注册 1)先在 MainActivity 里面 新建一个 含有action 的 intent 2) 在 intent 里面添加键值 、 数据。 3)发送广播 package com.example.lum.mydroadcast; import android.content.Intent; import android.support.v7.app.AppCompatA...
Android发送自定义广播
Android系统不仅存在系统级广播,用户也可以自定义广播。Android系统中的广播可以分为两种类型:1.标准广播 2.有序广播。 1.标准广播        标准广播完全异步执行,在广播发出之后,所有的广播接收器几乎可以同时接收到这条广播消息,这种广播的效率比较高,但是意味着它无法被截断。 2.有序广播        有序广播是同步执行的广播,在广播发出之后,同一时刻只会有一个广播接收...
Android开发之发送自定义广播
定义广播接收器 package com.example.mybroadcastreceiver; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.widget.Toast; public
蓝牙学习之旅——低功耗蓝牙之广播报文SCAN_REQ
(一) SCAN_REQ净荷如下: ScanA(Scanner Address)域是public(TxAdd=0)还是random(TxAdd=1)由净荷头中TxAdd域决定。 AdvA(Advertiser Address)域是public(RxAdd=0)还是random(RxAdd=1)由净荷头中RxAdd域决定。 (二)
蓝牙学习之旅——低功耗蓝牙之广播报文CONNECT_REQ
(一) CONNECT_REQ净荷如下: InitA(Initiator Address)域是public(TxAdd=0)还是random(TxAdd=1)由净荷头中TxAdd域决定。 AdvA(Advertiser Address)域是public(RxAdd=0)还是random(RxAdd=1)由净荷头中RxAdd域决定。 (二)
蓝牙学习之旅——低功耗蓝牙之广播报文SCAN_RSP
(一) SCAN_RSP净荷如下: AdvA(Advertiser Address)域是public(TxAdd=0)还是random(TxAdd=1)由净荷头中TxAdd域决定。 ScanRspData域包含所有Advertiser‘s Host发出的数据。 (二) 上图是一个完整的SCAN_RSP报文,被解析后如下图所示
蓝牙学习之旅——低功耗蓝牙之广播报文ADV_DIRECT_IND
(一) ADV_DIRECT_IND净荷如下: AdvA(Advertiser Address)域是public(TxAdd=0)还是random(TxAdd=1)由净荷头中TxAdd域决定。 InitA(Initiator Address)域是public(RxAdd=0)还是random(RxAdd=1)由净荷头中RxAdd域决定。 (二) 上图是
蓝牙学习之旅——低功耗蓝牙之广播报文ADV_IND
上图是一个完整的ADV_IND报文,被解析后如下图所示 (1)前导Preamble:0xaa (2)接入地址Access Address:0x8e89bed6(广播报文的接入地址是固定的) (3)净荷PDU ①PDU Type:ADV_IND,占4比特 ②Advertiser Address Type:public,占1
nrf蓝牙抓包工具
nrf蓝牙的数据包抓取工具 有ble-sniffer_win_1.0.1,Wireshark-win64
蓝牙学习之旅——低功耗蓝牙之报文(广播报文&数据报文)
1.低功耗蓝牙规范中,有两类报文:广播报文和数据报文。 (1)设备利用广播报文发现、连接其它设备。一旦连接建立之后,则开始使用数据报文。 (2)低功耗蓝牙规定了3个广播信道和37个数据信道。 2.无论是广播报文还是数据报文,链路层只使用一种数据包格式: 注:报文是一比特一比特传输的,且从最低位开始。 (1)Preamble前导 报文最开始的8bits是01010101或
发送自定义广播:跨进程通信、发送有序广播、发送标准广播、本地广播
发送标准广播 1.新建一个广播接收器MyBroadcastReceiver package com.example.broadcasttest; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.widget...
Android之广播三(发送自定义广播)
Android之广播三(发送自定义广播) 一,发送标准广播 在发送广播之前,我们还是需要先定义一个广播接收器来准备接收此广播才行,不然发 出去也是白发。因此新建一个 MyBroadcastReceiver继承自 BroadcastReceiver,代码如下所示: public class MyBroadcastReceiver extends BroadcastReceiver { @Ov
发送 自定义广播 +广播的一些知识
自定义广播的发送: 1:新建一个类继承BroadcastReceiver 2:在AndroidManifest中增加意图过滤器并给它添加一个action: 3:在MainActivity利用Intent来发送广播: 这样就完成了自定义广播的发送! 补充:上边的是发送标准广播,还可以发送有序广播:sendOrderedBroadcast(有序广播可以拦截:abortBroadcast),还能设...
Android广播之发送自定义广播+本地广播(二)
一、发送标准广播在上一篇文章介绍了如何接收广播,这一篇准备介绍如何发送。 我们要发送首先得有一个广播接收器才能看到我们所发送的,不然发了也没用,所以先定义一个静态接收器。 1、静态接收器代码//定义一个接受的 public class BootCompleteReceiver extends BroadcastReceiver{ @Override public void onRece
1min了解广播(3)-发送自定义广播
今天我们一起来学习一下如何在应用程序中发生自定义的广播,前面已经介绍过了,广播主要分为两种类型,标准广播和有序广播,在本节中我们就将通过实践的方式来看下这两种广播具体的区别。 发送标准广播 在发送广播之前,我们还是需要先定义一个广播接收器来准备接收此广播才行,不然发出去也是白发。因此新建一个MyBroadcastReceiver 继承自BroadcastReceiver,代码如下所示:
发送并接收自定义广播(标准广播)
首先我们先静态注册一个广播接收器: 右击包名,在打开的快捷菜单中选择New–Other–Broadcast Receiver 然后输入名字,我这里输入的是MyReceiver,并勾选enable和exported enable表示是否启用 exported表示是否接收本程序以外的广播 接着就会得到一个类并继承BroadcastReceiver类,代码如下: public class MyRecei...
Broadcast学习之发送自定义广播
今天我们学习Android broadcast中如何发送自定义的广播。广播主要分为两种类型,标准广播和有序 广播。 在API文档中关于BroadcastReceiver的概述: 广播接收器是一个专注于接收广播通知信息,并做出对应处理的组件。很多广播是源自于系统代码的──比如,通知时区改变、电池电量低、拍摄了一张照片或者用户改变了语言选项。应用程序也可以进行广播──比如说,通知其
Android 发送系统广播与自定义广播
android系统会发送许多系统级别的广播,比如屏幕关闭,电池电量低等广播。同样应用可以发起自定义“由开发者定义的”广播。 (1)发送自定义的广播package com.hmkcode.android;import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.
自定义广播发送端源码
自定义广播发送端源码
android电台发送自定义的广播
android的电台发送自定义的广播demo 利用广播实现数据传输等
Android蓝牙之反编译nRF Connect
最近在弄蓝牙的这一块的的读写操作,为了能好的读写就参考了下nRF connect。但是这哥儿不开源,没办法就反编译了下,查看了几个类(类太多了)。主要是参考也没时间整理,暂时只看了这几个类。 no.nordicsemi.android.mcp.connection.DeviceDetailsFragment2 这个是设备详情页,里面有连接的设备信息,包括各种服务UUID和特征UUID。noti
自定义广播接收器实时监听系统蓝牙广播。
随着物联网智能时代的来临,作为必不可少的通讯模块之一的蓝牙,充当着无比重要的作用。带着物联网的新潮,本项目实战将带大家方方面面地认识蓝牙模块HC05 ,0开始编写下位机到上位机代码,带你认识全方位的Android开发对接蓝牙模块HC05流程,课程实战用一个蓝牙灯作为项目需求。学习完之后,您将完全可以二次开发,做属于自己的“智能家居”方案。
广播的发送 和 广播的分类
刚才介绍了广播的接收,现在介绍下广播的发送,广播的类型有如下几种:1.系统广播(wife,开机,电量,这些都是发广播的)2.普通广播(intent开发者自己定义)sendBrodacast(intent)就行 首先我们来看一下发送端的acitvity1.这是它的xml文件,里面只有一个Button xml version="1.0" encoding="utf-8"?> LinearLayou
52832的广播和连接功耗理论值计算方法
https://devzone.nordicsemi.com/power/注意,其中的蓝牙是用内部DCDC来测试的,若用外部的LDO测试功耗会多10uA左右吧,DCDC测试需要接DCC脚的2个电感+1个电容!故一般都用的是外部LDO电路,简单。...
php 如何发送xml报文
[code=php]rn POST HTTP/1.0rn  USER-Agent: rn  Content-Type: application/x-foxrn  Content-Length: nnnn  rn  rn  rn  rn  ...rn  [/code]rnrn现在要发送如上格式的xml数据,试过curl但不成功,大家帮帮忙
广播的发送
用于以后回忆的包,供自己学习理解。更好的理解广播的接收和发送。
自定义广播(标准广播)
自定义广播(标准广播)
广播发送
建立一个布局文件<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activit
广播和自定义广播事件
1,注册自定义的广播事件,这儿的“com.sdingba.bro.aa.bb”为自定义名字,并且registerReceiver注册广播事件registerReceiver(new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent)
42.android广播-自定义广播
自定义广播和系统广播不一样的是,action是自定义的自己随便定义,在清单文件中体现,这个在现实中用的很少,大部分都是接受系统广播。 代码示例 app1:发送广播(专门发广播) activity_main.xml &amp;lt;RelativeLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot; xmlns:...
Android8.0在自定义广播发送和接收者时的问题
安卓8.0在自定义广播发送和接收者时的问题 首先先贴出8.0之前自定义广播接收者时的代码。 先定义一个发送广播的按钮,用来发送广播 Intent intent = new Intent(); intent.setAction(&quot;com.itcast.interceptcall.broadcast&quot;); intent.putEx...
系统app发送自定义广播报错
报错信息如下: Sending non-protected broadcast xxxx from system xxx:xxxxxx 需在AndroidManifest.xml中将要发送的action添加为 protected-broadcast 权限,如下: &lt;protected-broadcast android:name="xxxxxxxx" /&gt; ...
【第一行代码】5.3.2发送自定义广播
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button=findViewById(R.id.button); butt...
【BLE】CC2541之通过广播发送自定义数据
本篇以SimpleBLEPeripheral为例,将自定义的数据写入广播数据中,通过一个周期事件定时刷新广播数据
相关热词 c# 去空格去转义符 c#用户登录窗体代码 c# 流 c# linux 可视化 c# mvc 返回图片 c# 像素空间 c# 日期 最后一天 c#字典序排序 c# 截屏取色 c#中的哪些属于托管机制