前言:项目用到蓝牙开发,具体蓝牙获取硬件传感器中的数据。 因为没有蓝牙开发的相关经验,决定先了解一些蓝牙开发的知识,再去看之前同事写的蓝牙相关代码。...1、权限 这个在AndroidManifest.xml文件中添加权限,这个是必须要的 //在程序中使用蓝牙功能 //启动设备发现或操纵蓝牙设置 2、获得蓝牙适配器...mArrayAdapter.add(device.getName() + "\n" + device.getAddress()); Log.i("bluetooth...BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); Log.i("bluetooth
Android为蓝牙技术提供了4个工具类,分别是蓝牙适配器BluetoothAdapter、蓝牙设备BluetoothDevice、蓝牙服务端套接字BluetoothServerSocket和蓝牙客户端套接字...getDefaultAdapter:静态方法,获取默认的蓝牙适配器对象; enable:打开蓝牙功能; disable:关闭蓝牙功能; isEnable:判断蓝牙功能是否打开; startDiscovery...:设置本机的蓝牙名称; getName:获取本机的蓝牙名称; getAddress:获取本机的蓝牙地址; getRemoteDevice:根据蓝牙地址获取远程的蓝牙设备; getState:获取本地蓝牙适配器的状态...); bluetoothPermissions(); ck_bluetooth = (CheckBox) findViewById(R.id.ck_bluetooth); tv_discovery =...-- 蓝牙 -- <uses-permission android:name="android.permission.<em>BLUETOOTH</em>_ADMIN" / <uses-permission android
github: https://github.com/vir56k/bluetoothDemo 什么是BLE(低功耗蓝牙) BLE(Bluetooth Low Energy,低功耗蓝牙)是对传统蓝牙BR...一般情况下Android4.3以后的手机具有蓝牙模块的话都会支持BLE,具体可以再代码中判断。 为了在app中使用蓝牙功能,必须声明蓝牙权限BLUETOOTH。...利用这个权限去执行蓝牙通信,例如请求连接、接受连接、和传输数据。 如果想让你的app启动设备发现或操纵蓝牙设置,必须声明BLUETOOTH_ADMIN权限。...注意:如果你使用BLUETOOTH_ADMIN权限,你也必须声明BLUETOOTH权限。 在你的app manifest文件中声明蓝牙权限。...// 初始化蓝牙适配器 final BluetoothManager bluetoothManager = (BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE
有时候需要蓝牙串口SPP提供无线通信方式进行机器人或者物联网硬件的控制。...掌握此部分内容需要先阅读下列参考文献: arduino bluetooth and ubuntu linux:https://forum.arduino.cc/index.php?...(arduino):https://answers.ros.org/question/228869/how-to-ros-messages-via-bluetooth-arduino/ error...connection rosserial via bluetooth arduino notebook:https://answers.ros.org/question/169366/error-connection-rosserial-via-bluetooth-arduino-notebook.../ connect two separate computers using bluetooth:https://answers.ros.org/question/11877/connect-two-separate-computers-using-bluetooth
“Windows Mobile上的蓝牙点对点通信”介绍如何在两台Windows Mobile设备上建立点对点的蓝牙通信,继续这个话题,WM6的SDK中,给出了另外一个蓝牙通信的例子,那就是SpaceWar2D...SpaceWar2D使用了Windows Embedded Source Tools for Bluetooth Technology来做蓝牙通信,在两台WM设备间建立连接,然后进行简单的游戏。 ...说起这个Windows Embedded Source Tools for Bluetooth Technology的作者Anil Dhawan,我还和他有过一面之缘。...运行程序前,必须将两个设备建立蓝牙合作关系,具体的方法就是在蓝牙设置中,点击“添加新设备”,然后让设备自动扫描附近的蓝牙设备,找到以后,点击完成。...这时,就会在设备中显示刚刚添加的蓝牙设备,如下图1所示: ?
接着上一篇 Android4.42-Settings源码分析之蓝牙模块Bluetooth(上) 继续蓝牙模块源码的研究 THREE,蓝牙模块功能实现 switch的分析以及本机蓝牙重命名和可见性的分析见上一篇...: 更多关于蓝牙广播的内容可以参考在线文档 http://www.android-doc.com/reference/android/bluetooth/BluetoothDevice.html 程序中已经为这些广播注册了监听器...4>,蓝牙搜索附近可用设备 搜索功能流程如下:首先检测蓝牙是否开启,如果开启检测是否正在搜索,如果正在搜索则不做处理,如果未开启搜索则开启搜索 程序中的设置是如果蓝牙未开启或者正在搜索的话搜索设备按钮不可用...i>,本地蓝牙相关 获取本地蓝牙适配器:BluetoothAdapter.getDefaultAdapter(); 开启蓝牙:BluetoothAdapter----enable()....stopLeScan(mLeScanCallBack). ii>,各种广播相关参考网址,这是一个API在线文档,解释的很清楚 http://www.android-doc.com/reference/android/bluetooth
-- Bluetooth --> <header ..........还加入了关于蓝牙的两个权限,BLUETOOTH和BLUETOOTH_ADMIN,前者用于允许与已经配对的蓝牙设备进行连接主要是配对后的权限,后者用于允许发现和配对蓝牙设备,主要是配对前的权限。...在手机恢复出厂设置后可以看到开关状态的默认值,该默认值对应的是def_bluetooth_on,在开机过程中会将该默认值对应的boolean值通过蓝牙服务BluetoothManagerService保存起来...} // Bluetooth state is not sticky, so set it manually //必须手动的去监听蓝牙状态的改变...3>,已配对设备列表 见下一篇 Android4.42-Setting源码分析之蓝牙模块Bluetooth(下)
Android4.42-Settings源码分析之蓝牙模块Bluetooth(上) Android4.42-Setting源码分析之蓝牙模块Bluetooth(下) ONE,SWITCH蓝牙开关 switch...,不可用就把switch设置成不可点击 根据本地蓝牙状态来更新switch状态 注册过滤BluetoothAdapter.ACTION_STATE_CHANGE的广播,当蓝牙状态发生变化时更新switch...状态 为switch添加监听事件,更改本地蓝牙适配器,当本地蓝牙适配器发生改变后更新switch状态 总结,switch相关的逻辑实现就这些,在BluetoothSettings中创建switch实例,...、summary---蓝牙可检测性的更新 蓝牙名称--title的更新过程在BluetoothSettings.java中完成,过程如下 获取到本机蓝牙名称 mMyDevicePreference.setTitle...添加可配对设备列表mPairedDevicesCategory addDeviceCategory(mPairedDevicesCategory, R.string.bluetooth_preference_paired_devices
4.5.3 Flow control Since the RX ACL buffer can be full while a new payload arr...
期待已久的蓝牙网格(BlueTooth Mesh)网络技术终于可以应用了。...蓝牙技术联盟在2017年6月份正式发布, 在现有的蓝牙网络拓扑(点对点、星形和广播)列表中添加了蓝牙网格这一工业级的安全网络选项。...蓝牙网格的网络规范使得数百个节点能够在更广泛的网络区域上进行无缝通信, 通过一个从节点到节点的中继机制来扩展通信范围。 令人高兴的是, 蓝牙网格规范并不依赖于最新的蓝牙5.0规范。...事实上, 任何带有蓝牙4.0的智能手机都可以监控网格连接的节点。 ? 图1 | 低耗电蓝牙网络拓扑 低耗电蓝牙技术于2010年在蓝牙核心规范4.0中引入。...真希望看到更多能够支持BlueTooth Mesh 的产品和SDK,尤其是来自国产领域。如果哪位朋友有BlueTooth Mesh的开发经验可以留言给我,一起学习讨论一下。
在上一篇中介绍了打印小票所需要的命令,这一篇介绍Bluetooth连接蓝牙和打印小票的全过程。 ?...,所以及时设置状态返回的回调,以便在搜索附近可用的蓝牙外设。...--->扫描蓝牙外设服务--->扫描蓝牙外设服务特性--->扫描特性描述 这些操作都是有阶段性的,并且依赖上一步的结果。...记录下特性中的可写服务以便,往这个蓝牙外设中写入数据。...完整的库和Demo地址:github地址 如果你只关注iOS 打印小票部分,不想太多操作蓝牙连接和处理,看这里:蓝牙打印小票 打印没反应? 首先,确定你使用的是标签打印机还是一般的小票打印机。
在iOS app中连接蓝牙打印机打印商品小票,在没有电脑只有手机的情况下,感觉非常实用,而且最近经常最近公司正好也在做这个功能,所以就研究了下。...蓝牙打印机命令 在蓝牙打印中,比较麻烦的不是搜索,连接蓝牙设备,而是小票的排版。而要弄出好看的小票排版,就得先熟知蓝牙打印机的各种命令。
查看蓝牙服务状态 systemctl status bluetooth.service 2....启动蓝牙服务 如果蓝牙服务未启动,则需手动启动蓝牙服务: sudo systemctl start bluetooth.service 3....操控蓝牙适配器 bluetoothctl 此时会进入到对应蓝牙适配器的操控终端:[bluetooth]# 4....搜索蓝牙设备 在蓝牙适配器终端 [bluetooth]# 输入以下命令: scan on 启动搜索蓝牙设备模式。...停止设备搜索 当蓝牙适配器已经搜索到所需的蓝牙设备时,在蓝牙适配器终端 [bluetooth]# 输入以下命令停止搜索: scan off 6.
: 允许程序连接到已配对的蓝牙设备, 请求连接/接收连接/传输数据需要改权限, 主要用于对配对后进行操作; android.permission.BLUETOOTH_ADMIN : 允许程序发现和配对蓝牙设备..., 该权限用来管理蓝牙设备, 有了这个权限, 应用才能使用本机的蓝牙设备, 主要用于对配对前的操作; 优先级 : BLUETOOTH权限是BLUETOOTH_ADMIN权限的前提, 如果没有BLUETOOTH...权限, 就不能使用BLUETOOTH_ADMIN权限; 二 API详解 1.常量介绍 (1)开关状态值 蓝牙关闭 : int STATE_OFF , 值为10, 蓝牙模块处于关闭状态; 蓝牙打开中 :...S适配器完成搜索发出的广播, 值为"android.bluetooth.adapter.action.DISCOVERY_FINISHED", 需要BLUETOOTH权限; 蓝牙名称改变广播 : String...权限 : BLUETOOTH_ADMIN权限; (5)关闭蓝牙 public boolean disable(); 作用 : 关闭本地设备蓝牙; 返回值 : 如果关闭蓝牙成功, 返回true; 如果关闭蓝牙失败
有好多人已经做过这方面的工作,比如在winbile论坛的“使用C#来开发.NET CF 蓝牙通信模块”,codeproject上的“Bluetooth Connection in Windows Mobile...其实,安装了windows mobile 6.0 Professional SDK之后,自带的sample中就有蓝牙通信的例子,包括Bluetooth Device Discovery、Chatting...Bluetooth Device Discovery是采用“Winsock 2 API”来实现蓝牙设备的发现。Chatting over Bluetooth是在两个蓝牙设备之间建立点对点的通信。...Bluetooth Game是使用蓝牙技术,在两台设备之间建立连接,然后进行游戏。...图3:蓝牙处于可见状态 参考链接: 使用C#来开发.NET CF 蓝牙通信模块 Bluetooth Connection in Windows Mobile 5.0 using InThehand -
to paired bluetooth devices) android.permission.BLUETOOTH_ADMIN 允许程序发现和配对蓝牙设备(Allows applications...to discover and pair bluetooth devices) android蓝牙开发——权限 为了在应用程序中使用蓝牙功能,我们至少需要声明两方面的权限:BLUETOOTH和BLUETOOTH_ADMIN...你必须请求BLUETOOTH权限才能够实现蓝牙通信,例如请求一个连接、接受一个连接和传输数据。...你必须请求BLUETOOTH_ADMIN权限,才能够初始化device discovery或者管理蓝牙设置(Bluetooth settings)。...注意:如果你想要使用BLUETOOTH_ADMIN权限,那么你首先必须有BLUETOOTH权限。 你需要在应用程序的manifest文件中声明程序的蓝牙权限。
操控蓝牙适配器 bluetoothctl 此时会进入到对应蓝牙适配器的操控终端:[bluetooth]# 4....搜索蓝牙设备 在蓝牙适配器终端 [bluetooth]# 输入以下命令: scan on 启动搜索蓝牙设备模式。...停止设备搜索 当蓝牙适配器已经搜索到所需的蓝牙设备时,在蓝牙适配器终端 [bluetooth]# 输入以下命令停止搜索: scan off 6....配对蓝牙设备 在蓝牙适配器终端 [bluetooth]#根据 mac 地址输入以下命令来配对蓝牙设备: pair **:**:**:**:**:** 其中 **:**:**:**:**:** 是蓝牙设备的...【注】更多命令操作及解释可在蓝牙适配器终端 [bluetooth]# 或蓝牙设备终端输入 help 查看。
下图显示了蓝牙堆栈的常规结构: fluoride_architecture.png 应用框架 client: frameworks/base/core/java/android/bluetooth...蓝牙系统服务(位于 packages/apps/Bluetooth 中)被打包为 Android 应用,并在 Android 框架层实现蓝牙服务和配置文件。...此应用通过 JNI 调用原生蓝牙堆栈。 JNI 与 android.bluetooth 相关联的 JNI 代码位于 packages/apps/Bluetooth/jni 中。...framework与bluetootk app android 蓝牙framework层跟其他系统服务有点不同,framework层的service主要是跟bluetooth app的sercive进行绑定...app里面其他service 相对详细的流程看下节分析 bluetooth app Bluetooth apk是蓝牙功能逻辑具体的实现。
需要权限 android.permission.BLUETOOTH : 允许程序连接到已配对的蓝牙设备, 请求连接/接收连接/传输数据需要改权限, 主要用于对配对后进行操作; android.permission.BLUETOOTH_ADMIN... : 允许程序发现和配对蓝牙设备, 该权限用来管理蓝牙设备, 有了这个权限, 应用才能使用本机的蓝牙设备, 主要用于对配对前的操作; 优先级 : BLUETOOTH权限是BLUETOOTH_ADMIN权限的前提...ACTION_BOND_STATE_CHANGED : android.bluetooth.device.action.BOND_STATE_CHANGED, 远程蓝牙设备状态改变的时候发出这个广播,...BLUETOOTH权限; String ACTION_NAME_CHANGED : android.bluetooth.device.action.NAME_CHANGED,远程蓝牙设备的名称被发现改变...", 几乎该类中的每个广播都有该附加域; 蓝牙名称 : StringEXTRA_NAME, 蓝牙名称附加域, 存放蓝牙名称, 值为"android.bluetooth.device.extra.NAME
前几天,一位MVP Dmitry Klionsky撰写了文章《Bluetooth for Microsoft Device Emulator》,讲述了在Windows Mobile模拟器上使用蓝牙的方法...一个具有USB接口的Bluetooth dongle 在Windows Mobile模拟器上使用蓝牙的步骤如下(详细请参考Bluetooth for Microsoft Device Emulator...在PC端安装下载的FreeBT的蓝牙驱动,方法自然是通过“windows设备管理器”,为新的硬件设备(也就是连接的Bluetooth USB device)添加下载过来的驱动(主要是找到fbtusb.inf...连接建立以后,蓝牙设备的信息(Address, Manufacturer, HCI Version, LMP Version)就会显示在界面上了,如图2所示(来源于Bluetooth for Microsoft...Microsoft Remote Tools Framework允许我们同时开启两个模拟器,因此,如果手头有两个Bluetooth USB dongle的话,我们就可以在两个模拟器上调试蓝牙的收发通信了
领取专属 10元无门槛券
手把手带您无忧上云