Printing Windows IoT-Zebra蓝牙打印机

Printing Windows IoT-Zebra蓝牙打印机,printing,bluetooth,raspberry-pi2,zebra-printers,windows-10-iot-core,Printing,Bluetooth,Raspberry Pi2,Zebra Printers,Windows 10 Iot Core,我有两台Zebra蓝牙打印机,一台MZ220和一台iMZ220。“唯一”我会做的事,就是在Raspberry Pi 2上用Windows物联网系统打印文本。没别的了;) 例如: 第1行“你好,世界” 第2行“--------------” 第3行“日期:2016年1月1日” 第4行“时间:18:00” 我想ORICO的USB蓝牙适配器BTA-403工作得很好。使用浏览器,我可以连接到打印机。但是,接下来呢?如何连接到打印机?如何向打印机打印“你好,世界!” 谢谢 这些打印机像串行端口一样使用蓝牙

我有两台Zebra蓝牙打印机,一台MZ220和一台iMZ220。“唯一”我会做的事,就是在Raspberry Pi 2上用Windows物联网系统打印文本。没别的了;)

例如: 第1行“你好,世界” 第2行<代码>“--------------” 第3行“日期:2016年1月1日” 第4行“时间:18:00”

我想ORICO的USB蓝牙适配器BTA-403工作得很好。使用浏览器,我可以连接到打印机。但是,接下来呢?如何连接到打印机?如何向打印机打印“你好,世界!”


谢谢

这些打印机像串行端口一样使用蓝牙

首先,您必须编辑应用程序清单并添加新的设备功能

<Capabilities>
    <Capability Name="internetClient" />
    <DeviceCapability Name="bluetooth.rfcomm">
        <Device Id="any">
            <Function Type="name:serialPort"/>
        </Device>
    </DeviceCapability>
</Capabilities>
确定正确的打印机后,即可打开连接

var service = await RfcommDeviceService.FromIdAsync(DeviceInfo.Id);
var socket = new StreamSocket();
await socket.ConnectAsync(service.ConnectionHostName, service.ConnectionServiceName);
你应该能够发送这样的信息

var devices = await DeviceInformation.FindAllAsync(RfcommDeviceService.GetDeviceSelector(RfcommServiceId.SerialPort));
private async void PrintAsync(string line)
{
    var writer = new DataWriter(socket.OutputStream);
    var command = "^XA^LH30,30^F020,10^AD^FD + line + "^FS^XZ";
    writer.WriteString(command);
    await writer.StoreAsync();
}

亲爱的丹维,我爱你。。。昨天,我收到了你的答复。但是已经很晚了,我只是在做梦。但今天我醒来并测试了你的代码,它是有效的!别再说了。谢谢你,丹维!3年后,我也有了同样的感受。谢谢danvy和MeerArtefakt。