WiFi Direct on Windows Phone 8.1 - windows-phone

Is it possible to use WiFi Direct to connect to another device (Raspberry Pi) without tapping (NFC)?
The app needs to be able to find all WiFi Direct devices (Raspberry Pi's) in its vicinity, and by tapping one a connection is made to send strings.
The app needs to be able to detect new devices, that have never been paired with the phone before.

Windows Phone doesn't support WiFi direct communication from the SDK. Although it is available in Windows 8, its not yet present in phones.
According to Channel 9, MSDN
Windows 8 natively supports Wi-Fi Direct and has integrated the technology into the Windows 8 Play To and proximity sharing experiences.
However this doesn't apply for windows phone.

There are apps on the store which supports it, but I have no idea how to implement that in programming. Take a look at the process of using those apps
http://www.lumiamine.com/2014/07/wifi-direct-on-windows-phone.html

Related

How to get my Windows 10 Universal App to recognize my Microsoft Band

I'm trying to make a Windows 10 Universal App to make a third party tile for my Microsoft Band but it doesn't say in the documentation how to get my App to recognize the Band through USB. It only says how to do it through Bluetooth. The documentation also doesn't tell me how to access the GPS sensor. How do I do all these things?
To answer your first question, USB for the Band is used for charging. In order for you to test, you need to go through via Bluetooth. Your setup should be
Visual Studio > Launch App on your Device (mobile is connected to your laption via USB) > Test App on Mobile (which talks to Band via Bluetooth).
Note: Make sure Band is paired with the Mobile you are using to test.
To answer your second question, you can not subscribe to GPS on the band. It is not opened for thrid party app access. GPS is exclusive at this point.

How to get WiFi MAC asdress on Windows Store App

I am looking for some api.
Can I get WiFi HotSpot MAC address on Windows Store APP ?
I know this is not possible in Windows Phone.
No, this is not possible in Windows Store apps either. This is at least partially because it would allow you to find the approximate location of users based on the nearby access points.

Get type of device inserted to windows 8 pc via USB port

I've been asked to work on a project for Windows 8 where I have to detect:
Type of device inserted to USB port (mass storage drive or android phone or windows phone etc.)
Port in which device was inserted. (if I have 4 USB ports in PC then identify which port received new device)
Detect when the device was ejected from the PC
Are there some managed C# API's that can be used to query or if there are some callbacks that can be subscribes to.
Any help or direction will be very useful.
Thanks
You don't specify whether you are writing a desktop app, or a Modern UI app. If it is the latter, I'm afraid you are going to be out of luck as this level of information is simply not passed down to the app's sandbox.
You may have better luck with a desktop app. I don't have any direct experience of doing what you ask for, but I do remember having read that it may be possible through .NET.

How to implement App-To-App Communication between WP8 and Win8 devices

I want to implement app-to-app communication across a WP8 device and a Windows 8 device. I can't rely on Internet connectivity so any web server is out of the question. Additionally I don't want to use any local server to avoid setup overhead.
The most likely scenario is to use Bluetooth connectivity to pair and send small data sets between devices. I know that App-To-App communication between two WP8 devices, or two Win8 devices can be easily achieved using PeerFinder. However, I need to do cross-device.
MSDN documentation suggests that using PeerFinder.AlternateIdentities will allow this to happen, but it seems to require a tap gesture using NFC-capable devices. In my case, I want to be able to establish the communication without having to rely on the NFC Tap gesture.
The problem is that even setting and using AlternateIdentities doesn't seem to enable the devices to see each other. Digging deeper into the code, seems that Win8 devices require WiFi Direct to advertise and establish connectivity, which is not supported by WP8 devices.
Has anyone been able to solve this issue, or implement this scenario?
According to other threads, the only clear answer (although it doesn't work) is:
app-to-app / WP8-to-Win8. Using specific AlternativeIdentities on both ends it's also possible to get app-to-app to work for WP8-to-Win8. You'll need to set PeerFinder.AlternateIdentities["WindowsPhone"] on Win8 to the WP8 app GUID, and you'll need to add PeerFinder.AlternateIdentities.Add("Windows",GUID) on WP8 to the Win8 app GUID.
Thanks in advance.
Since FindAllpeersAsync function of PeerFinder uses WiFi Direct to do the peer discovery in Windows 8, and Bluetooth is used in the Windows Phone version, they are note compatible.
So, as for now, the following statement,
app-to-app / WP8-to-Win8. Using specific AlternativeIdentities on both ends it's also possible to get app-to-app to work for WP8-to-Win8. You'll need to set PeerFinder.AlternateIdentities["WindowsPhone"] on Win8 to the WP8 app GUID, and you'll need to add PeerFinder.AlternateIdentities.Add("Windows",GUID) on WP8 to the Win8 app GUID.
is basicallly false.

Simultaneous communication with many Windows/Windows Phone 8 devices using Proximity API

Is it possible to make an application that provide communication between one Windows 8 (as a server for example) device and 'n' (> 1) Windows Phone 8 devices using the Windows 8/Windows Phone 8 Proximity APIs?
[Edit]
I mean simultaneously and using NFC to establish the connection and Wi-Fi or Bluetooth for data exchange.
According to this article : http://msdn.microsoft.com/en-us/library/windows/apps/br241210.aspx, Wi-Fi Direct is not supported on Windows Phone 8. What does it really mean? Between 2 Windows Phone 8 Devices?
I think it would work according to the MSDN library :
http://msdn.microsoft.com/en-us/library/windows/apps/jj207060.aspx
This scenario works with Windows Phone 8 and Windows 8 devices. When a tap succeeds, you get back a socket that you can communicate with the other device. On Windows Phone 8, this socket is established on either a TCP/IP (Wi-Fi) connection or a Bluetooth connection.
Any ideas?
I have made some tests with several devices and what I can say is the following.
A W8 device and a WP8 device can only communicate if the 2 devices are NFC capable.
Indeed, Peer Browsing is not supported between W8 et WP8 (according to my tests). But once the NFC connection established the W8 and the WP8 can keep the connection using Bluetooth so the NFC connector can be released (NFC does not support multiple simultaneous connections).
You can keep several live connections between a W8 device and other devices (W8, WP8).
What I achieve to do is:
1 W8 (NFC) tablet hosting connections.
1 W8 PC (without NFC) that connects to the W8 tablet using Peer Browsing (Direct Wifi).
2 WP8 connecting to the W8 tablet using NFC and Bluetooth.
The hosting device can keep a socket per connected device.
You just need to manage all the sockets to receive and send data.
Yes, you can communicate between Windows Phone 8 and Windows 8 using the proximity framework.
On WP8 you'll need to set the following AlternateIdentity to your Win8 App full name:
PeerFinder.AlternateIdentities.Add("Windows", "<your Win8 app package family name>!<your app WP8 app ID");
// e.g.
PeerFinder.AlternateIdentities.Add("Windows", "NORADPublicAffairs.NORADTracksSanta_1.0.0.26_x64__bzcj0d5cg39gj");
On Win8 you'll need to set the following AlternateIDentity to your WP8 app GUID:
PeerFinder.AlternateIdentities["WindowsPhone"] = "{<your app GUID>}"
// e.g.
PeerFinder.AlternateIdentities["WindowsPhone"] = "{5b7ba36b-04fc-df11-9264-00237de2db9e}"
You can then use the proximity framework on both WP8 and Win8 to communicate with each other. NFC can be used to initiate a socket between WP8<->Win8 which should then use either Bluetooth or TCP/IP as the communication layer.