iBeacon support for Windows Phone devices - c#

iBeacon in Windows Phone devices -: We need to develop a windows phone application with iBeacon support similar to iOS applications. We didn't find any useful informations on this. Can anyone suggest a better solution on "How to implement iBeacon on Windows Phone Devices?"

Unfortunately, I have confirmed with Microsoft engineers that this is not possible as of Windows Phone 8.1.
While this operating system version did introduce Bluetooth LE support, the APIs do not allow scanning for iBeacons because scanning functions are locked down to the operating system. Thitrd party apps are not allowed to perform scans which would be needed to look for beacons. The OS itself has no functionality to scan for iBeacons, only the ability to scan for connectable Bluetooth LE devices and pair with them.
Third party apps can look for devices implementing known GATT profiles like so:
var themometerServices = await Windows.Devices.Enumeration .DeviceInformation.FindAllAsync(GattDeviceService .GetDeviceSelectorFromUuid( GattServiceUuids.HealthThermometer), null);
But iBeacons do not advertise GATT services, so this won't help. What is needed is either native support for locating beacons or third party access to raw scan results, which is needed to decode beacon identifiers.
Microsoft is expected to expand support for Bluetooth LE in their upcoming Windows 10 release, which will have a unified desktop/mobile codebase. It is possible the necessary functionality will be included. This OS will not be released until late 2015 and no preview APIs will be available until early 2015, which is the soonest we may have confirmation that such support is coming. Because the company is putting so much energy into this release, it is unlikely there will be any new functionality added to Windows Phone 8.x in the meantime.

Related

Is there a way use Bluetooth LE libraries C# in Windows 10 to communicate with sensors or micro-controllers?

I spent some time looking for ways to exchange data from a micro-controller Bluno Beetle from DFRobots that uses Bluetooth LE and a desktop application written in C#. DFRobots actually has a code (in Java Android), where they use GATT profiles to exchange data from/to the micro-controller and an Android Phone. I tested this app myself and it works perfectly. I would like to have a similar application written in C# running on a Desktop. I recently bought a BLE dongle (the cheapest option I found on Amazon) which I can pair successfully.
So far, I found solutions that involve using UWP, being one of those an example for exchanging data between a Windows Phone and a Heart Rate monitor, and very little documentation on how to accomplish that for Desktop applications here and here, that involve using System.Runtime.WindowsRuntime but no other information about how to connect to a device or listen to what is being broadcast.
Do any of you guys know if it is really possible to accomplish that? And if so, are you aware of a tutorial I could use to help me?
Thanks!
but no other information about how to connect to a device or listen to what is being broadcast
Here is an official and complete BLE client/server sample which you can use as a starting point
Look into the BTFramework library. We have worked with it for years. It took one afternoon to establish good communication with an ioT device this week. We are using C# NET, by the way. Their libraries have worked well on all platforms from the latest versions of Windows 10 all the way back to barely-functioning XP machines, skipping Vista of course.
As to the dongles you can buy... we support a commercial product using those dongles, and found their marketing claims don't always support their performance. Some work fine for a day, then fail, then work again. And one large batch from one vendor may work fine, but a batch purchased months later may have a high failure rate when you are pushing the envelope.

Is it possible to have a windows desktop app with metro interface (or a metro app with no intention of going to the windows store)?

Apologies for the noobish question, and I did try to search but couldn't find the right answer (or didn't search properly).
Currently have an app developed in a windows desktop environment because it gives us access to deeper features of the PC such as serial port comms etc. that the normal metro environment wouldn't allow. We're currently developing the UI based on metroUI so we can run it on an 8.1 touchscreen (metroUI looks good, gives us a touch-screen experience with PC features) but we have no intention of putting it on the marketplace.
Just wanted to confirm if this is in fact doable, and we can have this desktop application with a metro UI? Or is my noobishness meaning I'm overlooking some technical feasibility that makes it impossible?
This is doable with the Windows 8.1 Update (from April 2014). It's not supported before that since Windows Store apps were blocked from communicating with desktop processes.
The Windows 8.1 Update adds a feature "Brokered Windows Runtime Components" designed to allow side-loaded Windows Store apps to communicate with a desktop back-end. This will allow your Windows Store app UI to call the desktop component to access API that aren't available in the limited app package environment.
See Brokered Windows Runtime Components for side-loaded Windows Store apps for details.
See Try It Out: Sideload Windows Store Apps on TechNet for how to enable side-loading on your systems. See Windows 8.1 Update: Sideloading Enhancements for updates on how to enable a system for sideloading (no license required when on a domain, and significantly easier to get a sideloading license for non-domain joined systems).
The developer license system is designed for development and test purposes only. You really don't want to use it for production. Use the proper enterprise side-loading system instead.
From my understanding, the whole point here is to make it look like a Windows Store app. If you're app is a WPF one, you can already use Mahapps.metro.
You can create a Windows Store app without going to the store by Sideloading it. You create an app package first. The user has to right click the .ps1 file in that package to see the option Run with PowerShell and install it in a very old fashioned DOS like manor. It will only run when the user has a Microsoft Developer License and renew it every month. However, it is not allowed to keep using a Developer License of the end user to run a Store app. In the end, the system has to be domain bound to be allowed to run these apps, or you have to buy a Enterprise Sideloading key. These come in packages of 100 for $ 3000,- or you can unlock all PC's for 1 client for $ 100-.
It would be nicer if the specific pros of a Store program were available in a desktop environment but with W10 coming up I do expect a bit more integration and less restrictions.
Hope this answers your question.

Retrieve device information in Windows Phone

How i can retrieve information about installed devices in windows phone (e.g. gps, bluetooth, accelerometer)?
In windows mobile I can use Status or SystemState class. And what about Windows Phone?
I'm beginner with this technology, and I have to do this for university.
There is a Device Status sample on MSDN which can guide you through using the Devicesstatus class which can be used to query for the presence of a keyboards and other optional hardware components -- it is my understanding that a location sensor (GPS or otherwise), bluetooth and possibly the accelerometer are all part of the minimum hardware specification so these are not reported via this API (as there is nothing to query)

windows phone emulator warning and configuration

What happened here, I install Visual Studio Express for Windows Phone.
When I was happy and about to debugging my First hello-world win-phone app. It gives me this in return.
It looks like that there is something wrong with graphics processing unit configuration.But I am absolute newbie in this area and never used Visual Studio before, guys help me out here.
Can you confirm that the computer you have installed the SDK on meets the following requirements?
Operating system
Windows 7 32-bit, Windows 7 64-bit, Windows Vista SP2 32-bit, Windows Vista 64-bit.
Note:
Windows XP, Windows Server, Virtual PC, and Hyper-V are not supported.
Memory
3 GB RAM on the computer and 1.5 GB free RAM.
Graphics processing unit (GPU) emulation
DirectX 10 or DirectX 11 graphics card with WDDM 1.1 or later driver, and DDI 10 or later. For additional information, see Optimizing Performance for Windows Phone Emulator. For information about determining the current configuration, see DirectX Configuration in this topic.
.xap packages
The maximum size of the .xap package is 225 MB for Silverlight applications and XNA Framework applications.
Note:
The emulator simulates a flash drive of 2 GB. Because a Windows Phone OS 7.0 device has a larger flash drive, you cannot install as many applications on the emulator as you can install on a device.
Silverlight applications
GPU emulation is a requirement for Silverlight applications. Silverlight applications may run without GPU emulation on Windows Phone Emulator, but this scenario is not supported.
XNA Framework applications
DirectX 10 or DirectX 11 graphics card with WDDM 1.1 or later driver, and device driver interface (DDI) 10 or later. XNA Framework applications will not run without GPU emulation. For information about determining the current configuration, see DirectX Configuration in this topic.
Video
VC-1, H.264 and AAC encoding. Not supported without GPU emulation. See GPU emulation requirements in this table.
Effects such as Blur and DropShadow
Not supported in the Windows Phone SDK.
Hardware-assisted virtualization
Requires a processor that supports hardware-assisted virtualization. For additional information, see Optimizing Performance for Windows Phone Emulator.
Hardware keyboard
You can use the host computer keyboard as a hardware keyboard. For detailed information, see Keyboard Mapping for Windows Phone Emulator.
Isolated storage
Data in isolated storage persists while the emulator is running, but is lost once the emulator closes.
Launchers and Choosers
For detailed information, see Launcher and Chooser Support in Windows Phone Emulator.
Multi-touch
Requires a host computer that supports multi-touch input. Simulation of multi-touch by using the mouse is not supported in the current version of the Windows Phone SDK.
Accelerometer, GPS
Accelerometer and GPS can be simulated using the emulator. For more information, see How to: Test Applications that Use the Accelerometer and How to: Test Applications that Use Location Data.
Camera, compass and gyroscope
Not currently supported.
Taken from MSDN - Setup and System Requirements

can c# be used for communicating mobile and pc?

As a minor project in my degree I would like to communicate mobile and pc .I am interested to communicate through bluetooth is it possible to do so in c#?
If possible please provide me list of application or hardware i would requiere in order to do so.
thanks in advance
If (and it's a big if based on the lack of information in your question) you mean "How do I write an app on my PC, using C#, that can communicate with a Windows Mobile device that is connected to my PC via ActiveSync or WMDC" then the answer is RAPI. A free, open-source managed wrapper for it is here.
Yes its possible if its with windows mobile phone or pocket pc with bluetooth. You need a bluetooth enabled computer and mobile phone. For dev you need to download the windows mobile 6 sdk.
Then developing of the communication between desktop app and mobile phone app, you can use the 32feet.Net is open source.
When you download it and installs (well it unpacks to program files folder) you will have the dll that you make reference to in Visual Studio. Also you will get some sample apps. One of them is a Bluetooth Chat that works in Desktop, Pocket PC and SmartPhone.
Another option you could use is set up a web service that acts like an intermediary between the device and your machine. One huge benefit of this is that no longer are you bound by the distance requirements of bluetooth.
Of course if you're trying to build some sort of proximity service (do z when item x is 3 meters from item y) then bluetooth is probably the way to go.

Categories