在RPi3上从Windows 10 IoT向Zebra发送原始打印命令

时间:2017-01-06 15:21:14

标签: windows printing raspberry-pi usb iot

我正在尝试设置一个简单的应用程序,我的Raspberry Pi 3可以通过USB向Zebra打印机发送原始打印命令。

我有一个可用的WPF c#应用程序,它将使用类似于https://support.microsoft.com/en-us/kb/322091RawPrinterHelper类在我的桌面上运行,但winspool.Drv不会在Pi3上运行,因为ARM处理器(据我所知)。

看到Windows 10 IoT需要UWP应用程序,我试图在UWP中重新编写应用程序。我有应用程序正常工作,但无法通过USB发送原始命令而没有来自winspool.Drv类的RawPrinterHelper

我也尝试过按照此处所述通过蓝牙发送:Windows IoT - Zebra Bluetooth Printer  但似乎无法打开与配对设备的连接,因为var devices = await DeviceInformation.FindAllAsync(RfcommDeviceService.GetDeviceSelector(RfcommServiceId.SerialPort));并未返回任何设备。这是我的代码:

    private async void PrintAsync()
    {
        textBox.Text = "Searching for devices";

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

        if(devices.Count() == 0)
        {
            textBox.Text = "No devices found";
            return;
        }

        textBox.Text = "Number of paired devices found: " + devices.Count();

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

        var writer = new DataWriter(socket.OutputStream);
        var command = "^XA"
        + "^FO20,175^A0N,40,25^FD" + "Yo." + "^FS"
        + "^FO20,250^A0N,40,25^FD" + "IT WORKED!" + "^FS"
        + "^XZ";
        writer.WriteString(command);
        await writer.StoreAsync();
    }

如果可行的话,我愿意在mono和Raspbian上运行我的应用程序。

任何帮助或指示都将不胜感激!

提前致谢!

更新:我正在使用RP3的板载蓝牙,而不是加密狗。

0 个答案:

没有答案