Back to Top

プログラムの覚書

Category: 32feet

VB.NET Bluetoothデバイスにデータ送信する

32feet.NETを使用して、Bluetoothデバイスにデータ送信する方法を記載します。

例として、送信するデバイスはモバイルプリンタにデータ送信します。

Bluetoothデバイスにデータ送信する

Imports InTheHand.Net.Bluetooth
Imports InTheHand.Net.Sockets

Dim client = New BluetoothClient()

Dim device = client.DiscoverDevices().Where(Function(d) d.DeviceName = "BLM-80").FirstOrDefault()
If device IsNot Nothing Then
    client.SetPin("0000")
    client.Connect(device.DeviceAddress, BluetoothService.SerialPort)

    Dim bluetoothStream = client.GetStream()
    If bluetoothStream.CanWrite Then
        Dim buffer = New Byte() {&H30, &H31, &H32, &H33, &H34, &H35, &HD, &HA}
        bluetoothStream.Write(buffer, 0, buffer.Length)
    End If
End If

・device変数に、モバイルプリンタ(BLM-80)を選択しています。

・SetPin(“0000”)は、パスコードをセットします。パスコードは機器によって異なりますが、”0000″、”1234″が多いようです。詳細はデバイスのマニュアルを参照ください。

・CanWriteメソッドで、出力デバイスかの確認をしています。

・Writeメソッドで、プリンタに”012345″の印刷をしています。

※接続は、Windowsで接続済み、ペアリング済み、ペアリングされていないものでも接続できます。

 

Posted in 32feet | Leave a reply

VB.NET Bluetoothデバイスを取得する

32feet.NETを使用して、Bluetoothデバイスで、接続済みデバイス、ペアリング済みデバイス、ペアリング中のデバイスを取得する方法を記載します。

 

Bluetoothデバイス名を取得する

Windowsで、接続済み、ペアリング済み、および 近くにあるペアリングモードになっている機器のデバイス名を表示します。

Imports InTheHand.Net.Sockets

Dim client = New BluetoothClient()
Dim Devices = client.DiscoverDevices()
If (Devices.Length > 0) Then
    For Each device In Devices
        Console.WriteLine(device.DeviceName)
    Next
End If

結果の例

Microsoft Bluetooth Number Pad
Microsoft Bluetooth Mobile Keyboard 6000
BLM-80
LBT-SPP300

・実際のテストで表示されたているのは、キーボード、テンキー、モバイルプリンタ(BLM-80)、スピーカー(LBT-SPP300)です。

Bluetoothデバイス情報を取得する

デバイスの情報は、BluetoothDeviceInfoクラスで取得する

Imports InTheHand.Net.Sockets

Dim client = New BluetoothClient()
Dim Devices = client.DiscoverDevices()
If (Devices.Length > 0) Then
    For Each device As BluetoothDeviceInfo In Devices
        Console.WriteLine("DeviceName  : {0}", device.DeviceName)
        Console.WriteLine("Connected   : {0}", device.Connected)
        Console.WriteLine("Address     : {0}", device.DeviceAddress)
        Console.WriteLine("Last seen   : {0}", device.LastSeen)
        Console.WriteLine("Last used   : {0}", device.LastUsed)
        Console.WriteLine("Device      : {0}", device.ClassOfDevice.Device)
        Console.WriteLine("Major Device: {0}", device.ClassOfDevice.MajorDevice)
        Console.WriteLine("Service     : {0}", device.ClassOfDevice.Service)
        Console.WriteLine("")
    Next
End If

結果例

DeviceName  : Microsoft Bluetooth Number Pad
Connected   : False
Address     : 7CED8D6A65B3
Last seen   : 2016/02/05 16:06:24
Last used   : 2016/02/05 16:06:24
Device      : PeripheralKeyboard
Major Device: Peripheral
Service     : LimitedDiscoverableMode

DeviceName  : Microsoft Bluetooth Mobile Keyboard 6000
Connected   : True
Address     : 7CED8D6AC286
Last seen   : 2017/09/13 13:36:27
Last used   : 2017/09/13 13:36:27
Device      : PeripheralKeyboard
Major Device: Peripheral
Service     : LimitedDiscoverableMode

DeviceName  : LBT-SPP300
Connected   : False
Address     : 9BE623102709
Last seen   : 2017/09/13 14:23:57
Last used   : 1601/01/01 0:00:00
Device      : AudioVideoHeadset
Major Device: AudioVideoUnclassified
Service     : Rendering, Audio

DeviceName  : BLM-80
Connected   : False
Address     : 000190E649CE
Last seen   : 2017/09/13 14:24:00
Last used   : 1601/01/01 0:00:00
Device      : Uncategorized
Major Device: Uncategorized
Service     : None

 

Posted in 32feet | Leave a reply