Windows IoT - Zebra 蓝牙打印机

Windows IoT - Zebra Bluetooth Printer

我有两台 Zebra 蓝牙打印机,MZ220 和 iMZ220。 "only" 我会做的事情是在 Raspberry Pi 2 上使用 Windows 物联网系统打印文本。仅此而已 ;)

示例: 第 1 行 " Hello World" 第 2 行 "---------------" 第 3 行 "Date:01.01.2016" 第 4 行 "Time: 18:00"

ORICO的USB蓝牙适配器BTA-403,感觉不错。使用资源管理器,我可以连接到打印机。但是,接下来呢?如何连接到打印机?我怎么对打印机说 print "Hello World!"

谢谢!

这些打印机使用蓝牙作为串行端口,也称为 SSP 配置文件。

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

<Capabilities>
    <Capability Name="internetClient" />
    <DeviceCapability Name="bluetooth.rfcomm">
        <Device Id="any">
            <Function Type="name:serialPort"/>
        </Device>
    </DeviceCapability>
</Capabilities>

您可以像这样获得配对的打印机

var devices = await DeviceInformation.FindAllAsync(RfcommDeviceService.GetDeviceSelector(RfcommServiceId.SerialPort));

一旦您确定了正确的打印机,您就可以打开连接

var service = await RfcommDeviceService.FromIdAsync(DeviceInfo.Id);
var socket = new StreamSocket();
await socket.ConnectAsync(service.ConnectionHostName, service.ConnectionServiceName);

你应该可以发送这样的信息

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();
}