0

Возникли проблемы с подключением к новому приобретенному мобильному принтеру Zebra ZQ 510 от Motorola MC32N0 через bluetooth с использованием следующего устаревшего кода (ссылка на InTheHand.Net.Personal длл):Мобильный принтер Zebra ZQ 510, совместимый с Motorola MC32NO (Windows Embedded Compact 7.0)

using InTheHand.Net; 
using InTheHand.Net.Bluetooth; 
using InTheHand.Net.Sockets; 
using InTheHand.Net.Ports; 

BluetoothAddress mac = BluetoothAddress.Parse("B0B44879581D"); 
BluetoothEndPoint btEndPoint = new BluetoothEndPoint(mac, BluetoothService.SerialPort); 
BluetoothClient bluetoothClient = new BluetoothClient(); 
bluetoothClient.Connect(btEndPoint); 

Мой обходной путь заключается в использовании функции BluetoothSecurity.PairRequest() для сопряжения принтера, но вручную назначить последовательный порт (или COM5 или com9) с помощью приложения BTUI. Затем используйте следующий код (ссылающийся Zebra Link OS SDK (ZSDK_API.dll)):

using ZSDK_API.Comm; 
// Instantiate connection for ZPL Serial port on COM5. 
ZebraPrinterConnection thePrinterConn = new SerialPrinterConnection("COM5"); 
// Open the connection - physical connection is established here. 
thePrinterConn.Open(); 

подключиться к нему, чтобы напечатать.

есть вопросы: 1. Хотелось бы узнать, поддерживает ли мобильный принтер Zebra ZQ 510 со смарт-Bluetooth, совместимый с Motorola MC32NO (работает на Windows Embedded Compact 7.0)? 2. Есть ли способ создать виртуальный COM-порт программно в Windows CE?

ответ

0

Ищите решение проблемы. Загружено Motorola EMDK для .NET v2.9, а также ссылка Symbol.WPAN.dll. используя следующий код, удалось подключиться к принтеру Zebra ZQ510 и распечатать этикетку, как ожидалось. Не забудьте скопировать BTInterface.dll из EMDK в папку программы.

 using Symbol.WPAN.Bluetooth; 
     Bluetooth m_Bluetooth = new Bluetooth(); 
     m_Bluetooth.Enable(); 
     RemoteDevice rd = new RemoteDevice("", currentBTPrinterMacAdd, ""); 
     rd.LocalComPort = LocalComPortForZebraPrinterZQ510; 
     m_Bluetooth.RemoteDevices.Add(rd); 

     if (!rd.IsPaired) 
      rd.Pair(); 

     rd.OpenPort(); 
     rd.Write(Encoding.Default.GetBytes(template)); 

     rd.ClosePort(); 
     rd.UnPair(); 

     m_Bluetooth.Disable(); 
     m_Bluetooth.Dispose(); 
Смежные вопросы