There's no active work in that front. I've often thought about writing the necessary driver to allow access to the Windows L2CAP API from our product but never had the time not funding to do so. I'd be happy to help.
↧
New Post: HDP on Native Windows Stack
↧
New Post: Code never runs past AcceptBluetoothClient
I'm a beginner in both bluetooth and 32feet.NET's library programming. I am building an Android app that will connect to my .NET server to send messages. I am using the following starter code to try to gather messages sent to the server:
Does AcceptBluetoothClient block until it receives a connection from a client? It might just be that my server is waiting for a connection properly, but doesn't receive the message properly from the client side. Adding to this, if I want to have multiple connections from multiple clients, do I need to create a new BluetoothClient for each object, or how would that work?
Thank-you for your help
private Guid service = new Guid("{860c8850-91c7-11e3-baa8-0800200c9a66}");
private BluetoothClient client;
private BluetoothListener listener;
public BluetoothManager()
{
BluetoothRadio.PrimaryRadio.Mode = RadioMode.Connectable;
listener = new BluetoothListener(service);
listener.Start();
client = listener.AcceptBluetoothClient(); // Never passes this line
Console.Writeline("Bluetooth client accepted - Never prints");
Stream peerStream = client.GetStream();
var wtr = new StreamReader(peerStream);
var line = wtr.ReadLine();
MessageBox.Show(line);
}
As stated in the comments and WriteLine, the code never passes the AcceptBluetoothClient call. I've tried other peoples' suggestions on this forum who seem to have had the same problem (I believe changing the guid fixed it for them) but haven't had luck, as changing the guid makes no difference. It doesn't throw an exception or any errors, it just stops at that line. Does AcceptBluetoothClient block until it receives a connection from a client? It might just be that my server is waiting for a connection properly, but doesn't receive the message properly from the client side. Adding to this, if I want to have multiple connections from multiple clients, do I need to create a new BluetoothClient for each object, or how would that work?
Thank-you for your help
↧
↧
New Post: Code never runs past AcceptBluetoothClient
Yes AcceptBluetoothClient block until it receives a connection from a client. You need to use the same UUID/Guid on both sides of the connection. Does the Android client connect or fail?
It returns a new BluetoothClient for each client that connects. If multiple clients are connecting at the same time you'll need to use threads or asynchronous code to service the multiple clients and new connection simultaneously.
It returns a new BluetoothClient for each client that connects. If multiple clients are connecting at the same time you'll need to use threads or asynchronous code to service the multiple clients and new connection simultaneously.
↧
New Post: Bluetooth pairing used for Dial Up Networking on Windows Mobile
Hello,
While not directly a 32 feet issue, I'm hoping someone here has experience with the problem I'm working through here and may be able to assist.
I've been tasked with writing an application for Windows Mobile that establishes a pairing with a phone and then uses it's internet to then transmit data from the device to a C# webservice. The webservice is written, and works (tested via wifi), and creating the pairing between the phone and the device seems to work as well.
I am having a few problems however:
1.) I have not been able to successfully create the pairing in the device with the 'Dialup Networking' service enabled, nor can I see it in the device settings screens without rebooting the device.
2.) I'm using XML Provisioning to create the Bluetooth Dialup Modem in the device, and providing the details require to dial (such as phone number, username, password etc). And this creates correctly using the ProcessConfiguration command. The problem I'm having here is when you manually create this modem connection through the control panel, you are asked to choose a bluetooth partnership, and I can't find any way to define this step through my code.
Any thoughts that anyone could provide on this subject would be greatly appreciated.
I've been stuck on this problem for about a week now, and I'm running out of ideas.
Thanks,
Kevin
While not directly a 32 feet issue, I'm hoping someone here has experience with the problem I'm working through here and may be able to assist.
I've been tasked with writing an application for Windows Mobile that establishes a pairing with a phone and then uses it's internet to then transmit data from the device to a C# webservice. The webservice is written, and works (tested via wifi), and creating the pairing between the phone and the device seems to work as well.
I am having a few problems however:
1.) I have not been able to successfully create the pairing in the device with the 'Dialup Networking' service enabled, nor can I see it in the device settings screens without rebooting the device.
2.) I'm using XML Provisioning to create the Bluetooth Dialup Modem in the device, and providing the details require to dial (such as phone number, username, password etc). And this creates correctly using the ProcessConfiguration command. The problem I'm having here is when you manually create this modem connection through the control panel, you are asked to choose a bluetooth partnership, and I can't find any way to define this step through my code.
Any thoughts that anyone could provide on this subject would be greatly appreciated.
I've been stuck on this problem for about a week now, and I'm running out of ideas.
Thanks,
Kevin
↧
New Post: Code never runs past AcceptBluetoothClient
I was able to connect to the bluetooth client (with code very similar to the above) via a python script, indicating the problem seems to be on the Android's side. The blocking bit makes much more sense now, and I appreciate your insight on the multiple clients part.
On the Android side, a very stripped down piece of code that illustrates how we're trying to connect is:
Thank-you for your help, Alan, it's very much appreciated!
On the Android side, a very stripped down piece of code that illustrates how we're trying to connect is:
BluetoothDevice mDevice = mBluetoothAdapter.getRemoteDevice(MAC_ADDRESS);
// Attempt to connect to the device by getting a socket
// Get a BluetoothSocket to connect with the given BluetoothDevice
// MY_UUID is the app's UUID string, also used by the server code
BluetoothSocket socket = mDevice.createRfcommSocketToServiceRecord(UUID);
// Connect the device through the socket. This will block until it succeeds or throws an exception
mSocket.connect();
But the connection never goes through, the server does not see it. Asking for help on the Android side may be out of the scope of this forum, so we'll keep working on it and see if we can get it working (but any pointers you know of wouldn't be turned down ;) ). Thank-you for your help, Alan, it's very much appreciated!
↧
↧
New Comment on "Windows Metro"
New windows 8.1 namespaces look to be a bit more forthcoming. See:
http://social.msdn.microsoft.com/Forums/en-US/8e95f9b1-dedd-41f6-a5d9-ed89720081f9/rfcomm-api-rfcommdeviceservice-error-opening-socket-winrt?forum=w81prevwCsharp
http://code.msdn.microsoft.com/windowsapps/Bluetooth-Rfcomm-Chat-afcee559
http://msdn.microsoft.com/en-us/library/windows/apps/dn263090.aspx
Its still not possible to attach new devices, nor is it possible to enable Bluetooth from the app, but you are at least able to communicate with previously attached ones.
↧
New Comment on "BlueSoleil"
Currently, I want listen from client via bluesoliel. But us libs not support so how to do it. Because i want send data between 2 bluetooth and bluesoleil is bluetooth which i'm using. I hope feedback soon.
Thanks
↧
New Post: Bluetooth connection between pc and android smartphone (VB.net, 32feet.net, Android)
Hi all,
all things I tried did not work with my current HTC One (Android 4.3) :(
What I did is the following:
What´s the problem in this case?
Thanks for your help!
Best regards
Dominik
all things I tried did not work with my current HTC One (Android 4.3) :(
What I did is the following:
- Created a new windowsforms-project (VB.net) using Visual Studio 2012 Express for Windows Desktop and .NET-Framework 4.5
- I created a button and the following method:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'define address
Dim Address As BluetoothAddress = BluetoothAddress.Parse("001122334455")
'fetch serial port
Dim ServiceClass As Guid = BluetoothService.SerialPort
'define endpoint
Dim Ep As New BluetoothEndPoint(Address, ServiceClass)
'define client
Dim Client As New BluetoothClient()
'connect to endpoint
Client.Connect(Ep)
'fetch stream
Dim PeerStream As Stream = Client.GetStream()
'write text
PeerStream.Write(Convert.FromBase64String("test"), 0, Convert.FromBase64String("test").Length)
'close stream
PeerStream.Close()
'disconnect
Client.EndConnect(Nothing)
End Sub
After clicking on the button a socket-exception is thrown at "Client.Connect(Ep)" with the comment: "the requested address is not valid in its context".What´s the problem in this case?
Thanks for your help!
Best regards
Dominik
↧
New Post: Bluetooth connection between pc and android smartphone (VB.net, 32feet.net, Android)
See the reason for that error in the docs at https://32feet.codeplex.com/wikipage?title=Errors What listener is running on the Android??
↧
↧
New Post: Bluetooth connection between pc and android smartphone (VB.net, 32feet.net, Android)
I only enabled bluetooth on android and set the visibility of my phone to everyone. After that I tried to connect with the code above. First of all I want to call a phone-number. If that works, I want to implement the features of the hands-free profile.
Additionally there is one more question: Is there any posibility to check whether the connection got lost?
Additionally there is one more question: Is there any posibility to check whether the connection got lost?
↧
Updated Wiki: BlueSoleil
BlueSoleil
We now have support for the BlueSoleil Bluetooth stack on desktop Windows. There is good support for BluetoothRadio, BluetoothDeviceInfo including RSSI, and device discovery including ‘live’ discovery. There is no support for BluetoothListener (there seems to be no BlueSoleil API), and there is only partial support for SDP querying (returns both partial records and partial attributes). BluetoothSecurity.RemoveDevice is supported, but more work is needed for PairRequest.BluetoothClient.Connect is supported for RFCOMM/SPP connections. However connections can’t be made to profiles that BlueSoleil supports directly, for instance an RFCOMM connection to OBEX Push isn’t possible. Nor is it it possible to make a connection to a specific RFCOMM port number. Connects to service class SerialPort (0x1101) did not work prior to version 3.2 (workitem 30163, revision 85277). BluetoothClient.Authenticate, Encrypt are not supported (no API support), and we haven’t looked at support for SetPin.
BluetoothClient’s data transfer is somewhat lacking in comparison with the other stacks as it doesn’t use Sockets nor has it an data transfer API like Widcomm. Instead it creates a virtual COM port for each connection, and that’s what we have to use. It creates a number of problems, firstly when there’s no data in the buffer for Read we would expect Read to block but instead we get an IO error, so we have to workaround that. Then on Write there seems a lack of flow control, we now internally split any any big writes into smaller chunks and in testing that seems to stop data being lost.
Due to the various restrictions above ObexWebRequest and ObexListener are not supported currently. It should be possible at least to support ObexWebRequest by internally using the BlueSoleil OBEX API directly, something for the future, and volunteers welcomed.
To check if BlueSoleil support is being loaded, check whether BluetoothRadio.PrimaryRadio or AllRadios returns a radio and whether its SoftwareManufacturer is a enum value of IvtBlueSoleil.
See my full test notes in the repository e.g. at https://32feet.svn.codeplex.com/svn/InTheHand.Net.Personal/InTheHand.Net.Personal/Net.Bluetooth.BlueSoleil/32feet%20BlueSoleil%20Test.html It contain information on what error codes are produced in various cases in BluetoothClient.Connect for instance.
Please let me have any feedback.
(The Bluesoleil SDKs are at http://www.bluesoleil.com/support/Intro.aspx?topic=Download_SDK)
↧
New Comment on "BlueSoleil"
There is no BlueSoleil API for listening on a SPP service. At least I can't see one... http://www.bluesoleil.com/support/Intro.aspx?topic=Download_SDK
You can change to another (e.g. MSFT) stack if you need that feature.
↧
Updated Wiki: Connected Property
The Connected Property and Connection Loss
Connection loss will be indicated to the consumer program when a Read or Write operation fails on the connection socket. Bluetooth will detect loss even is no data is being sent (unlike TCP/IP). But the consumer application will only learn of loss on that Read/Write call.Two things happen when a connection is lost:
1. The Connected property.
Both our BluetoothClient.Connected and IrDAClient.Connected properties behave the same as .NET's Socket.Connected and TcpClient.Connected properties. As described by MSDN, the Connected property reports the state as of the lastI/O operation. From MSDN TcpClient.Connected:
"The Connected property gets the connection state of the Client socket as of the last I/O operation. When it returns false, the Client socket was either never connected, or is no longer connected.
Because the Connected property only reflects the state of the connection as of the most recent operation, you should attempt to send or receive a message to determine the current state. After the message send fails, this property no longer returns true. Note that this behavior is by design. You cannot reliably test the state of the connection because, in the time between the test and a send/receive, the connection could have been lost. Your code should assume the socket is connected, and gracefully handle failed transmissions."2. Connection-loss detection
In my testing with Bluetooth it seems to take about twenty seconds for one device to realise that other device has gone -- though this may be configurable. This is called the “Link Supervision Timeout” in Bluetooth. So you will have to wait up to that long for the system to know that the connection is lost, and then you will find out at your next IO operation If you start a read when there is no data being received for instance, it will block until the connection fails, or is closed (or some data is received).
(Note that not all protocols do this detection. The philosophy of TCP/IP is that it should try to survive outages in the network, that is does not send anything when there is no data to be sent. So the only way to find out if a TCP connection is alive is to send some data and see if an error occurs after sending it).
IrDA behaves like Bluetooth; if the other IrDA device isn’t responding then the link it assumed broken, and the checking happens both when data is being transmitted and when the link is idle.
↧
↧
New Post: Bluetooth connection between pc and android smartphone (VB.net, 32feet.net, Android)
Well if you connected a new PC to the Ethernet and tried to connect to its SMTP Email server that'd fail until you added an email server the same's happening here. You need to have an active remote server/service to connect to.
Full HFP requires setting up the audio channel which requires driver level programming on Windows.
(http://www.alanjmcf.me.uk/comms/bluetooth/Bluetooth%20Profiles%20and%2032feet.NET.html
https://32feet.codeplex.com/wikipage?title=Connecting%20to%20Bluetooth%20Services&referringTitle=Documentation)
On connection loss, see https://32feet.codeplex.com/wikipage?title=Connected%20Property
Full HFP requires setting up the audio channel which requires driver level programming on Windows.
(http://www.alanjmcf.me.uk/comms/bluetooth/Bluetooth%20Profiles%20and%2032feet.NET.html
https://32feet.codeplex.com/wikipage?title=Connecting%20to%20Bluetooth%20Services&referringTitle=Documentation)
On connection loss, see https://32feet.codeplex.com/wikipage?title=Connected%20Property
↧
Updated Wiki: Broadcom
Old Widcomm
Note that starting to use Widcomm is not as easy as the other stacks, as unfortunately a native DLL (or two) is required as well as the normal managed library assembly -- that's because its API is C++ and thus can’t be P/Invoke’d directly. The native library(ies) must be copied to the device for support to work. See XXXX
BluetoothClient.Connect is supported for all RFCOMM/SPP connections. be aware of the SDP limitations (see below): i.e. one query at a time and multiple results returned. In particular, if the remote service has restarted more that ten times we won't read the last record(s) and the connect will fail it the service's current channel number is not the same as in the last record we read. BluetoothClient.Authenticate and Encrypt are not supported, nor is SetPin.
Data transfer (for BluetoothClient and BluetoothListener) seems fine.
For BluetoothListener note that that stack does not do clean-up if a program exits without clearing its SDP record. That misleads remote client applications that the service is still running. Also when the application next restarts the server can get the same port (SCN) assigned and thus adds the same record, but any incoming connections don't get passed through! Seen on WM at least.
There are a couple of issue with SDP querying. First the API returns ALL the matching records it has ever read from the peer, so expect to get muliple results if you query more than once! Secondly Widcomm provides access only to particular Attributes and not to the whole raw record. The current support is reading the Service Class and Name, and RFCOMM Channel Number attributes only. Finally only one request is supported at a time.
Security: The major issue on Widcomm, apart from the need for the native DLLs, is that there is no support for handling pairing etc, unlike most of the other platforms there is no way to get an event/callback when pairing is required to allow the program to supply a PIN/passphrase/confirmation etc. The only support is API function Bond and UnBond.
ObexWebRequest and ObexListener both work. Of course Widcomm has built in OPP and FTP servers so they will get the incoming requests and not any ObexListener. Either have your application use a different Service Class Id, have it use a specific Service Name, or disable the built-in OBEX servers.
To check if Widcomm/Broadcomm support is being loaded, check whether BluetoothRadio.PrimaryRadio or AllRadios returns a radio and whether it's SoftwareManufacturer is an enum value of Widcomm.
Broadcom detailed support table
(The Broadcom/Widcomm SDKs are at http://www.broadcom.com/support/bluetooth/sdk.php)
As noted above a native DLL is required alongside the managed library DLL (InTheHand.Net.Personal.dll). The native DLL is called 32feetWidcomm.dll.
So you need to copy some DLLs to the same folder as your program (and InTheHand.Net.Personal.dll):
Some example dependency failure are shown at Example Win32 load errors.
This is possible with Widcomm and Microsoft stacks together. However this is not possible when compiling using the Widcomm version 6 SDK. If you want to use multi-stack, then one must use the 32feetWidcomm.dll from the SDK v5 folder i.e. Win32-x86 SDK5 or Win32-x64 SDK5 folder. Note however that this version might not work on new Widcomm installation. :-(
Widcomm/Broadcom
See information and features in General below.Note that starting to use Widcomm is not as easy as the other stacks, as unfortunately a native DLL (or two) is required as well as the normal managed library assembly -- that's because its API is C++ and thus can’t be P/Invoke’d directly. The native library(ies) must be copied to the device for support to work. See XXXX
General
There is good support for BluetoothClient.Connect, BluetoothRadio, BluetoothDeviceInfo (including RSSI), device discovery including ‘live’ discovery, and for BluetoothListener. BluetoothSecurity is supported for PairRequest and RemoveDevice alone. For BluetoothRadio property ClassOfDevice is not supported, nor on Win32 is the Mode property, etc.BluetoothClient.Connect is supported for all RFCOMM/SPP connections. be aware of the SDP limitations (see below): i.e. one query at a time and multiple results returned. In particular, if the remote service has restarted more that ten times we won't read the last record(s) and the connect will fail it the service's current channel number is not the same as in the last record we read. BluetoothClient.Authenticate and Encrypt are not supported, nor is SetPin.
Data transfer (for BluetoothClient and BluetoothListener) seems fine.
For BluetoothListener note that that stack does not do clean-up if a program exits without clearing its SDP record. That misleads remote client applications that the service is still running. Also when the application next restarts the server can get the same port (SCN) assigned and thus adds the same record, but any incoming connections don't get passed through! Seen on WM at least.
There are a couple of issue with SDP querying. First the API returns ALL the matching records it has ever read from the peer, so expect to get muliple results if you query more than once! Secondly Widcomm provides access only to particular Attributes and not to the whole raw record. The current support is reading the Service Class and Name, and RFCOMM Channel Number attributes only. Finally only one request is supported at a time.
Security: The major issue on Widcomm, apart from the need for the native DLLs, is that there is no support for handling pairing etc, unlike most of the other platforms there is no way to get an event/callback when pairing is required to allow the program to supply a PIN/passphrase/confirmation etc. The only support is API function Bond and UnBond.
ObexWebRequest and ObexListener both work. Of course Widcomm has built in OPP and FTP servers so they will get the incoming requests and not any ObexListener. Either have your application use a different Service Class Id, have it use a specific Service Name, or disable the built-in OBEX servers.
To check if Widcomm/Broadcomm support is being loaded, check whether BluetoothRadio.PrimaryRadio or AllRadios returns a radio and whether it's SoftwareManufacturer is an enum value of Widcomm.
Broadcom detailed support table
(The Broadcom/Widcomm SDKs are at http://www.broadcom.com/support/bluetooth/sdk.php)
Depencies/Installation
DRAFT DRAFTAs noted above a native DLL is required alongside the managed library DLL (InTheHand.Net.Personal.dll). The native DLL is called 32feetWidcomm.dll.
Windows Mobile
On Windows Mobile just copy the version from the folder to suit your platform (WM5 or PPC2003).Win32
On desktop Windows things are much less simple. Three native components are required:- 32feetWidcomm.dll
- Another Widcomm supplied DLL called btwapi.dll.
- The Microsoft Visual C++ Runtime libraries.
So you need to copy some DLLs to the same folder as your program (and InTheHand.Net.Personal.dll):
- Copy the 32feetWidcomm.dll version from the folder to match your program bit-ness (i.e. either from folder Win32-x86 or Win32-x64).
- Copy the btwapi.dll from the child redist folder. (According to the Widcomm documentation: "Note: Only redistribute btwapi.dll if it is not already present on the target system. Overwriting an existing btwapi.dll will cause unpredictable results.")
- Ensure you have the necessary Microsoft Visual C++ Runtime libraries. To test this, run the Test32FeetWidcommWin32.exe in the same folder as your DLLs, again using the version folder matching your program bit-ness. The current version of the library can be downloaded from http://www.microsoft.com/en-us/download/details.aspx?id=26347"Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package MFC Security Update".
Some example dependency failure are shown at Example Win32 load errors.
Win32 -- Multi-stack
All stacks on Windows (that I've seen) have the limitation that they only support one Bluetooth Controller/radio/dongle. As a workaround for this there's been the idea that one could install multiple stacks and thus get to use multiple controllers as they each support one radio.This is possible with Widcomm and Microsoft stacks together. However this is not possible when compiling using the Widcomm version 6 SDK. If you want to use multi-stack, then one must use the 32feetWidcomm.dll from the SDK v5 folder i.e. Win32-x86 SDK5 or Win32-x64 SDK5 folder. Note however that this version might not work on new Widcomm installation. :-(
↧
Updated Wiki: Connecting to Bluetooth Services
Connecting to Bluetooth services
Sometimes we don’t want our application to itself send data to/from a remote service but we want instead the local operating system to do so. This is the case for keyboard/mouse/etc with HID, networking with DUN/NAP/PAN/etc, Headset/Handsfree etc.The short answer in this case is to use BluetoothDeviceInfo.SetServiceState. This is the API equivalent to manually checking the respective checkbox on the “Services” tab of the Device dialog in Bluetooth Control panel.
- For HID this will allow you to access the input keys/movements via the Windows’ HID API. This is for instance used by the Wiimote project.
- This should also work for Handsfree and Headset (on Windows 7).
- It probably won’t work for network connections.
Other platforms
However the SetServiceState API is provided only on desktop Windows with the Microsoft stack. It is not supported at all on Widcomm. We manually try to reproduce this behaviour on CE/WM by editing the Registry and thus only support a few services there, and a reset is normally required. There is good native API support for this on BlueSoleil and it is currently not supported at all on BlueZ.The other stacks often have native APIs for controlling services. See their API, e.g.
- Broadcom/Widcomm http://www.broadcom.com/support/bluetooth/sdk.php
- Bluesoleil http://www.bluesoleil.com/support/Intro.aspx?topic=Download_SDK
↧
New Post: Bluetooth connection between pc and android smartphone (VB.net, 32feet.net, Android)
Okay, thanks for your help - so I have to skip that part now and take a look at the main-feature(s).
Is there any possibility to connect to a phone (does not matter whether it´s an Android-phone, an iPhone or an old Nokia) and just stay connected (without sending data)?
One main feature of my programm should be to check whether the connected device is in range or not. If the device is not reachable anymore the programm should do some action (specified before). I thought if this works I can include the HFP-profile too to have more functions, but it does not seem to be easy :)
Thank you in advance!
Best regards
Dominik
Is there any possibility to connect to a phone (does not matter whether it´s an Android-phone, an iPhone or an old Nokia) and just stay connected (without sending data)?
One main feature of my programm should be to check whether the connected device is in range or not. If the device is not reachable anymore the programm should do some action (specified before). I thought if this works I can include the HFP-profile too to have more functions, but it does not seem to be easy :)
Thank you in advance!
Best regards
Dominik
↧
↧
New Post: BLE pairing between ios app (blueLight) and win8.1
I’m trying to BLE connect between my win8.1 PC and an iPhone BLE application.
What I’ve got are 2 things:
But
On a build in Windows Bluetooth GUI, I can see a device that is called “BlueLight”, but the pairing is failed
What can I do??
What I’ve got are 2 things:
- On my win8.1 PC, I’ve downloaded msdn’s sample (C# code) that “looks for” Heart Rate service devices.
See -
On my iPhone, I’ve downloaded BlueLight app that acts as a Peripheral device, that supports the Heart Rate service.
But
On a build in Windows Bluetooth GUI, I can see a device that is called “BlueLight”, but the pairing is failed
What can I do??
↧
Created Unassigned: Windows Phone 8 Serial Sample - cannot reference BluetoothService.SerialPort [35002]
Hi all,
I tried to compile the "Windows Phone 8 Serial Sample" from the 32feet.NET.
I have a Windows 8.1 + VS2013 + installed 32feet.Net stuff for WP8 via NuGetPackages.
In general it looks good, but I have one compile error I cannot solve:
"The name 'BluetoothService' does not exist in the current context"
which is used in the following source line of code:
socket.ConnectAsync((Windows.Networking.HostName)host, BluetoothService.SerialPort);
I know that I should add "using Windows.Devices.Bluetooth", but this could not be referenced.
After some investigation I found out that there are two runtimes:
-> "Windows.winmd [Runtime = WindowsRuntime 1.2" for "Windows Phone SDK"
-> "Windows.winmd [Runtime = WindowsRuntime 1.3" for "Windows 8.1"
What I can see is that "Windows.Devices.Bluetooth" is just available in WindowsRuntime 1.3, but
the "Windows Phone 8 Serial Sample" (which is a WindowsPhone 8.0 Project), could just reference the stuff in Windows Runtime 1.2.
How can I solve this problem?
I'm wondering how I can get the "Windows Phone 8 Serial Sample" to run without SW changes.
Are there Project settings which I have missed, or is there something else I have misunderstood?
I will be very happy for a hint to solve this problem and to get it to run.
Thanks in Advance
Best Regards
Marc
I tried to compile the "Windows Phone 8 Serial Sample" from the 32feet.NET.
I have a Windows 8.1 + VS2013 + installed 32feet.Net stuff for WP8 via NuGetPackages.
In general it looks good, but I have one compile error I cannot solve:
"The name 'BluetoothService' does not exist in the current context"
which is used in the following source line of code:
socket.ConnectAsync((Windows.Networking.HostName)host, BluetoothService.SerialPort);
I know that I should add "using Windows.Devices.Bluetooth", but this could not be referenced.
After some investigation I found out that there are two runtimes:
-> "Windows.winmd [Runtime = WindowsRuntime 1.2" for "Windows Phone SDK"
-> "Windows.winmd [Runtime = WindowsRuntime 1.3" for "Windows 8.1"
What I can see is that "Windows.Devices.Bluetooth" is just available in WindowsRuntime 1.3, but
the "Windows Phone 8 Serial Sample" (which is a WindowsPhone 8.0 Project), could just reference the stuff in Windows Runtime 1.2.
How can I solve this problem?
I'm wondering how I can get the "Windows Phone 8 Serial Sample" to run without SW changes.
Are there Project settings which I have missed, or is there something else I have misunderstood?
I will be very happy for a hint to solve this problem and to get it to run.
Thanks in Advance
Best Regards
Marc
↧
New Post: Generic Attribute Profile (GATT) Specification
Does this library contain support for the GATT Bluetooth specification?
https://developer.bluetooth.org/gatt/services/Pages/ServicesHome.aspx
I'm making a desktop app that will be using the heart rate (0x180D) part of the specification, and I can't seem to make any headway on it.
https://developer.bluetooth.org/gatt/services/Pages/ServicesHome.aspx
I'm making a desktop app that will be using the heart rate (0x180D) part of the specification, and I can't seem to make any headway on it.
↧