需要 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,如下,
然後開啟 Package.appxmanifest ,並在 功能 的Tab中,勾選 藍牙 ,如下,
再來就要在 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, 再用手機的測試程式來掃描,就可以收到了哦! 如下,
beacon這種微定位的運用可以很廣,例如 導覽、進入商店發送促銷訊息…
大家可以一起來想像它的運用情境哦!!!
參考資料
Using iBeacons with Windows 10 - Part I
Building Compelling Bluetooth Apps in Windows 10
Hi,
亂馬客Blog已移到了 「亂馬客 : Re:從零開始的軟體開發生活」
請大家繼續支持 ^_^