如何制作nrf51822 蓝牙蓝牙模块

还没有帐号? 赶紧
NRF51822 做的蓝牙通信手环PCB文件和原理图 .BOM等整套资料共享
在线时间14838小时
金币8046威望4649贡献值8505乐币17060好评度778RMB17176
提示:本版块需要(二级逆天)以上才能下载,请努力升级。
=700) window.open('/attachment/Day__c6008dede045.gif?37');" style="max-width:700" onload="if(is_ie6&&this.offsetWidth>700)this.width=700;" >&&&&&& (390 K) 下载次数:8 &
评价一下你浏览此帖子的感受
高速PCB设计学习交流群:
UID:15875
在线时间1987小时
金币7192威望3483贡献值1484乐币8307好评度-114RMB0
在线时间5300小时
金币264威望24贡献值26乐币150好评度-7RMB20
很不错的资料,谢谢分享!
UID:48170
在线时间1034小时
金币804威望232贡献值136乐币1450好评度10RMB0
地板是我的 ,板上那么多绿色的,是报错吗?
在线时间70小时
金币14威望27贡献值50乐币90好评度0RMB0
不错,谢谢吴老师分享
UID:45177
在线时间601小时
金币1747威望209贡献值599乐币3662好评度12RMB0
这资料不错,先收藏了。
UID:14825
在线时间26643小时
金币9783威望6341贡献值5433乐币13280好评度-12RMB5
采看看着了
在线时间59小时
金币67威望35贡献值19乐币410好评度0RMB0
很好的资料,谢谢老吴
UID:51180
在线时间16小时
金币161威望82贡献值2乐币10好评度0RMB0
应该是好东西,可惜级别不到
UID:25789
在线时间38小时
金币1威望76贡献值41乐币36好评度-15RMB0
好东西,学习下。。
UID:48032
在线时间0小时
金币100威望2贡献值21乐币17好评度0RMB0
UID:30103
在线时间780小时
金币382威望1284贡献值299乐币114好评度95RMB0
谢谢老大分享~
UID:33061
在线时间32小时
金币571威望97贡献值-5乐币15好评度-5RMB0
谢谢老大分享~&&&&&& 学习了~
UID:28851
在线时间1小时
金币0威望10贡献值5乐币0好评度0RMB0
很不错的资料,谢谢分享!
UID:53928
在线时间25小时
金币1威望0贡献值0乐币23好评度0RMB0
访问内容超出本站范围,不能确定是否安全
限150 字节
您目前还是游客,请
&回复后跳转到最后一页
Powered by &nbsp Copyright Time now is:02-26 07:49 &
版权所有 Gzip enabled
Total 0.341327(s) query 11, 问题咨询 | 广告业务&>&&>&&>&&>&nrf51822蓝牙原理图PCB文件
nrf51822蓝牙原理图PCB文件
上传大小:15.5MB
自己设计的nrf51822蓝牙pcb文件,在百度手环的基础上进行修改。制作完成后亲测可用
综合评分:0(0位用户评分)
所需积分:0
下载次数:30
审核通过送C币
创建者:caozhy
创建者:qq_
课程推荐相关知识库
上传者其他资源上传者专辑
开发技术热门标签
VIP会员动态
android服务器底层网络模块的设计方法
所需积分:0
剩余积分:720
您当前C币:0
可兑换下载积分:0
兑换下载分:
兑换失败,您当前C币不够,请先充值C币
消耗C币:0
你当前的下载分为234。
nrf51822蓝牙原理图PCB文件
会员到期时间:
剩余下载次数:
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:NRF51822蓝牙4.0模块-供应NRF51822蓝牙4.0模块-一步电子网
找产品-上一步电子网!
一步微信公众号
一步采购热线:
您当前位置: &
& 供应NRF51822蓝牙4.0模块
您是要采购NRF51822蓝牙4.0模块吗?,我会尽快联系你!让供应商主动找你。
注册会员1年
品牌:迅通
型号:PTR9048
所在地:北京-北京
联系方式:一步采购热线:
发布日期: 16:23:00 有效日期至
联系我时请告诉我是"一步电子网"看到的信息,会有优惠哦!谢谢
扫一扫, 手机浏览
产品名称:
NRF51822蓝牙4.0模块
所属类别:
NRF51822蓝牙4.0模块
蓝牙4.0协议模块,2.4G射频模块
Nordic Semiconductor nRF51822 是一款支持多协议的单芯片解决方案,广泛用于包括 PC 周边、上网电视遥控器、运动/健身/保健传感器、玩具以及自动化等应用。
NRF51822的特性:
1)Cortex-M0 内核,单指令32位乘法器,三级流水线,片上256KB FLASH,16KB RAM,NVM(类EEPROM),32个GPIO。
2)多协议 2.4GHz 射频收发器。支持BLE, Gazell™ 和用户自定义协议。通过设置寄存器可以与 Nordic 现有的 nRF24L 系列 IC 空中完全兼容。
3)在蓝牙低功耗模式下灵敏度为-92.5dB RX。
4)软件可编程输出功率,最低-20dBm-,最高可达 +4dBm 的输出功率。
5)当在LDO-1.8V供电模式,输出+4dBm功率时,工作电流仅为16mA(MCU+RADIO),当在DC-DC3V模式,输出+4dBm功率时,工作电流仅为10.5mA.。这个是业界最低,非常适合3V 纽扣电池供电的应用。
6)休眠模式2uA电流。
7)符合蓝牙低功耗(蓝牙 4.0 )标准。
8)场强RSSI。
9)最大数据率达2Mbps。
10)64位器件ID。BLE中可以用做身份识别。
NRF51822片上资源:
1)256kB 闪存和 16kB RAM .更有128KB闪存版本供用户低成本选择。
2)数字和混合信号周边,包括 片上温度传感器、RNG(随机数生成器)、10-bit ADC 以及正交解码器。
3)32个GPIO,任意引脚有触发中断功能,16 个PPI通道。
4)128-bit AES ECB/CCM/AAR协处理器。
5)3个32位定时/计数器2个24位RTC,2个最高可达到400Kbps的TWI,2个最到达8Mbps的SPI,一个最高可达到1Mbps的UART。
6)片上 LDO、DC-DC,宽电源范围1.8-3.6V。
7)片上+/- 250 ppm 32kHZ RC 振荡器,在蓝牙 低功耗应用,不需外部 32kHz 晶体,可节省成本和电路板空间,且32KHZ时钟源可以从16MHZ系统时钟分频获取。
8)6x6mm 48 脚 QFN ,WCSP封装,提供最多可达 32 个 GPIO。
NRF51822协议栈(S110)介绍:
完整的蓝牙协议堆栈。
nRF51822 的 S110是可下载、免版税、预编译二进制蓝牙低功耗堆栈,可独立编程和更新。
产品名称:NRF51822蓝牙4.0模块
*咨询详情:产品名称:
是什么价格?发货期几天?
北京诺迪克技术中心
所在地: -
地址:北京市朝阳区亮马桥路32号高斓大厦
联系人:薛先生(销售工程师)
手机:一步采购热线:因产品信息已过期,所以显示一步电子网的采购服务热线!我们将为您寻找更多的供应商!
联系我时请告诉我是"一步电子网"看到的信息,会有优惠哦!谢谢
公司相关产品
大量供应原厂超低功耗蓝牙4.0模块PTR9048
供应蓝牙4.0芯片nRF51822
免责声明:以上产品信息是由北京诺迪克技术中心发布,一步电子网仅列示上述信息,不担保该信息的准确性,完整性和及时性,也不承担您发生交易带来的任何损害,交易前请慎重考虑。一步电子网保留全部或部分删除上述报告的权利。风险防范建议:为保障您的利益,建议优先加入。请不要随意给陌生人汇款,以免上当受骗!。
联系人:薛先生
经营模式:生产型,贸易型
所在地区: -
企业类别:个体经营
一步电子网推荐相关产品今天看啥 热点:
BLE-NRF51822教程5-静态密码设置nordicBLE交流群这一讲介绍配对的一些相关理论知识,并且介绍如何实现”静态密码”的设定 程序是基于sdk9.0 下的 uart demo 另外 测试使用的手机app是 IOS下的lightblue。 这里准确的说法应该是叫配对码,而不是密码。输入这个这个配对码是配对过程中可选的一部分 介绍如何设置静态密码前先介绍一下配对的相关知识(后面都直接叫密码,而不是配对码) 起初未提供安全性的两个设备如果希望做一些需要安全性的工作,就必须先配对。配对涉及两个设备的身份认证,链路加密。如果配对时设置了绑定位,随后还会有一个秘钥分配。分配的秘钥用户可以存储在flash中这样两个设备再第二次重连时的安全启动会更快。而不需要像第一次一样需要再启动整个配对过程。 配对的第一个过程首先是配对信息的交换,这些信息用于确定认证方式,以及后续是否需要分配密钥以及分配哪些密钥。 交换的信息包括: 两端设备的输入输出能力如:是否有显示屏,键盘等。 是否需要绑定(如果设置了绑定位配对的)。 是否需要MITM,是否使用OOB等 这些信息会让BLE协议栈确定一种认证方式: 比如:
1:如果两端设备的输入输出能力有限,比如都没有键盘和显示器,认证方式就是just work,这其实就是没有认证,
2:如果两端设备一个有显示频,而另一个有键盘,而配对中设置了MITM保护。那么认证方式就是passkey entery。一端会显示一个配对码,另一需要输入这个配对码。之后的配对才能正确进行下去。
3:如果设置了OOB,那么这个配对码就是通过另外的通信方式(如NFC)来发送的,而不是像上面一样一端显示一端输入。 这一讲的密码设置就是第二种情况。显示的密码是可以随机的也可以是静态的。由于设备并没有显示器。但是我们仍然可以设置输入输出能力为有显示器,因为我们使用的是静态密码。
配对的过程不仅只是输入配对码这样,后续还会根据输入的配对码,以及两端设备交换的随机数来生成链路密钥来加密链路以及分配后续的长期密钥,身份解析密钥等需要的密钥 配对相关的理论比较多,上面的描述只是一个大概的过程。配对过程的详细介绍在蓝牙规范的 安全章节中。 根据上面的理论描述,我们来总结一下:
我们需要的输入“密码”这个功能,其实是配对过程中的一部分。而配对过程又是需要首先交换配对信息,然后协议栈会根据交换的信息才决定是否有输入密码这一过程。 那么我们要做的有如下几步:
1: 首先设置要输入的静态密码2: 设置配对时会交换的信息:根据上面的介绍如果我们需要手机输入密码,那么配对时就要设置只具有显示器(这样就会是一端显示,一端输入,虽然我们真的没显示器,但是设置的是静态密码所以也是可以的),设置需要MITM攻击保护。
3:触发配对。 下面先介绍如何设置静态密码: //首先定义一下静态密码,配对密码只能是 6-digit ASCII string #defineSTATIC_PASSKEY "123456"
/**< Static pin. *///改结构体中可以设置静态密码
staticble_opt_t
m_static_pin_定义了这两个参数后,我们需要设置一下静态密码,设置的操作需要在协议栈初始化之后 所以我们将设置密码操作放在 gap_params_init()函数的最后 如下: static void gap_params_init(void){ //前面都是设置一些设备名以及一些后续需要协商的连接参数
//详细解释在 串口透传剖析 中有说明 uint32_t err_ble_gap_conn_params_tgap_conn_ble_gap_conn_sec_mode_t sec_BLE_GAP_CONN_SEC_MODE_SET_OPEN(&sec_mode);err_code=sd_ble_gap_device_name_set(&sec_mode,(constuint8_t*DEVICE_NAME,trlen(DEVICE_NAME));APP_ERROR_CHECK(err_code);memset(&gap_conn_params, 0,sizeof(gap_conn_params));gap_conn_params.min_conn_interval = MIN_CONN_INTERVAL;gap_conn_params.max_conn_interval = MAX_CONN_INTERVAL;gap_conn_params.slave_latency= SLAVE_LATENCY;gap_conn_params.conn_sup_timeout= CONN_SUP_TIMEOUT;err_code = sd_ble_gap_ppcp_set(&gap_conn_params);APP_ERROR_CHECK(err_code); //以下是设置静态密码操作
uint8_tpasskey[] = STATIC_PASSKEY;
m_static_pin_option.gap_opt.passkey.p_passkey=//该系统调用执行密码的设置操作。
err_code=sd_ble_opt_set(BLE_GAP_OPT_PASSKEY,&m_static_pin_option) APP_ERROR_CHECK(err_code);
}到这里设置静态密码的操作就做完了。 然后是设置配对时要交换的信息: 下面定义我们需要交换的信息的宏,也就是和安全参数相关的一些宏。 //这里只是演示静态密码,不需要绑定 #define SEC_PARAM_BOND 0//因为要输入密码,就是一种MITM攻击保护,所以这里设置MITM #define SEC_PARAM_MITM 1//这里设置只有显示屏(其实没有,但是我们用的是事先知道的静态密码所以不// 需要显示) #define SEC_PARAM_IO_CAPABILITIES BLE_GAP_IO_CAPS_DISPLAY_ONLY//不使用带外数据 #define SEC_PARAM_OOB 0//链路加密密钥的长度 #define SEC_PARAM_MIN_KEY_SIZE 7#define SEC_PARAM_MAX_KEY_SIZE 16定义了宏之后我们需要在设置参数,写一个如下的函数。 m_sec_params 是一个全局变量 ble_gap_sec_params_t m_sec_static void sec_params_init(void){ m_sec_params.bond = SEC_PARAM_BOND;m_sec_params.mitm =SEC_PARAM_MITM;m_sec_params.io_caps =SEC_PARAM_IO_CAPABILITIES;m_sec_params.oob =SEC_PARAM_OOB;m_sec_params.min_key_size = SEC_PARAM_MIN_KEY_SIZE;m_sec_params.max_key_size = SEC_PARAM_MAX_KEY_SIZE;}将该函数放在 main函数的初始化流程中的conn_params_init(); 函数之后。 设置的这个全局变量会在配对启动后的信息交换中使用(因为其内部值就是要交换的信息)。 到这里我们设置完了配对启动后会交换的信息。但是怎么把这个信息给对端设备呢? 先看完最后一步的触发配对的问题,再来解决将配对信息发给对端设备的问题。 最后一步触发配对: 配对的触发有以下几种情况:
1:主机直接发起。
2:从机发起安全请求,如果之前绑定过,那么主机会直接用用保存的LTK加密链路,如果没有那么主机会发起配对请求。 3:BLE中的有一个安全模式的概念。当某个属性被设置为需要认证的加密链路访问时,那么当在主机访问从机的属**器时,如果链路是不安全的就会返回错误,然后主机会发起配对请求从而实现安全要求。 我们采用的就是第三种 被动等待主机触发的方式,那么首先要做的就是将一些属性设置为需要安全的链路才能访问,那么手机在访问时就会触发配对过程了。 因为我们是基于 9.0SDK 下的uartdemo,所以我们将具有notify 性质RX 特征值的 cccd(客户端配置描述符)设置为需要认证和加密的安全链路。 因为手机端使能notify是需要写CCCD的 那么当手连上板子后 点击rx特征值的notify 按钮后主机会发一个 写命令写板子上的rx特征值的cccd,因为初试链路是不完全的,那么这时手机就会返回写出错,然后启动配对过程。 设置如下: 在添加RX特征值的函数中做如下的简单就可以了。
这里只截取部分代码: static uint32_t rx_char_add(ble_nus_t * p_nus, constble_nus_init_t * p_nus_init){ /**@snippet [Addingproprietary characteristic to S110 SoftDevice] */ ble_gatts_char_md_tchar_ ble_gatts_attr_md_tcccd_ ble_gatts_attr_t attr_char_ ble_uuid_t ble_ ble_gatts_attr_md_tattr_memset(&cccd_md, 0, sizeof(cccd_md));BLE_GAP_CONN_SEC_MODE_SET_OPEN(&cccd_md.read_perm);//BLE_GAP_CONN_SEC_MODE_SET_OPEN(&cccd_md.write_perm);//将上面的一行修改成下面这行 BLE_GAP_CONN_SEC_MODE_SET_ENC_WITH_MITM(&cccd_md.write_perm);
cccd_md.vloc =BLE_GATTS_VLOC_STACK;memset(&char_md, 0, sizeof(char_md));·············· ·············· ············ }这样当对端设备(如手机)使能开发板的上rx特征值的notify功能时,就会
因为没有写权限而触发配对,手机会发来配对请求,然后板子回复配对信息, 怎么回复? 这就是第二步中最后留下的问题。如何将配对信息交给对端设 备(手机)。 当手机发来配对请求时,这对板子来说是一个事件,即配对事件。最终由 dispatch派发函数交给各个服务或模块的事件处理函数。 那么我们要做的就是在收到这个配对请求事件后回复第二步中设置的配对 信息就可以了。在main.c 文件中的的on_ble_evt做如下修改 staticvoidon_ble_evt(ble_evt_t * p_ble_evt){ uint32_terr_switch(p_ble_evt->header.evt_id) {caseBLE_GAP_EVT_CONNECTED:err_code= bsp_indication_set(BSP_INDICATE_CONNECTED); APP_ERROR_CHECK(err_code);m_conn_handle= p_ble_evt->evt.gap_evt.conn_caseBLE_GAP_EVT_DISCONNECTED:err_code= bsp_indication_set(BSP_INDICATE_IDLE); APP_ERROR_CHECK(err_code);m_conn_handle= BLE_CONN_HANDLE_INVALID;caseBLE_GAP_EVT_SEC_PARAMS_REQUEST: //注释掉原本的不支持配对的函数,改为如下的配对回复函数 //err_code= sd_ble_gap_sec_params_reply(m_conn_handle, //BLE_GAP_SEC_STATUS_PAIRING_NOT_SUPP, NULL, NULL);
err_code=sd_ble_gap_sec_params_reply(m_conn_handle,
BLE_GAP_SEC_STATUS_SUCCESS,&m_sec_params,NULL);
APP_ERROR_CHECK(err_code);caseBLE_GATTS_EVT_SYS_ATTR_MISSING: // No system attributes have beenstored.err_code=sd_ble_gatts_sys_attr_set(m_conn_handle, NULL, 0, 0); APP_ERROR_CHECK(err_code);default: // No implementation needed. }}到这里所有需要配置的都设置完了。程序运行后。手机连接上板子,然后访问rx特征值。因为该特征值是用来将板子数据通过Notify方式传给手机的,那么首先要点击手机上的notify按钮去使能板子的notify功能。当我们点击该按钮时就会弹出输入密码的配对框。
相关搜索:
相关阅读:
相关频道:
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
服务器硬件最近更新}

我要回帖

更多关于 nrf51822基本功能模块 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信