斐讯n1遥控器app——蓝牙篇

上一篇文章介绍的是使用wifi遥控电视盒子,缺点是盒子并没有真正关机,只是关闭了屏幕。为了让处于休眠状态下的盒子能够接收遥控指令,必须使其一直连在路由器上面,无疑增加了耗电量。下面介绍另一种办法,使用安卓的蓝牙功能来模拟一个蓝牙键盘(或者说蓝牙遥控器),实现在盒子关机的情况下,让盒子开机。这种办法同样无需在盒子上安装第三方软件,也无需购买实体遥控器。源码在文末

开机方法(webpad官改系统测试有效)

如果只是想要在关机情况下开机,方法很简单,只要把手机和盒子事先配对好,打开手机蓝牙界面,点击一下盒子的名称即可唤醒盒子,这种办法连编程都不需要,可以说是个蓝牙设备都能唤醒盒子。即使要编程,也很简单:

BluetoothAdapter adapter= BluetoothAdapter.getDefaultAdapter();
BluetoothDevice device = adapter.getRemoteDevice("FC:7C:02:00:00:00");//n1 MAC地址
BluetoothGatt gatt = device.connectGatt(this, false, new BluetoothGattCallback(){});//只需连接一下,不需要发送特定的数据,就能唤醒盒子
gatt.close();

编程的目的是弥补wifi遥控不能开机的缺点。把以上代码加到电源键的逻辑后面,实现既能关机又能开机的wifi遥控。

遥控方法

如果要实现蓝牙遥控换台、调音量等功能,就要去写代码了。代码的关键是BluetoothHidDevice这个类,该类是在安卓9(API 28)中才开放的,所以手机安卓系统版本在9.0以下的就不用看了。使用BluetoothHidDevice,可以让安卓手机模拟为一个蓝牙hid设备,比如蓝牙鼠标、蓝牙键盘、蓝牙触摸板等等。

相较于wifi遥控来说,蓝牙遥控比较复杂一些,需要了解蓝牙协议栈,精通linux和安卓。由于我也不是专业做安卓开发的,对蓝牙协议也不了解,只是一个业余爱好者,希望哪位感兴趣的大神可以把这个蓝牙遥控器给做得漂亮一点。

使用说明

配对过程中不能离开app界面,否则服务会暂停,导致配对后不能把手机识别为hid设备(这一点大神们可以完善一下)。那怎么办呢?可以用盒子来发起配对请求,或者在手机上下拉通知栏打开蓝牙进行搜索,或者使用分屏功能等等,总之,办法有很多。配对成功后可以在盒子上看到有一个输入设备,如下图:

 

斐讯n1遥控器app——蓝牙篇_第1张图片

如果没有成功,需要取消配对,重新进入软件,再按上面的步骤操作。然后就可以在手机上遥控盒子了:

斐讯n1遥控器app——蓝牙篇_第2张图片

Android Studio工程代码和apk:https://lanzous.com/b00th063g
密码:flos

 

你可能感兴趣的:(Java/安卓,蓝牙,安卓,物联网)