Phonegap Don的BluetoothSerial插件:向蓝牙打印机发送和打印文本

时间:2014-07-28 16:02:42

标签: android cordova printing bluetooth

使用Android / Phonegap(使用adobe phonegap builder构建)项目将一些字符串打印到蓝牙打印机。

我正在使用最新版本的Phonegap和Don's BluetoothSerial plugin

我有两个问题:

  1. 我可以使用 bluetoothSerial.write 发送一个字符串,它说它是一个 成功,但我的打印机没有任何反应(我试图放一些“\ n”,但它没用)
  2. bluetoothSerial.connect bluetoothSerial.connectInsecure 都将失败
  3. 我尽力检查网络上的现有代码,但没有发现有关此问题的内容。我完全迷失了,不知道我做错了什么,或者我错过了什么。

    请参阅下面我的基本代码:

    HTML

    <button id="testco" type="button">Test Connect</button>
    <button id="listnwrite" type="button">List & Write</button>
    <button id="insecure" type="button">Insecure connect</button>
    <button id="deco" type="button">Disconnect bluetooth</button>
    

    的JavaScript

    $(document).ready(function() {
    
        $("#testco").click(function() {
            bluetoothSerial.connect("00:19:5D:23:D1:7F", connectSuccess, connectFailure);
        });
    
        $("#listnwrite").click(function() {
            bluetoothSerial.list(function(devices) {
                devices.forEach(function(device) {
                    var data = "something \n";
                    alert(device.address);
                    bluetoothSerial.connect(device.address, connectSuccess, connectFailure);
                    bluetoothSerial.write(data, success, failure);
                })
            }, connectFailure);
        });
    
        $("#insecure").click(function() {
            bluetoothSerial.connectInsecure("00:19:5D:23:D1:7F", connectSuccess, connectFailure);
        });
    
        $("#deco").click(function() {
            bluetoothSerial.disconnect(sucessdeco, faildeco);
        });
    
    });
    

    所有失败/成功功能都会发送一些警报('[ko / ok]')来检查状态。

    有人可以帮我吗?我需要将一些特殊的字符发送到我的蓝牙打印机才能打印吗?

2 个答案:

答案 0 :(得分:1)

检查后,此插件不能与蓝牙打印机一起使用。我现在正在使用映射到我的BT打印机SDK的插件,它就像一个魅力。

答案 1 :(得分:1)

要使用蓝牙打印机运行代码,您需要打印机支持ESC / POS协议(http://en.wikipedia.org/wiki/ESC/P)并配置为接收。

然后你必须用“\ r \ n”完成你的字符串。

 $("#listnwrite").click(function() {
        bluetoothSerial.list(function(devices) {
            devices.forEach(function(device) {
                var data = "something \r\n";
                alert(device.address);
                bluetoothSerial.connect(device.address, connectSuccess, connectFailure);
                bluetoothSerial.write(data, success, failure);
            })
        }, connectFailure);
 });

对于我的情况,我使用蓝牙收据打印机“Star”型号:TSP650II 要进入“ESC / POS”模式,就会将DIP开关1(在打印机上)关闭。