近期由于钥匙的事情,研究了下官方自带的ble_app_proximity程序,事实上就是跟防丢有关系的程序. 同一时候也发现了看nordic程序的一些门道,主要还是看协议栈里面的一些service,首先从宏观上了解了.然后再细看,比现在天我们想做一个跟防丢有关的项目,那全然能够參考proximity这个程序.为什么參考它,那首先看看他们的服务. 上位机软件 Nordic Toolbox 硬件:AK II,程序:ble_app_proximity 1,TX Power Service - 发射功率…
一.前言 最近将整个电脑格式化,改成了linux操作系统 希望这样能让自己在一个新的世界探索技术.提升自己吧- win上的工具用多了,就不想变化了- 继上一篇<ubuntu上安装虚拟机遇到的问题(vmware坑了,virtual-box简单安装,在virtual-box中安装精简版win7)> link:http://www.cnblogs.com/zjutlitao/p/5061917.html 遇到的在ubuntu上装虚拟机坑之后,接下来又遇到了一个新的问题—— 如何在在ubuntu上安装…
前言 之前辞职找工作的时候发现,很多公司希望招聘蓝牙技术方面的人才,所以干脆丢开LWIP静下心来学习蓝牙技术.原本以为一两星期能基本学会的,谁知道所选的蓝牙芯片nrf51822是个坑货,坑了我一个月. 如果你跟我一样是一个蓝牙新手,并且还没有买nrf51822的开发板的话,推荐先学cc2541,如果已经买了开发板,那就看我的<蓝牙芯片NRF51822入门学习>系列文章吧,祝你尽早出坑. 本文面对的是:已经掌握nrf51822基本外设,并且阅读了TI官方视频,对蓝牙有了初步了解,但对怎么进一步学…
所用程序为: H:\keil\ARM\Device\Nordic\nrf51822\Board\pca10001\s110\ble_app_hrs 上面的路径是安装sdk之后生成在keil软件所在目录下的程序. 我也不知道为什么在这个软件中出现了这么多的服务. 打开两个之后: 绑定使能之后: 展开之后:能够从字面意思看出,这里是有好几个服务的. 其中标注有浅绿色的,是心率的参数. 上面一系列的图片中的信息,或许可以对照这个网站查看: https://blog.csdn.net/caodaxia/…
Nordic  nRF51 系列的IC 和协议堆栈对内存大小.封装类型.接口.周边产品及无线连接提供更多选择. 关于 nRF51 系列 多协议 2.4GHz 射频收发器拥有高性能.超低功耗以及灵活性等好处.它的主要功能包括: 在蓝牙低功耗模式下灵敏度为-92.5dB RX, 高达 +4dBm 的输出功率: 与 Nordic 上一代射频收发器相比,链接预算增强高达 9.5dBm: 低于10mA 的峰值电流适合3V 纽扣电池: 符合蓝牙低功耗(蓝牙 4.0 )标准: 与 Nordic 现有的 nRF…
转自电子发烧友论坛 未完,待续...... 这里就是根据自己的项目了,并不一定是按照下面的图片去做.…
蓝牙在短距离无线通信领域占据举足轻重的地位—— 从手机.平板.PC到车载设备, 到耳机.游戏手柄.音响.电视, 再到手环.电子秤.智能医疗器械(血糖仪.数字血压计.血气计.数字脉搏/心率监视器.数字体温计.耳温枪.皮肤水分计等), 再到智能家居等领域均占有一席之地. 而蓝牙低功耗(BLE)是在蓝牙4.0协议上修改以适用低功耗应用场景的一种蓝牙协议. 随着上一股智能消费类电子大潮的到来,BLE的各种应用也像雨后春笋般在市场上铺开. 如果想 紧跟蓝牙协议的最新动态 ,可以在https://www.b…
无线通信技术自19世纪中期诞生以来,从使用狼烟.火炬.闪光镜.信号弹等在视距内传输信息,到1838年塞缪尔・莫尔斯发明电报网,再到电报网被电话取代,再到几十年后的1895年马可尼首次从英国怀特岛到30km之外的一条拖船之间成功进行了无线传输,现代意义下的无线通信从此诞生.从这一天开始,无线通信技术迅速发展,使我们能够在更远的传输距离上实现更好的通信质量.更低的功耗.更小的体积和更便宜的价格,使公网和专网的无线通信.无线电视.无线网络等成为现实.而目前,无线浪潮依然没有退却,却已有愈演愈烈的趋势.…
现在在智能穿戴领域市场不断的追求低功耗.低成本的蓝牙芯片.蓝牙芯片目前除了Dialog公司研制蓝牙芯片是最求超低功耗的但是对于其它性能上还比较满足不了其它领域的功能,另外NORDIC.TI的蓝牙芯片虽然功耗和性能上都是不错的,但是价格实在是高,智能穿戴产品市场价格在不断的透明化促使许多厂商不得不尝试考虑换上咱们国产的蓝牙芯片来降低成本.想必大家都听说过什么汉天下.泰凌微等等这些国产蓝牙芯片吧?虽然价格低的确实NORDIC.TI.Dialog几条街,但是射频性能和MCU性能不是很稳定,应用产品领域…
现在在智能穿戴领域市场不断的追求低功耗.低成本的蓝牙芯片.蓝牙芯片目前除了Dialog公司研制蓝牙芯片是最求超低功耗的但是对于其它性能上还比较满足不了其它领域的功能,另外NORDIC.TI的蓝牙芯片虽然功耗和性能上都是不错的,但是价格实在是高,智能穿戴产品市场价格在不断的透明化促使许多厂商不得不尝试考虑换上咱们国产的蓝牙芯片来降低成本.想必大家都听说过什么汉天下.泰凌微等等这些国产蓝牙芯片吧?虽然价格低的确实NORDIC.TI.Dialog几条街,但是射频性能和MCU性能不是很稳定,应用产品领域…
之前了解过STM32 的内存分配问题,对于蓝牙芯片51822的内存分配问题把项目中,遇到了.bss和.data部分超了的问题,这其实就是声明的变量和stask 及 heap的大小总和超出了单片机的RAM,仔细的分析了下NRF51822的ram的分配,这里做下分享. 首先是看下nrf51822的ROM和RAM 的大小: 我这边选用的芯片型号是 QAFAC就是有ROM 256kb RAM 32kb. 文档的20页21页 下面看下在keil工程中的配置: 实际中的RAM的开始位置并不是由0x20000…
实验01 - GPIO输出控制LED 引脚输出配置:nrf_gpio_cfg_output(LED_1); 引脚输出置高:nrf_gpio_pin_set(LED_1); 引脚电平转换:nrf_gpio_pin_toggle(LED_1); 毫秒延时:nrf_delay_ms(100); int main(void) { nrf_gpio_cfg_output(LED_1);//配置P0.21为输出 nrf_gpio_pin_set(LED_1); //指示灯D1初始状态为熄灭 while (t…
:由于在大多数情况下GPIO的状态变化都会触发应用程序执行一些动作.为了方便nRF51官方把该流程封装成了GPIOTE,全称:The GPIO Tasks and Events (GPIOTE) . 从GPIO电平变化到产生中断事件的流程详解  1.GPIOTE概览 nRF51上面有32个GPIO,由于在大多数情况下GPIO的状态变化都会触发应用程序执行一些动作.为了方便nRF51官方把该流程封装成了GPIOTE,全称:The GPIO Tasks and Events (GPIOTE) .GP…
:nRF51822虽然是一个小型的单片机,但是能真正达到任意调用其官方驱动以及BLE协议栈的人还是奇缺的.据我所见,大都拿官方给的一个冗长的蓝牙低功耗心率计工程改的.之前我对于这个工程进行log跟踪,虽然理清了其大致流程,但还是达不到任意修改甚至是构建自己的框架的程度.本文接上一篇,继续理解library中的调度处理和定时器部分. 1.Schedule handling library 调度程序主要负责从中断上下文向main函数上下文传送执行命令. 在main函数中: 1.为每种期望的事件定义句…
最近用nRF51822写了个天马4线SPI的1.77寸LCD彩屏驱动,效果如下: 屏幕的规格资料为:http://pan.baidu.com/s/1gdfkr5L 屏幕的驱动资料为:http://pan.baidu.com/s/1dD3AUFB 工程结构为: main.c是main函数所在,程序入口 core文件夹中是nrf51822的启动文件,不必看 lib中: nrf_delay.c是一个简单的延时函数(while循环延时,不精准) font.c存放一种字体,供屏幕显示用(屏幕每种字体都会对…
蓝牙协议栈 nrf51822开发中,蓝牙协议栈和应用开发是分开的. (1)兼容蓝牙4.0低功耗协议栈基带层,L2CAP\AAT\SM\GAP\GATT协议,设备和广播,GATT客户端和服务器,SMP支持(包含MITM和OOB配对): (2)应用部分和协议栈部分内存空间隔离: (3)采用异步事件驱动程序架构: (4)没用使用RTOS,可以方便移植到任何RTOS: (5)SoftDevice是使用标准的C语言编写的,它是已经被编译好的二进制文件,需要使用者将它烧写到芯片中. (6)API包含了Gen…
相关下载:http://download.csdn.net/detail/xgbing/9565708 首先看的示例是心率计一个示例程序:<KEIL path> \ARM\Device\Nordic\nrf51822\Board\pca10001\s110\ble_app_hrs\arm. 打开工程前需要下载蓝牙协议栈S110 nRF51822 SoftDevice(s110_nrf51822_6.0.0_softdevice.hex)到板子中,这个手册上有说明. 首先看的是main.c中的m…
去年Noridc出了集成蓝牙4.0并能开口说话24L01通信芯片,这部电影可以非常小包装.和低功耗.非常适合于可穿戴设备,然后挖了一个免费的手在不久的将来AK II,又没了一个Becon的板子.先玩了一些主要的外设,如今開始玩了BLE的相关开发. 在官方的SDK文件夹下.我们能够找到Nordic\nrf51822\Board\pca10001\ble\experimental\ble_app_uart这个project文件,另外SDK文档中也有简介BLE UART数据转发的应用. 该应用包含一个…
我知道没图是没人看的,所以随便瞎截图了几张. 对于很多新手朋友们,或许可能还不是很了解jtag相关的一些调试所需的必须电路,就像很多人不喜欢用stm32的硬件i2c,而是喜欢软件io模拟,就算是使用了硬件i2c,也是阻塞式等待,和软件模拟并无二,也许会说硬件i2c那么多bug,为什么还要用它?那么i2c从机模式可能就没法好好用了~也许有人还会反驳说用io中断也依然可以模拟出i2c从模式,嗯,那就当我啥也没说. 其实我想说的是,就像i2c一样,很多情况下,芯片会选择将总线上拉电阻外置,所以就像st…
星期四, 27. 九月 2018 12:00上午 - BEAUTIFULZZZZ 一.前言 前几天给大家介绍了如何手动搭建安卓APP命令行开发环境和nRF51822命令行开发环境,中秋这几天我把上面篇文章的操作流程全部做成了shell脚本,使得可以让其他人简单运行下脚本.就能够直接建立绿色开发环境,岂不美哉? <[编译] 5.在Linux下搭建安卓APP的开发烧写环境(makefile版)-- 在Linux上用命令行+VIM开发安卓APP> <[编译] 4.在Linux下搭建nRF518…
星期日, 09. 九月 2018 07:51下午 - beautifulzzzz 1.安装步骤 1) 从GNU Arm Embedded Toolchain官网下载最新的gcc-arm工具链,写文章时下载的是: gcc-arm-none-eabi-5_4-2016q3-20160926-linux.tar.bz2 2) 从NORDIC官网下载相应版本的SDK,我这里选择的是12.3.0版本: Code Name Version nRF5-SDK-v12-zip nRF5 SDK Zip File…
版权声明:本文为博主原创文章,转载请注明作者和出处.    作者:强光手电[艾克姆科技-无线事业部] 1. nRF51822寄存器类型 nRF51822的寄存器和一般的单片机有所差别,nRF51822的寄存器分为下面的三种类型. Task :任务寄存器,可以由程序或事件触发. Event:事件寄存器,事件可以产生中断或触发任务. Register:普通寄存器,和一般单片机的寄存器一样. Task和event使得操作片上外设十分方便简洁,只需进行少量的配置,即可轻松运用各种外设.同时,Task和e…
NRF51822的内核为M0,FLASH是256K,RAM是16K,蓝牙BLE4.0/4.2(SDK新版本支持4.2)NRF51802的内核为M0,FLASH是256K,RAM是16K,蓝牙BLE4.0/4.2(SDK新版本支持4.2)NRF52832的内核为M4F,FLASH是512K,RAM是64K,蓝牙BLE5.0NRF52810的内核为M4,FLASH是192K,RAM是24K,蓝牙BLE5.0NRF52840的内核为M4F,FLASH是1024K,RAM是256K,蓝牙BLE5.0NR…
很久没有记笔记了.今天要记点东西,不然以后又忘记了. 随着时代的发展,现在的SDK已经是13.0了.蓝牙5.0也就来了.废话就少说了,记笔记吧. 两年前搞过nRF51822 的无线升级功能,那时候用的还是 SDK5.20,直接用hex镜像进行升级的.后来的SDK就不再是hex,要用zip了,现在还不清楚具体做APP时候的用法.以后再说,先用官方提供了nRF_ToolBox能升级就很不错了. 现在用了新的SDK,试了很长一段时间,各种各样的文档都过了,各种各样的方法都试过了,就是不行,真特么尴尬.…
软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编程作为自己职业生涯的起点.如何学好编程?如何成为优秀的程序员?如何规划好程序员这个职业?是许多年轻人关注的问题.在Infoworld最近做的一次调查中,邀请到了JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Spring Framework创建者Rod…
有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个文件占用了内存太大了. 使用例子如下,用JAVA 运行Sort 1, 输入你要排序的文件路径 , 如 例子是对H:\下的文件和它所有子文件夹下的文件进行排序 2, 输入需要进行排序显示的最新大小,如 例子是对10M 大小 以上的文件进行排序 3,从大到小排序后按 文件路径\文件名-------大小…
微信小程序也已出来有一段时间了,最近写了几款微信小程序项目,今天来说说感受. 首先开发一款微信小程序,最主要的就是针对于公司来运营的,因为,在申请appid(微信小程序ID号)时候,需要填写相关的公司认证信息如,营业执照等 再次就是用一个未曾开通过公众号的QQ号或微信号来注册一个微信小程序号. 最后,下载微信小程序开发工具. 由于这里,我们更多的关注如何去开发一些app,而不是科谱微信小程序,故在此不在过多的解释,详细的说明,可以去官网帮助文档. 首先,我们拿自己的项目在一步一步的说明并开发吧,…
一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该文件,会报错 4.运行test2.js 二.模块简单使用 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在Node环境中,一个.js文件就称之为一个模块(module). 模块化的开发的好处:提高代码的可维护性,避免修…
2016年9月22日凌晨,微信宣布“小程序”问世,当然只是开始内测了,微信公众平台对200个服务号发送了小程序内测邀请.那么什么是“小程序”呢,来看微信之父怎么说 看完之后,相信大家大概都有些明白了吧,对于开发者来说或许都有些小激动吧,毕竟多关注一些新东西没什么不好.那么问题是“小程序”只有200个内测账号,怎么办?还好,天朝的人才太多了,在消息发布后的几小时内网上已经出了IDE的破解版,废话不多说,看配置步骤: 1. IDE下载 MAC版链接: http://pan.baidu.com/s/1…
建议75:集合中的元素必须做到compareTo和equals同步 实现了Comparable接口的元素就可以排序,compareTo方法是Comparable接口要求必须实现的,它与equals方法有关系吗?有关系,在compareTo的返回为0时,它表示的是 进行比较的两个元素时相等的.equals是不是也应该对此作出相应的动作呢?我们看如下代码: class City implements Comparable<City> { private String code; private S…