Con l’uscita di Windows 8 e Windows Phone 8 ci sono nuove possibilità di collegamento tra device:
- NFC (Near Field Communication)
- Bluetooth
- Direct WiFi (da non confondere con WiDi, che serve a collegarsi ad uno schermo TV)
Alcuni scenari possibili:
- App to Device (ad esempio collegare un Windows Phone 8 ad un robot lego tramite Bluetooth/RFCOMM, ovvero il serial port profile che consente l’emulazione di una connessione seriale RS232).
- App to App (ad esempio collegare un Windows Phone 8 con un altro Windows Phone 8 o meglio ancora WP8 con Windows 8)
Al momento sto sperimentando, e quindi questo post è più che altro una raccolta di note e una condivisione di link utili che ho trovato:
Windows Phone 8:
La sessione di Tim Laverty su Build 2012
Proximity for Windows Phone 8
Windows Phone 8: Peer Connection (Bluetooth and Wi-Fi Direct)
Windows 8 (WinRT):
Working with Proximity Device
Working with NFC–Take 2
Proximity and tapping (Windows Store apps using C#/VB/C++ and XAML)
Proximity sample
Windows Phone 8 e WinRT:
PixPresenter sample app
How to Leverage your Code across WP8 and Windows 8 (con la demo di PixPresenter, assolutamente da non perdere)
PeerFinder.AlternateIdentities
Possible keys for AlternateIdentities in Peerfinder
Note:
Il programma di esempio “Proximity sample”, quando gira sul mio Laptop (che non ha Direct-WiFi ma ha Bluetooth) dice che:
- “Tap based discovery of peers not supported” (ovvero manca NFC)
- “Browsing for peers not supported” (ovvero manca la funzionalità Direct-WiFi nella scheda wireless)
quando invece gira sul mio Surface dice solo che:
- Non c’è NFC (i.e. “Tap based discovery of peers not supported”)
In effetti sul mio DELL 1749 ho una scheda Intel Centrino 6200 (che non supporta il DirectWiFi) mentre sul Surface c’è la Marvell AVASTAR wireless-N che supporta Direct-WiFi.
---
Cose da verificare:
PeerFinder su WP8 utilizza NFC, Bluetooth e Direct-WiFi, mentre su WinRT usa solo NFC e Direct-WiFi ?
Un primo indizio si trova nel commento della enumerazione PeerDiscoveryTypes:
None = 0 // No supported discovery types are available. You can't use the PeerFinder class.
Browse = 1 // You can use Wifi-Direct to find peers by using the FindAllPeersAsync and ConnectAsync methods of the PeerFinder class.
Triggered = 2 // You can tap to connect to peers by using the PeerFinder class.
Un secondo indizio si trova sul messaggio fornito da “Proximity sample” sul mio laptop non dotato di Direct-WiFi ma dotato di Bluetooth.
Per il momento, That’s all folks!