Android Ble开发的那些事 (www.jianshu.com)

【简介】

BLE 是Bluetooth Low Energy的缩写,又叫蓝牙4.0,区别于蓝牙3.0和之前的技术。BLE前身是NOKIA开发的Wibree技术,主要用于实现移动智能终端与周边配件之间的持续连接,是功耗极低的短距离无线通信技术,并且有效传输距离被提升到了100米以上,同时只需要一颗纽扣电池就可以工作数年之久。BLE是在蓝牙技术的基础上发展起来的,既同于蓝牙,又区别于传统蓝牙。BLE设备分单模和双模两种,双模简称BR,商标为Bluetooth Smart Ready,单模简称BLE或者LE,商标为Bluetooth Smart。Android是在4.3后才支持BLE,这可以解释不是所有蓝牙手机都支持BLE,而且支持BLE的蓝牙手机一般是双模的。

Ble的工作原理?

大概知道ble是什么东西后,我们就来了解下他的工作原理。想要了解原理,先搞清楚蓝牙通信之间的关系——主从关系。

蓝牙技术规定每一对设备之间进行蓝牙通讯时,必须一个为主角色,另一为从角色,才能进行通信,通信时,必须由主端进行查找,发起配对,建链成功后,双方即可收发数据。理论上,一个蓝牙主端设备,可同时与7个蓝牙从端设备进行通讯。一个蓝牙设备以主模式发起呼叫时,需要知道对方的蓝牙地址,配对密码等信息,配对完成后,可直接发起呼叫。这可以解释为什么有时无法连接蓝牙,有可能是连接的蓝牙设备过多。

蓝牙内部详细的工作原理呢,由于个人能力有限就不详细讲述了,本系列文章主要是介绍下ble在android中的开发。

点击查看原文 >>

@shengting 2018-03-16 14:57 / 0个评论
赞过的人: @技术头条
要不要再学学下面的文章?
写给开发人员的实用密码学(六)—— 对称密钥加密算法 (thiscute.world)
在密码学里面,最容易搞混的词估计就是「密码」了,cipher/password/passphrase 都可以被翻译成「密码」,需要注意下其中区别。
by @技术头条 2024-01-14 19:01 查看详情
nginx 防火墙模块开发总结 (www.addesp.com)
那段时间我的站点有时会打不开,起初以为是网络问题,后来越来越严重,进入后台才发现数据库 IO 拉满了。看了看 nginx 的日志才发现站点被疯扫,于是打算做点什么。

然后在 Github 上看了几个防火墙模块,要不然功能不全,要不然使用复杂,于是萌生了自己写模块的想法。
by @技术头条 2023-12-26 22:24 查看详情
写给开发人员的实用密码学(三)—— MAC 与密钥派生函数 KDF (thiscute.world)
我们都更喜欢使用密码来保护自己的数据而不是二进制的密钥,因为相比之下二进制密钥太难记忆了,字符形式的密码才是符合人类思维习惯的东西。

可对计算机而言就刚好相反了,现代密码学的很多算法都要求输入是一个大的数字,二进制的密钥就是这样一个大的数字。
by @技术头条 2023-11-06 23:05 查看详情
写给开发人员的实用密码学(二)—— 哈希函数 (thiscute.world)
更好的哈希函数可以使用这样的方案:它将第一个字节作为状态,然后转换状态(例如,将它乘以像 31 这样的素数),然后将下一个字节添加到状态,然后再次转换状态并添加下一个字节等。 这样的操作可以显着降低碰撞概率并产生更均匀的分布。
by @技术头条 2023-11-06 23:04 查看详情
写给开发人员的实用密码学(一)—— 概览 (thiscute.world)
从开发人员的角度理解密码学概念不需要你是一个厉害的数学家。 这个系列的文章将尽量以最浅显的方式教你应用密码学的基础知识,而且包含大量循序渐进的代码示例和实践练习——就像你学习 Web 开发、数据库或 APP 开发一样。
by @技术头条 2023-11-06 23:03 查看详情
深入 Android 可信应用漏洞挖掘 (paper.seebug.org)
重点介绍了主流厂商的TEE环境中的TA实现以及常见的攻击面并分享了一些针对TA做安全研究的技巧与方法,比如如何尽可能快速的拥有一台具备Root权限的手机用于研究与测试。同时还介绍了如何实现对TA进行模拟以及使用到的Fuzzing技术和部分调优策略。
by @技术头条 2023-10-30 23:40 查看详情
Android|集成 slf4j + logback 作为日志框架 (mazhuang.org)
最近在做一个 Android APP 的日志改造,我搜了一下「Android 日志框架」,大多网友推荐的是 logger、timber、xLog 等等,看着也不错。不过出于几年后端开发的经验和习惯,我进一步了解,发现熟悉的 log4j 和 logback 在 Android 上也有人做过适配,所以最终决定使用 slf4j + logback,以在前后端开发中取得一致的体验。
by @技术头条 2023-10-30 22:56 查看详情
Android 模拟器实现 hosts 修改 (droidyue.com)
有时候我们需要使用 Android 模拟器来 绑定一下 hosts 来实现功能的开发与验证,刚好最近遇到了这样的需求,处理完成,简单记录一下。
by @技术头条 2023-06-24 23:28 查看详情
Robust 2.0:支持Android R8的升级版热修复框架 (tech.meituan.com)
2016年,我们对美团Android热更新方案Robust的技术原理做了详细介绍。近几年,Google 推出了新的代码优化混淆工具R8,Android 热修复补丁制作依赖二次构建包和线上包对比,需要对Proguard切换到R8提前进行适配和改造,本文分享 Robust 在适配 R8 以及优化改进中的一些思路和经验,希望能对大家有所帮助或者启发。
by @技术头条 2023-06-24 09:21 查看详情
如何用 ChatGPT 助力开发: 已经有 15 万人看过的经验分享 (luolei.org)
自从年初开始关注这波 AI 浪潮,我将 AI 纳入了自己的工作流程,已经有一段时间了。现在我基本上一有机会就向他人推荐,建议尽快将 AI 引入开发流程。

今天这篇文章,分享一些目前自己利用 AI 服务相关的一些经验、工具和服务。
by @技术头条 2023-06-24 09:04 查看详情