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();
}
我有两台 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();
}