Coder Social home page Coder Social logo

blecore's People

Contributors

buhuiming avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

blecore's Issues

调用`startScanAndConnect`时当扫描不到任何设备会发生崩溃

java.lang.NullPointerException
                                                                      	at com.bhm.ble.request.base.BleRequestImp$startScanAndConnect$1.invokeSuspend(BleRequestImp.kt:168)
                                                                      	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
                                                                      	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
                                                                      	at android.os.Handler.handleCallback(Handler.java:942)
                                                                      	at android.os.Handler.dispatchMessage(Handler.java:99)
                                                                      	at android.os.Looper.loopOnce(Looper.java:210)
                                                                      	at android.os.Looper.loop(Looper.java:299)
                                                                      	at android.app.ActivityThread.main(ActivityThread.java:8261)
                                                                      	at java.lang.reflect.Method.invoke(Native Method)
                                                                      	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:559)
                                                                      	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:954)
                                                                      	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@bdbbac5, Dispatchers.Main]

数据发送问题

大佬遇到一个问题:
发送一段数据,日志线上发送成功,数据也是完整,但是接收设备收到的只是一部分,这是什么原因?
mtu设置为512

这是我发送的日志:
2023-08-04 11:16:41.237 30773-30773 FrViewModel com.bhm.ble I #######----> data is: 73 73 69 64 3a 61 61 73 73 64 64 66 67 71 77 65 65 72 74 79 69 6f 6f 6f 69 75 79 74 72 72 72 64
2023-08-04 11:16:41.238 30773-30773 FrViewModel com.bhm.ble I #######----> 509==mtu==512
2023-08-04 11:16:41.243 30773-30773 BleTaskQueue com.bhm.ble I #######----> (共享队列) 当前任务数量:0, 添加任务:com.bhm.ble.control.BleTask@5fa37d3
2023-08-04 11:16:41.350 30773-31045 BleTaskQueue com.bhm.ble I #######----> (共享队列) 开始执行任务:com.bhm.ble.control.BleTask@5fa37d3
2023-08-04 11:16:41.350 30773-31045 BleWriteRequest com.bhm.ble I #######----> 1005:16962447-c623-61ba-d94b-4d1e43535349(1691119001238)(1) - > 开始写第1包数据
2023-08-04 11:16:41.358 30773-30799 BleWriteRequest com.bhm.ble D #######----> 1005:16962447-c623-61ba-d94b-4d1e43535349(1691119001238)(1) -> 第1包数据写成功:73 73 69 64 3a 61 61 73 73 64 64 66 67 71 77 65 65 72 74 79 69 6f 6f 6f 69 75 79 74 72 72 72 64

但是设备端收到只有:ssid:aassddfg
用其他工具发送,设备接收数据是完整正常的

请严格按照 issue 模板来提问题,否则一律不受理

问题描述(出现的环境,demo是否存在)【必填】

框架文档是否提及了该问题【必答】

是否已经查阅框架文档但还未能解决的【必答】

issue 列表中是否有人曾提过类似的问题【必答】

是否已经搜索过了 issue 列表但还未能解决的【必答】

Android 14兼容性问题

Google piexl 7a 设备,Android14系统
设置MTU=23 设备可以正常接收到 拦截抓取的日志也是正常 设置大于23的数字就不行,
默认读取到设备的MTU是247 设置成247之后,写入是成功,
返回的是true 但是设备那边用串口抓包抓到的数据都是空格换行了,
我们需要用BLE发送几kb 的数据 导致无法正常接收,发送几个字节的数据,
一共15包数据,每一包数据写入的都是成功 是否完成也是成功 其他Android设备 Android 10 Android11 Android 12 Android13 都没有出现这个问题
设备可以正常接收到,想请教下大佬,能否帮忙调试一下 多谢

Screenshot_20231014_181757

特征值notify没收到onCharacteristicChanged回调(同样操作fastble可以)

问题描述(出现的环境,demo是否存在)
公司的设备两个特征值,一个用来写,一个用来notiffy,本框架写了之后notify的那个特征值收不到change的回调,fastble可以

bleCore
fastble1
fastble2

框架文档是否提及了该问题【必答】 否

是否已经查阅框架文档但还未能解决的【必答】

issue 列表中是否有人曾提过类似的问题【必答】

是否已经搜索过了 issue 列表但还未能解决的【必答】

大佬有设备会报这个错:在BleDeviced的Parcelable闪退

aused by: java.lang.RuntimeException: Parcel android.os.Parcel@ff2c20f: Unmarshalling unknown type code 7209071 at offset 304
at android.os.Parcel.readValue(Parcel.java:2763)
at android.os.Parcel.readArrayMapInternal(Parcel.java:3053)
at android.os.BaseBundle.initializeFromParcelLocked(BaseBundle.java:288)
at android.os.BaseBundle.unparcel(BaseBundle.java:232)
at android.os.Bundle.getParcelable(Bundle.java:940)
at android.content.Intent.getParcelableExtra(Intent.java:7542)
at com.bhm.demo.ui.DetailOperateActivity.initData(DetailOperateActivity.kt:62)
at com.bhm.demo.BaseActivity.onCreate(BaseActivity.kt:75)
at android.app.Activity.performCreate(Activity.java:7317)
at android.app.Activity.performCreate(Activity.java:7308)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1272)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3128)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3299) 
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:114) 
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:74) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1988) 
at android.os.Handler.dispatchMessage(Handler.java:106) 
at android.os.Looper.loop(Looper.java:242) 
at android.app.ActivityThread.main(ActivityThread.java:7240) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:502) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:906) 

关于分包

是否可以增加一个包发送前的hook来处理每一个包的数据结构?
参数可以是发送的包整id和第几个分包
这样更方便实现分包协议

大佬,读特征值数据失败,超时 是什么原因呢?

image
2024-01-11 19:21:58.949 16315-16433 BleLogger com.bhm.ble E #######----> 49535343-6daa-4d02-abf6-19569aca69fe -> 读特征值数据失败,超时
2024-01-11 19:28:25.190 16947-17033 BleLogger com.bhm.ble E #######----> 00002a00-0000-1000-8000-00805f9b34fb -> 读特征值数据失败,超时
2024-01-11 19:28:42.712 16947-17031 BleLogger com.bhm.ble E #######----> 00002a01-0000-1000-8000-00805f9b34fb -> 读特征值数据失败,超时
2024-01-11 19:29:23.954 16947-17031 BleLogger com.bhm.ble E #######----> 49535343-aca3-481c-91ec-d85e28a60318 -> 读特征值数据失败,超时

关于短时间内写入大量数据ANR的问题

ANR in com.bhm.ble (com.bhm.ble/com.bhm.demo.ui.DetailOperateActivity)
                                                                                                    PID: 32329
                                                                                                    Reason: Input dispatching timed out (5b0d78d com.bhm.ble/com.bhm.demo.ui.DetailOperateActivity (server) is not responding. Waited 5002ms for MotionEvent)
                                                                                                    Parent: com.bhm.ble/com.bhm.demo.ui.DetailOperateActivity
                                                                                                    Frozen: false
                                                                                                    Load: 0.0 / 0.0 / 0.0
                                                                                                    ----- Output from /proc/pressure/memory -----
                                                                                                    some avg10=0.00 avg60=0.00 avg300=0.00 total=3050098580
                                                                                                    full avg10=0.00 avg60=0.00 avg300=0.00 total=1236302433
                                                                                                    ----- End output from /proc/pressure/memory -----
                                                                                                    
                                                                                                    CPU usage from 0ms to 6611ms later (2023-09-18 18:18:29.225 to 2023-09-18 18:18:35.836):
                                                                                                      30% 1382/system_server: 13% user + 16% kernel / faults: 10811 minor
                                                                                                      4.2% 1550/media.codec: 2.9% user + 1.3% kernel / faults: 32066 minor
                                                                                                      5.9% 1128/surfaceflinger: 3.6% user + 2.2% kernel / faults: 988 minor
                                                                                                      5.1% 17486/adbd: 0.6% user + 4.5% kernel / faults: 10 minor
                                                                                                      4.5% 11643/com.jhyan.yan:widgetProvider: 1% user + 3.4% kernel / faults: 142 minor
                                                                                                      4% 1037/[email protected]: 2.2% user + 1.8% kernel / faults: 352 minor
                                                                                                      3.3% 669/kworker/u24:7-memlat_wq: 0% user + 3.3% kernel
                                                                                                      3.1% 3539/com.android.phone: 1.9% user + 1.2% kernel / faults: 1223 minor
                                                                                                      2.7% 626/logd: 0.3% user + 2.4% kernel
                                                                                                      2.2% 668/kworker/u24:6-events_unbound: 0% user + 2.2% kernel
                                                                                                      0.3% 1490/media.extractor: 0.1% user + 0.1% kernel / faults: 3681 minor
                                                                                                      2.2% 12235/com.sohu.inputmethod.sogouoem: 1.6% user + 0.6% kernel / faults: 1162 minor
                                                                                                      2.2% 32213/com.android.systemui: 1.9% user + 0.3% kernel / faults: 110 minor
                                                                                                      2.1% 664/kworker/u24:1+memlat_wq: 0% user + 2.1% kernel
                                                                                                      2.1% 24292/kworker/u24:2-events_unbound: 0% user + 2.1% kernel
                                                                                                      2.1% 26537/kworker/u25:3-fsverity_read_queue: 0% user + 2.1% kernel
                                                                                                      0% 1014/[email protected]_64: 0% user + 0% kernel / faults: 30 minor
                                                                                                      1.8% 32329/com.bhm.ble: 1.2% user + 0.6% kernel / faults: 1727 minor
                                                                                                      0.2% 25222/com.android.bluetooth: 0% user + 0.2% kernel / faults: 261 minor
                                                                                                      1% 17645/process-tracker: 0.1% user + 0.9% kernel
                                                                                                      0.9% 11/rcu_preempt: 0% user + 0.9% kernel
                                                                                                      0.9% 470/usbtemp_kthread: 0% user + 0.9% kernel
                                                                                                      0% 5572/com.qualcomm.qti.workloadclassifier: 0% user + 0% kernel / faults: 395 minor
                                                                                                      0.9% 21604/process-tracker: 0% user + 0.9% kernel / faults: 2 minor
                                                                                                      0% 722/tombstoned: 0% user + 0% kernel
                                                                                                      0.7% 4896/irq/52-90b6300.: 0% user + 0.7% kernel
                                                                                                      0.7% 17711/com.quark.browser:channel: 0.6% user + 0.1% kernel / faults: 391 minor
                                                                                                      0.7% 24889/kworker/u25:1-dwc_wq: 0% user + 0.7% kernel
                                                                                                      0.6% 293/kgsl_worker_thr: 0% user + 0.6% kernel
                                                                                                      0.6% 983/qrtr_rx: 0% user + 0.6% kernel
                                                                                                      0.6% 1050/vendor.qti.hardware.display.composer-service: 0% user + 0.6% kernel / faults: 251 minor
                                                                                                      0.6% 17638/logcat: 0.1% user + 0.4% kernel
                                                                                                      0.6% 19844/kworker/u24:3-events_unbound: 0% user + 0.6% kernel
                                                                                                      0.6% 21601/logcat: 0.1% user + 0.4% kernel
                                                                                                      0.6% 31866/logcat: 0.1% user + 0.4% kernel
                                                                                                      0.4% 14/rcuop/0: 0% user + 0.4% kernel
                                                                                                      0.4% 37/rcuop/2: 0% user + 0.4% kernel
                                                                                                      0% 862/zygote64: 0% user + 0% kernel / faults: 22 minor
                                                                                                      0.4% 2084/com.taobao.taobao:channel: 0.3% user + 0.1% kernel / faults: 1 minor
                                                                                                      0.4% 4584/com.tencent.mm: 0.1% user + 0.3% kernel / faults: 19 minor
                                                                                                      0.4% 4898/irq/53-90cd000.: 0% user + 0.4% kernel
                                                                                                      0.4% 17459/com.quark.browser:push: 0.3% user + 0.1% kernel / faults: 93 minor
                                                                                                      0% 1/init: 0% user + 0% kernel
                                                                                                      0% 12/rcu_sched: 0% user + 0% kernel
                                                                                                      0.3% 73/rcuop/6: 0% user + 0.3% kernel
                                                                                                      0% 863/zygote: 0% user + 0% kernel / faults: 12 minor
                                                                                                      0% 1010/android.hardware.audio.service: 0% user + 0% kernel / faults: 78 minor
                                                                                                      0.3% 1043/[email protected]: 0.1% user + 0.1% kernel / faults: 30 minor
                                                                                                      0.3% 1049/vendor.qti.hardware.display.allocator-service: 0.1% user + 0.1% kernel / faults: 264 minor
                                                                                                      0.3% 1123/audioserver: 0.1% user + 0.1% kernel / faults: 72 minor
                                                                                                      0% 1473/cameraserver: 0% user + 0% kernel / faults: 58 minor
                                                                                                      0% 1501/mediaserver: 0% user + 0% kernel / faults: 76 minor
viewBinding.btnSend.setOnClickListener {
            if (ViewUtil.isInvalidClick(it)) {
                return@setOnClickListener
            }
            val content = viewBinding.etContent.text.toString()
            if (content.isEmpty()) {
                Toast.makeText(applicationContext, "请输入数据", Toast.LENGTH_SHORT).show()
                return@setOnClickListener
            }
            if (currentSendNode == null) {
                Toast.makeText(applicationContext, "请选择特征值写操作", Toast.LENGTH_SHORT).show()
                return@setOnClickListener
            }
            currentSendNode?.let { node ->
                lifecycleScope.launch {
                    withContext(Dispatchers.IO){
                        repeat(1000) {
                            viewModel.writeData(
                                getBleDevice(),
                                node,
                                content
                            )
                        }
                    }
                }
            }
        }

如果复现不出来,可以尝试点击界面中的其他按钮

大佬,请问如何提升发送固件文件的速度?

情况说明:蓝牙固件文件文件大小有1.5M左右,设置Mtu为512,读取固件文件以hex发送给设备。间隔1000ms给writeData传ByteArray的长度为2048的数据给设备。我看日志,您做了分包,每次startWriteJob的差不多100ms,这样发送完要10分钟,请问如何修改才能更快?

多连接问题

请问多连接的通知回调怎么处理呢,回调函数里面有没device,只有数据。

支持多连接嘛?

您好~
我想问下这个库支持多连接嘛?我 看了下库代码好像没发现,请问这个在需求计划表之内了吗?
看到大佬这个库用上了 kotlin 以及 jetpack 套件很是惊喜!!! 感谢作者的努力~

关于扫描蓝牙权限问题

想请教下扫描蓝牙权限 的问题 扫描蓝牙是否一定要开精确位置权限 用户选择了大致位置是否就无法扫描到蓝牙设备 TargetSDK 为33 测试机为Android 14 的三星 因为蓝牙权限被很多用户投诉

minSdk问题

因为项目的minSdk=21,框架的minSdk=24,编译不通过,能否把框架的minSdk设为21?
谢谢!

连接慢的问题

同一个手机,同一个蓝牙设备,用fastble和本库连接,测试多次均发现连接、读写。通知全流程都会慢5~6s,还有优化的空间吗

Notify fail

华为手机,使用测试APP notify提示SetCharacteristicNotificationFail,用fastBle notify成功,不知道为啥!

数据频繁交互时出现卡死

作者你好:
在使用过程中,实现一秒查询一次数据,返回数据量2000个字节左右,如果长时间进行数据交互会偶发性出现蓝牙Notifiy无法收到数据的情况,但是发送数据时没有问题的,当这个时候断开蓝牙连接会出现ANR报错。

报错 One or more classes has class file version >= 56 which is not officially supported.

Execution failed for task ':app:mergeExtDexDebug'.

Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
Failed to transform BleCore-1.5.3.aar (com.github.buhuiming:BleCore:1.5.3) to match attributes {artifactType=android-dex, asm-transformed-variant=NONE, dexing-enable-desugaring=true, dexing-is-debuggable=true, dexing-min-sdk=24, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}.
> Execution failed for DexingNoClasspathTransform: /Users/johnvi/.gradle/caches/transforms-3/05df512089c51dbd2ced0e2d27d3c06d/transformed/jetified-BleCore-1.5.3-runtime.jar.
> Error while dexing.

One or more classes has class file version >= 56 which is not officially supported.
com.android.tools.r8.internal.nc: Sealed classes are not supported as program classes

关于接收大量数据的问题

作者你好,在使用过程中接收大量数据时会出现数据错乱的问题

1698811566756

在接收大数据时,onCharacteristicChanged接收的某包数据会延时发出,导致后续组帧错误

请教问题

你好, 我对蓝牙这块开发不是很懂,我想问一下app是否能同时连接两个或多个设备, 比如血糖仪设备, 同时连接两个以上

通过mac 构造bledevice

大佬 我保存了 mac 列表 ,循环连设备是通过 mac连的, 通过mac 连接 gatt 服务获取为空了

autoconnect

要使用autoconnect是否需要先和裝置配對
以及 非主動斷開自動連接的非主動 是建立在什麼樣的情況

isForceConnect的作用和解释没明白

我可不可以理解无论是isForceConnect 还是AutoConnect还是无法在蓝牙断开后进行自动重连,
我在测试的时候连接成功后,设备蓝牙断电后,间隔2S后马上开启,DEMO不会进行重连处理,
还是需要自己去在监听地方处理重连逻辑

版权声明

/*

  • Copyright (c) 2022-2032 buhuiming
  • 不能修改和删除上面的版权声明
  • 此代码属于buhuiming编写,在未经允许的情况下不得传播复制
    */
    大佬,我能用你这个库,接入项目里面使用吗

公司的设备,华为手机无法read,显示超时

问题描述(出现的环境,demo是否存在)【必填】
直接跑的demo,连公司设备,connect,notify没问题,read,就超时;
https://github.com/wandersnail/easyble-x 这个sdk,链接公司设备后,read没有问题,你可以参考一下read部分代码;

框架文档是否提及了该问题【必答】

是否已经查阅框架文档但还未能解决的【必答】
看文档了,用的是demo;

issue 列表中是否有人曾提过类似的问题【必答】
无;

是否已经搜索过了 issue 列表但还未能解决的【必答】
yes;

1713495711267

1713497011467

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.