sendtoequ: function (e) { var that = this console.log( "发送消息到:deviceId" + that.data.connectedDeviceId); console.log( "serviceId:" + that.data.serviceId);
let _value = str2ab(that.data.inputValue);//输入的数据 wx.writeBLECharacteristicValue({ // 这里的 deviceId 需要在上面的 getBluetoothDevices 或 onBluetoothDeviceFound 接口中获取 deviceId: that.data.connectedDeviceId, // 这里的 serviceId 需要在上面的 getBLEDeviceServices 接口中获取 serviceId: that.data.serviceId, // 这里的 characteristicId 需要在上面的 getBLEDeviceCharacteristics 接口中获取 characteristicId: that.data.characteristicId, // 这里的value是ArrayBuffer类型 value: _value, // value: buffer, success: function (res) { console.log(res) console.log( 'writeBLECharacteristicValue success' , ab2str(_value)) } })
function ab2str(buf) { return String.fromCharCode.apply(null, new Uint16Array(buf)); } function str2ab(str) { var buf = new ArrayBuffer(str.length*4); // 4 bytes for each char var bufView = new Uint16Array(buf); for ( var i=0, strLen=str.length; i<strlen; i++)="" {<="" code="">
|
安卓不能连接蓝牙小票打印机,苹果能发送数据,但不能打印
下图成功发送1到打印机,但是,打印机没反应
需要低功耗蓝牙的打印机 看看这个 :https://developers.weixin.qq.com/blogdetail?action=get_post_info&docid=7e85fa4514a56b7928646f96dd4bcabe&highline=%E8%93%9D%E7%89%99%E6%89%93%E5%8D%B0%E6%9C%BA
我也是返回成功,但是打印机没反应, 请问楼主具体怎么处理的,我试了下面的代码也没反应
writeBLECharacteristicValue(uuid) {
// 向蓝牙设备发送一个0x00的16进制数据
let str =
"你要打印的内容"
;
let buffer =
new
encoding.TextEncoder(
"gb2312"
, { NONSTANDARD_allowLegacyEncoding:
true
}).encode(str).buffer
wx.writeBLECharacteristicValue({
deviceId:
this
.data.deviceId,
serviceId:
this
.data.serviceId,
characteristicId: uuid,
value: buffer,
success: (res) => {
console.log(
'write success'
, res)
},
fail: (err) => {
console.log(
'write error'
, err)
}
})
},
https://developers.weixin.qq.com/blogdetail?action=get_post_info&docid=00064e888301c02cbba6ea5ff51404&token=1640017302&lang=zh_CN&comment_lvl=3 感谢这位老哥,能打印了
支持低功耗
是低功耗蓝牙类型么?
同样的问题,能连接成功、发送数据回调成功,但是打印机没反应