android - 通过android终端访问蓝牙RFCOMM

标签 android linux bluetooth serial-port rfcomm

我想访问 RFCOMM 以使用终端在我的 Android 设备上设置蓝牙虚拟串口。 我的 android 设备上确实有 root 权限。 当我在终端中键入“rfcomm”时,我收到一条消息说“rfcomm:未找到”。看来我的系统中没有应用程序 rfcomm。我在哪里可以找到它?我错过了任何其他命令吗?不幸的是,我不习惯使用 linux 框架...

最佳答案

我也是蓝牙的新手,但我可以帮助你(注意这个答案底部的警告)。 我假设您正在尝试在嵌入式 Linux 系统上运行 rfcomm 吧.. 假设是... 您需要确保安装了 bluez 工具(谷歌获取相关信息)。 然后运行:“rfkill unblock bluetooth”。 然后,我基于此编写了自己的 rfcomm 服务器... https://people.csail.mit.edu/albert/bluez-intro/x502.html

通过在我的嵌入式 Linux 机器上运行,我能够运行 blueterm 应用程序并在我的 Android 手机和我的嵌入式系统之间建立基本的终端连接。

注意事项: 蓝牙开发对我来说是新手,这个解决方案在使用 BlueTerm ( https://play.google.com/store/apps/details?id=es.pymasde.blueterm&hl=en ) 时才有效。我注意到它出于某种原因不能与其他类似的蓝牙终端应用程序一起使用(不知道为什么,如果有人知道请发帖),并且从我的三星 S6 上的 Android 6.0.1 开始(前几天刚安装) ),BlueTerm 应用程序甚至不适合我。我现在正在对此进行调查,如果发现任何结果,我会发布结果。

上面站点上发布的 rfcomm_srvr.c 代码显然已过时(但它有效)。 如果其他人读到这篇文章并知道更好(更现代、更高效)的方法(无需编写 Android 应用程序),我也想听听。

更新:好的,看来 BlueTerm 在我的手机升级到 6.0.1 时出现了某种用户界面问题。我过渡到 BlueTerm2 ( https://play.google.com/store/apps/details?id=at.fusionimage.blueterm2 ),一切正常。这意味着您可以将该 rfcomm_srvr.c 代码用作有用终端界面的基础。

关于android - 通过android终端访问蓝牙RFCOMM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36421240/

相关文章:

android - 从 Flutter Dart 中的 MainActivity.java 读取变量

java - 使用 Proguard 时 Dropbox sync api 不工作

android - GridView 中的项目不可见

linux - 确定哪些文件已更改或创建

java - 蓝牙传输应用程序在使用 InputStream.read() 后停止,没有错误

android - 有没有办法指定设备应该使用哪个可绘制文件夹?

linux - 以 --rfc-3339 格式增加时间的 shell 脚本

linux - Docker RUN groupadd && useradd 指令无效

ios - didReceiveMemoryWarning 功能 : how much could app do

java - 使用 Android 通过蓝牙发送数据