tanyi
tanyi
  • 发布:2019-01-07 21:59
  • 更新:2019-09-11 14:52
  • 阅读:5347

plus.bluetooth.writeBLECharacteristicValue 佳博 1324d热敏打印机 执行后不打印

分类:5+ SDK
// 写入低功耗蓝牙设备的特征值  
    function writeCharacteristics() {  
                plus.bluetooth.writeBLECharacteristicValue({  
                    deviceId: deviceId, //必选 蓝牙设备的id  
                    serviceId: serviceId, //必选 蓝牙服务的uuid  
                    characteristicId: characteristicId, //选必蓝牙特征值的UUID    
                    value: stringToByte(value), //必选要写入的数据   
                    success: function(e) {  
                        console.log('write characteristics success: ' + JSON.stringify(e));  
                    },  
                    fail: function(e) {  
                        console.log('write characteristics failed: ' + JSON.stringify(e));  
                    }  
    });  
}

执行返回

 write characteristics success: {"code":0,"message":"ok"}

但是打印机没有反应
已测试使用wx小程序可以打印

    // 打印字符串  
    owner.PrintString = function(string) {  
        var bytes = plus.android.invoke(string, 'getBytes', 'gbk');  
        owner.OutputStream.write(bytes);  
    };

使用 outputStream.write方式也是同样效果
uuid :49535343-fe7d-4ae5-8fa9-9fafd205e455
characteristicId:
{"uuid":"49535343-1e4d-4bd9-ba61-23c647249616","properties":{"read":false,"write":false,"notify":true,"indicate":false}} at js/common.js:140
{"uuid":"49535343-8841-43f4-a8d4-ecbe34729bb3","properties":{"read":false,"write":true,"notify":false,"indicate":false}} at js/common.js:140
{"uuid":"49535343-aca3-481c-91ec-d85e28a60318","properties":{"read":false,"write":true,"notify":true,"indicate":false}} at js/common.js:140
{"uuid":"49535343-6daa-4d02-abf6-19569aca69fe","properties":{"read":true,"write":true,"notify":false,"indicate":false}} at js/common.js:140

2019-01-07 21:59 负责人:无 分享
已邀请:
9***@qq.com

9***@qq.com - 扬帆起航

uin-app蓝牙打印机demo
https://github.com/qihang666/BluetoothPrinter
这个demo已经实现好了 拿来用吧 记得点个star

DCloud_UNI_GSQ

DCloud_UNI_GSQ

如果是uniapp的话,试试uni的API

  • tanyi (作者)

    用的app的 uni和app不一样吗

    2019-01-08 11:28

  • tanyi (作者)

    下午试过了 uni的api 也还是不行

    2019-01-08 20:25

l***@163.com

l***@163.com

我使用了你了代码,在最新的HBuilderX1.4.1里面测试的可以打印的,开始也不能打印,是因为我选错了特征值,你可以试一下

  • tanyi (作者)

    我知道原因了,不是代码问题,是这个打印机必须要带指令才可以打印。现在发现打印不了图片。需要output一个二进制,但是js不能用二进制流

    2019-01-17 09:14

  • lgsh10086

    能否分享一下代码 ?

    2019-03-01 15:19

tanyi

tanyi (作者)

问题解决了 代码是没问题的 问题在于 这个打印机需要带指令 不能直接打印字符串

  • handshaker

    请问是怎么解决的?指令是什么?指令是写在传输的value里吗?

    2020-12-10 09:20

lgsh10086

lgsh10086

大佬能否共享一下代码啊

3***@qq.com

3***@qq.com - 80后it男

打印机如何带指令?

  • 糖糖男儿

    //outputStream.write([0x1B,0x45,0x01]); //加粗打印字体

    //outputStream.write([0x1B,0x45,0x00]); //取消加粗打印字体

    //outputStream.write([0x1B,0x61,0x00]); // 选择对齐方式居左对齐

    //outputStream.write([0x1B,0x61,0x01]); // 选择对齐方式居中对齐

    //outputStream.write([0x1B,0x61,0x02]); // 选择对齐方式居右对齐

    //outputStream.write([0x1d,0x21,0x11]); // 宽高加倍

    //outputStream.write([0x1d,0x21,0x10]); // 宽加倍

    //outputStream.write([0x1d,0x21,0x01]); // 高加倍

    //outputStream.write([0x1d,0x21,0x00]); // 取消字体放大

    //outputStream.write([0x1b,0x33,32]); // 默认行间距32

    2019-09-20 16:26

ahtl_yy

ahtl_yy

大佬 能分享一下代码吗, 有偿

该问题目前已经被锁定, 无法添加新回复