[UWP]讓你的電腦變成 iBeacon

需要 Beacon device嗎?
有了 windows 10 您可以 easy 的搞定哦!

環境: Windows 10, Visual Studio 2015

 

之前想要測試 iBeacon 時,需要去買個硬體來測試(apple的硬體似乎也可以模擬出來),便宜的需要幾百元。

現在只要您的電腦作業系統是 Windows 10,而且有Support 低耗電藍牙BLE(Bluetooth Low Energy)就可以了哦。

首先建立一個 通用Windows App,取名為 BLEPublisher ,然後在MainPage.xaml畫面上放2個Button,如下,

image

image

 

然後開啟 Package.appxmanifest ,並在 功能 的Tab中,勾選 藍牙 ,如下,

image

 

再來就要在 Button 的 Click 事件中,將 iBeacon Publish 出來(MainPage.xaml.cs),如下,

//using Windows.Devices.Bluetooth.Advertisement;
private BluetoothLEAdvertisementPublisher _blePublisher;

private void btnStart_Click(object sender, RoutedEventArgs e)
{
	var manufactureData = new BluetoothLEManufacturerData();
	//0x004C	Apple, Inc.
	manufactureData.CompanyId = 0x004c;
	//uuid:E4 C8 A4 FC F6 8B 47 0D 95 9F 29 38 2A F7 2C E7
	//majorid:1
	//minorid:1
	byte[] dataArray = new byte[] {
				// last 2 bytes of Apple's iBeacon
				0x02, 0x15,
				// UUID E4 C8 A4 FC F6 8B 47 0D 95 9F 29 38 2A F7 2C E7
				0xE4, 0xC8, 0xA4, 0xFC,
				0xF6, 0x8B, 0x47, 0x0D,
				0x95, 0x9F, 0x29, 0x38,
				0x2A, 0xF7, 0x2C, 0xE7,
				// Major
				0x00, 0x01,
				// Minor
				0x00, 0x01,
				// TX power
				0xc5
			};
	//using System.Runtime.InteropServices.WindowsRuntime;
	manufactureData.Data = dataArray.AsBuffer();
	_blePublisher = new BluetoothLEAdvertisementPublisher();
	_blePublisher.Advertisement.ManufacturerData.Add(manufactureData);
	//開始發佈
	_blePublisher.Start();
}

private void btnStop_Click(object sender, RoutedEventArgs e)
{
	//停止發佈
	_blePublisher.Stop();
}

 

將程式執行起來,按下 「Start Publish」的Button, 再用手機的測試程式來掃描,就可以收到了哦! 如下,

image

 

 

beacon這種微定位的運用可以很廣,例如 導覽、進入商店發送促銷訊息…

大家可以一起來想像它的運用情境哦!!!

 

參考資料

Using iBeacons with Windows 10 - Part I

BLE BEACONS ON WINDOWS 10

Building Compelling Bluetooth Apps in Windows 10

iBeacon Technology

Hi, 

亂馬客Blog已移到了 「亂馬客​ : Re:從零開始的軟體開發生活

請大家繼續支持 ^_^