Inside 硬塞的網路趨勢觀察

“搶 Google 廣告大餅, FB 升級廣告聯播網給行動網頁使用!” 與新的 4 篇文章 - Inside 網路趨勢行銷與開發

Link to Inside 硬塞的網路趨勢觀察

搶 Google 廣告大餅, FB 升級廣告聯播網給行動網頁使用!

Posted: 26 Jan 2016 09:11 AM PST

12624061_184243785268334_2116604437_n

Facebook 在 2014 年推出行動廣告聯播網,擴大 Facebook 廣告觸及範圍,讓廣告主在 Facebook 以外的地方拓展行銷活動的規模。可惜的是,這項服務的範圍一直僅限於 App,忽略了流量同樣不小的行動版網頁,不過今天一個令人開心的消息是,Facebook 行動廣告聯播網現已正式將行動版網頁納進服務範圍,且其不僅僅在美國推出,Facebook 更因看準亞太地區在 2016 年會有 84 億的行動廣告預算,占所有數位廣告支出的 20%,所以同步於亞太地區推出。

去年 Facebook 第三季的獲利有 76% 來自行動,不僅如此,Facebook 行動廣告聯播網在 2015 年第四季創造的廣告投放量換算成一年更達到 10 億美元的規模。這也是為什麼他們近幾年所開發的產品或服務,都不斷專注在加強,甚至優化其在行動上所提供的服務和產品。

這對無論是廣告主和網站主來說,都是一項好消息。

因為對廣告主來說,當行動廣告聯播網支援行動網頁後,廣告主就可以不只將廣告刊登在現在支援的 App 上,還可以延伸到行動網頁。當然,廣告主將不會只選擇 App 或行動網頁其一,這是一整套的服務。且其所強調的符合應用程式原有外觀與質感的原生廣告,不僅可以提升顧客在接觸廣告時的使用體驗,廣告更可以根據該用戶在 Facebook 所發生的瀏覽行為、興趣嗜好等投放,大幅提升行銷效益。

另一方面,對網站主來說,這同樣是一大福音,因為它能讓網站主接觸到在 Facebook 上 250 萬的廣告主。雖然 App 的生態系比行動網頁更廣,但就媒體、新聞網站的角度來看,行動網頁在手機上是較重要的平台。

根據 Facebook 所提供的案例,獵豹移動執行長傅盛就曾經指出,Facebook 行動廣告聯播網比起其他的廣告聯播網,所創造出的 CPM 廣告成效,高出兩倍;另外,中國的 Shazam 音樂神搜更因為透過 Facebook 行動廣告聯播網,營收大幅提升了 37%。

最後有關廣告格式的部分,在行動版網頁上,所支持的廣告格式主要以原生格式為主,包括輪播廣告,及各種標準格式的原生廣告(展示型或影片)、橫幅、插頁式。

This posting includes an audio/video/photo media file: Download Now

低功率藍芽 BLE 帶領物聯網大爆發

Posted: 26 Jan 2016 04:03 AM PST

(photo by Marc Mathieu)

簡介

低功率藍芽通訊在商業產品與業餘應用上的使用大量爆發,主要歸功於它的低成本以及低功耗的要求。當您要從您的 Android 手機或平板與英特爾® Edison或英特爾® Galileo專案溝通時,這讓它成為一個最佳的選擇。

這份文件的目標是展示如何編寫程式,以及使用免費軟體、低成本、現成的硬體在英特爾 Edison 與配備藍芽4.0的安卓裝置之間建立藍芽通訊。

什麼是藍芽?

低功率藍芽,藍芽 LE ,或 BLE (即智慧藍芽)是由藍芽技術聯盟設計與銷售的無線個人區域網路技術。它的主要目標是健康照顧、健身、安全、自動化和家庭娛樂工業上的應用。

低功率藍芽原先是諾基亞在 2006 年以名為 Wibree 的技術推出。它在 2010 年藍芽 4.0 版本的時候被加入藍芽的標準。

低功率藍芽可以使用明顯比標準藍芽更少的功耗來做連結,可是仍然提供標準藍芽的大部分的連接功能,而且可以達到近乎一半的連接距離(大約 15 米/  50 英尺)。配備電池的裝置如果使用低功率藍芽,可以在不用充電或更換電池的情況下運行數年。例如 Estimote 的 Beacon 裝置已經宣稱 3 年的電池壽命 (www.estimote.com)。

硬體

我們將著重於英特爾 Edison,但是大部分的內容依舊適用於英特爾 Galileo 。就我們的物聯網專案而言,硬體感測器和控制來自於 Seeed Studio 的 Grove 系統。尤其是我將使用:

  • 有著 Arduino breakout 板子的英特爾 Galileo
  • Seeed Grove – Starter Kit Plus Intel® IoT Edition For Galileo GEN 2
  • Seeed Grove BLE
  • 執行 Android 3 或更新版本的 Android 裝置(我使用Lenovo TAB S8-50)
  • 執行 Windows* 7 或 8 的個人電腦,以做開發使用(我使用Dell XPS12)

關於硬體的幾項說明:

  1. The Grove Starter Kit 標示為專為英特爾 Galileo 所設計,但它也適用於 Edison 。您也可以單獨購買 Grove 組件,但套件將會更將划算。
  2. 在開發過程我使用 Lenovo 平板電腦,但是任何其它執行 Android 3 並支援藍芽 4.0 的 Android 裝置也都可行。
  3. 我使用我的 Dell XPS12 為英特爾 Edison 和 Android 專案(以及本篇文章)編寫程式。也可以使用 Mac* 或 Linux* 系統來進行開發。

軟體

我使用下列幾項免費的軟體工具。如果要查看這個例子,您需要下載並安裝下列各項:

上述所有軟體在 Windows 、 Mac 和 Linux 皆有提供,但是我將特別著重於 Windows 上的安裝。

硬體詳細資訊

英特爾 ® Edison

英特爾 ®Edison 是低成本、通用型的運算平台系列計畫的第一個產品。它專為快速、輕巧的製造物聯網專案的雛形所設計,同時可以提供準商業化產品的途徑。

英特爾 ®Edison 使用 22 奈米英特爾 ® SoC ,它包含了雙核,並可達到 500 MHz的執行速度。它支援 40 個 GPIOs ,並包含了 1GB LPDDR3 RAM 、 4 GB EMMC 儲存,以及雙頻 Wi-Fi* 和藍芽於一身。

Edison 執行完整的 Linux 核心,並且為了發揮 Edison 的最佳效能,您可以編寫硬體層的 Linux 程式。

但是 Edison Linux 還以 Linux 程式的形式包含了 Arduino 的實做。簡而言之,這意謂著您可以編寫您所熟悉的Arduino sketches,並在Edison開發板上執行;而這正是我們將做的。

更多英特爾Edison 資訊: http://www.intel.com/content/www/us/en/do-it-yourself/edison.html

Arduino Breakout 板子

相容於英特爾 Galileo 的 Arduino breakout 板子有著兩個用途。首先,它提供一個大的雛型平台可以輕鬆的存取 IO 腳位。第二,它提供兼容 Arduino 的硬體平台,這意謂著我們可以使用 Arduino shields 和英特爾 Edison (類似英特爾 Galileo)。圖1展示 Edison 安裝在 Arduino breakout 板子上。

connecting-intel-edison-to-android-with-ble-mounted-arduino圖1展示Edison安裝在Arduino breakout板子上

Grove Starter Kit Plus

這個套件的全名是 “Grove Starter Kit Plus -- Intel® IoT Edition for Intel® Galileo Gen 2 Developer Kit”,它最初是專為英特爾 Galileo 第二代開發板所設計。幸運的是它可以透過 Arduino breakout 板子以完全兼容英特爾 Edison 板子。

這個套件 (如圖2所示)主要設計於簡化感測器、促動器和屏蔽器的工作與雛形。它包含一個可兼容Arduino的屏蔽器以及四個標準化的連接腳位。這些連接器供給可接線的IO埠,這些接線可以輕易的連接到套件內的感測器與控制端。這意謂著您可以輕鬆的建立專案,而不需要為了一大堆的線搞得一團亂,上拉/下拉電阻也不需要擔心極性的問題。

更多資訊或購買此套件: http://www.seeedstudio.com/depot/Grove-starter-kit-plus-Intel-IoT-Edition-for-Intel-Galileo-Gen-2-p-1978.html

Grove 套件生產商 Seeed Studios 提供了許多有用的線上資源。

具體而言,我推薦從下列連結拷貝或下載 Sketchbook Starter repo :http://Github.com/Seeed-Studio/Sketchbook_Starter_Kit_V2.0

並且收藏Grove Wiki頁面為書籤 :

http://www.seeedstudio.com/wiki/index.php?title=Main_Page#Grove

connecting-intel-edison-to-android-with-ble-grove-starter-kit-plus2. Grove Starter Kit Plus -- Intel® IoT Edition for Intel® Galileo Gen 2 Developer Kit

 

Grove BLE V1

我們將使用 Grove 低功率藍芽 v1 模組,該模組並不包含在入門套件中,但與 Grove 屏蔽器和連接器的接腳相容。它也是成本相對低廉的 BLE 附件,這是我在撰寫本文時所可找到最便宜的選擇。

The Grove BLE v1是基於工業標準Texas Instruments CC2540。許多其他設備接使用這個晶片。如果您也有其它的TI CC2540 BLE模組,例如RedBear BLE Mini,您應該可以輕鬆修改範例程式。

Grove BLE v1 詳情:

http://www.seeedstudio.com/wiki/index.php?title=Grove_BLE_v1&uselang=en

請注意英特爾® Edison 包含一個板上的無線模組,它可以支援 Wi-Fi 和藍芽 4.0/BLE;然而, Grove BLE 模組大大簡化了硬體與軟體的設定。使用 Grove BLE (圖 3) 也意味著這些專案可以簡單的適用於英特爾 Edison 。

connecting-intel-edison-to-android-with-ble-grove-ble-v1-module3. Grove BLE V1 模組

在 Android 裝置上偵錯

BLE 支援被增加到 Androis 4.3 版 (API 級別 18)。您需要執行 4.3 或更新的版本來透過 BLE 溝通。

更多有關 Android 藍芽的資訊 :

https://developer.android.com/guide/topics/connectivity/bluetooth-le.html

如果您是 Android 開發的新手,則您需要在手機或平板電腦上啟用開發人員選項,然後用它來執行與偵錯您的軟體。打該設置 app ,捲動到底部並選擇 “About device”,然後點擊創建編號七 (7) 次,以解鎖開發人員選項。

設置的下方顯示開發人員選項;確認選取“USB debugging”。

更多有關 Android 開發者選項: http://developer.android.com/tools/device.html

安裝軟體並且準備開始編寫程式!

相容英特爾 ® Galileo 的 Arduino IDE

您需要專門給 Arduino IDE 的版本,以便將 Sketches 佈署到英特爾 Edison 或 Galileo 。撰寫本文之時版本為 1.5.3 並可從下列連結下載:

https://software.intel.com/en-us/get-started-arduino-install

英特爾® Edison 驅動程式

您也需要從上述連結下載並安裝英特爾Edison驅動程式。它應該位於 “Driver Software”下方頁面的最後一個連結。在撰寫本文的時候它的版本為1.0.0。

如果您需要更進一步的說明,以下是十分有用的入門指南:

software.intel.com/iot/getting-started

Android Studio

Android Studio 是一個基於 IntelliJ IDEA *〈https://www.jetbrains.com/idea/ 〉,針對 Android開發功能全新的 Java*IDE 。雖然在此階段還只是測試版,但它的性能穩定,功能健全。如果你習慣用針對 Android 開發的 Eclipse* 或是IntelliJ IDEA ,用下列這兩個程式對你來說應該都沒有問題。

Android Studio 包含 Android SDK,所以能簡化其安裝過程。簡化至只需下載、提取解壓縮檔案中的內容,並啟動在 bin 資料夾中的 studio.exe 程式。

更多有關 Android Studio:https://developer.android.com/sdk/installing/studio.html

Android SDK

點選在 Android Studio工具欄的 「SDK manager」,以下載你可能需要的附加 SDK 封包。配置 Android SDKs 等等介紹已超過我們這次的範圍,你可以在下列網址得到額外的資訊:

https://developer.android.com/sdk/installing/adding-packages.html

若你在之前就已安裝 Android SDKs ,你可以配置 Android Studio 指向正確的路徑,如圖4所示。

在 Android Studio 點選 Configure -> Project Defaults -> Project Structure ,並且設定路徑。

connecting-intel-edison-to-android-with-ble-setting-the-sdk-path 4. Android* Studio中設定SDK的路徑

測試英特爾® Edison

在開始以下步驟之前,請先確認你可以啟動 Blink 示範 sketch 。 Blink 示範 sketch 位於 examples -> 01.Basics -> Blink folder 的 Arduino IDE 下載封包之中。

更多資訊於 Edison 入門手冊:

https://communities.intel.com/community/makers/edison/getting-started

Android Hello World

安裝 Android Studio 之後,請確認可以創造新專案,並且在你的 Android 裝置上啟動。

  1. 連接你的 Android 裝置和個人電腦
  2. 開啟 Android Studio
  3. 選擇「New Project…」
  4. 選擇一個名稱和地點,點選「Next」3次 〈API 15/Blank Activity)
  5. 點選「Finish」等待程式製作專案 〈大約花費20秒以上的時間〉
  6. 按下在工具欄中綠色的「Play」按鈕
  7. 選擇你的裝置,並點選「OK」

如果按照步驟完成,你會看到「Hello world!」顯示在你的 Android 裝置螢幕上。〈圖5〉

connecting-intel-edison-to-android-with-ble-android-studio-hello-world-app 5. Android* Studio Hello World 應用程式

BLE如何運作?

BLE 提供必要的短數據,並關閉電路。這也是 Bluetooth LE 如何達成低效能的目標。比較於常見的傳統藍芽配對,BLE 裝置只在需要傳送或是接收訊息時連結。

BLE 在通訊方面有強力的結構。裝置提供傳送和接收訊號的服務。這些服務擁有其獨特的「特性」,這個「特性」決定分享的資訊。更詳細來說,「特性」擁有描述詞來定義數據。例如:一個命名為「心臟指數感測器」的服務包含著「心臟指數測量」特性。

大多數的藍芽 LE APIs 支援搜尋當地裝置,找到裝置的服務、特性和描述詞。

BLE 的關鍵和概念

以下是你在開始一個 BLE 專案前,必須要知道的 BLE 關鍵術語和概念的簡述:

通用屬性設定檔 (GATT)

GATT 設定檔是藍芽低耗能的連接中,傳送及接收屬性數據的通用規格。所有近期的LE應用程式設定檔都是基於GATT設定檔所編寫。藍芽技術聯盟〈SIG〉(https://www.bluetooth.org)先前就已經先定義出BLE裝置的設定檔數量。 這些設定檔是用於介紹裝置的使用方法。

屬性協定 (ATT)

屬性協定〈ATT〉是 GATT 遵從的原理。屬性協定〈ATT〉是一個特別設計給BLE裝置的完美協定。屬性協定〈ATT〉通訊會盡量發送最少量的位元數據。 每一個屬性都擁有一個通用唯一識別碼〈UUID〉。唯一識別碼〈UUID〉是一個用於唯一識別資訊的標準化128位元ID碼。經由屬性協定〈ATT〉傳送的屬性被格式化為特性和服務。〈定義如下〉

特性

特性包含了一個單值和0,或是更多的描述詞〈如下所示〉來描述特性的值。

描述詞

描述詞定義了描述特性值的屬性。這些可能是人可辨識的描述詞,指定單元、測量,或是定義一個可接受的值範圍。

服務

服務是一系列的特性。你可以在https://developer.bluetooth.org/gatt/services/Pages/ServicesHome.aspx找到一整列現有的 GATT 為基礎的設定檔。

從 Android 傳送資訊到英特爾® Edison

前提的必要條件

文章接下來的部分是假定你有設置一個針對英特爾Edison跟安卓配置的開發程式。請確認你已經完成以上步驟,若有需要請複習文章之前的部分。

  • 安裝英特爾 Arduino IDE
  • 安裝英特爾 Edison 驅動程式
  • 安裝 Android Studio
  • 安裝 Android SDK
  • 打開並啟動在英特爾 Edison上的 Blink demo
  • 打開並啟動空白的 Hello world  Android 專案

 Android 的 BLE

你可以在 GithHub 下載已完成的專案:

https://github.com/adrianstevens/Edison_to_Android_BLE/tree/master/Android/BLEConnect

但是我建議你製作自己的專案,並參考上面的連結逐行寫入代碼。

製作一個新專案

打開Android Studio 〈或你自行選擇的IDE〉,創造一個新的空白安卓應用程式,並且將其命名為BLEConnect。別忘記設定Minimum SDK到達至少API 18,不然無法使用BLE APIs。

未命名6 6. 創造一個新的 Android 應用程式

下一步,打開 AndroidManifest.xml 並填入下列內容至 <application> 標籤之中,以增加所需的權限。

<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>

設置 UI

為了讓事情簡單一點,我們只會利用預設值設定。但是必須針對 TextView設定一個ID。打開 layout -> activity_main.xml,選擇 TextView 並設定 ID 為 mainText ,這樣我們才可以在代碼中引用ID。

未命名7 7. Set設置TextView的來源ID

MainActivity

在這個專案之中,剩餘的代碼都會進入 MainActivity 裡面。如果你正在逐行編寫代碼,請注意 Android Studio會自動的檢測出你代碼的缺失,並即時的要求你補充修改。

樣本代碼將會:

  1. 確認安卓裝置中的BLE支援
  2. 搜尋周圍的BLE裝置
  3. 認證並連接至Grove BLE 組件
  4. 搜尋已知傳訊服務的可用服務
  5. 在傳訊服務中找尋傳送特性
  6. 利用編寫特性值傳送訊息

我不會在這份文章中解說每一個代碼,但是我們會看到它們的核心概念。

Class 級變數和靜態變量

我們會在連接至 BLE 組件、搜尋服務、傳送訊息時保存一些數值。我們也會為 Grove BLE v1 (TI CC2540) 增加一些已知的靜態變量。若你使用不同的組件,你有可能要改變它們。我特別推薦定義傳送和接收的特性,如下:

CHARACTERISTIC_TX = "0000ffe1-0000-1000-8000-00805f9b34fb"
CHARACTERISTIC_RX = "0000ffe1-0000-1000-8000-00805f9b34fb"

狀態幫手方法

為了容易了解,我們在先前標記的 TextView 上來展示我們的進展。代碼包含了一個叫做 statusUpdate 的簡易幫手方法。我們利用 statusUpdate 編寫狀態訊息至螢幕和控制台。他也可以引領回 UI 線上,所以我們可以從任何線程呼叫它。

連接至BLE 裝置

首先確認 BLE 是否在我們的裝置中,呼叫 getSystemService 引用 Bluetooth Manager (BluetoothManager)然後用  getAdapter() 方法取得引用到 BluetoothAdapter 目標以引用Bluetooth Manager 。或者,你可以直接從 Bluetooth Manager class 利用靜態幫手方法 getDefaultAdapter

搜尋周圍的 BLE 裝置

我們利用計時器設定一段期間來搜尋裝置。我們可以呼叫在 Bluetooth manager 目標上的 startLeScan ,並交付至回傳目標以在找到裝置時得到通知。

API 持續的掃描裝置,所以我們會在 LeScanCallback 得到從不同裝置回傳的通知。我們在保存裝置之前會確認裝置入口的唯一性。我們也會確認我們的組件裝置名稱,並且保存引用。在以下例子之中,我們並不需要保存此裝置。

 

@Override

public void onLeScan(final BluetoothDevice device, final int rssi, byte[] scanRecord)

{

}

找尋傳訊服務

大多數的 BLE 裝置提供一個或更多的通訊 / 互動服務。在我們Grove BLE 中的TI CC2540 晶片擁有一個重要服務,ID為 「0000ffe0-0000-1000-8000-00805f9b34fb」。下一步我們會找出並保存引用至那個服務。

首先,我們必須連結至裝置。利用 BluetoothGattCallback 目標並推翻onConnectionStateChanged and onServicesDiscovered,才能在連接到裝置或是找到服務時得到通知。請特別注意在使用 onConnectionStateChanged方法時,當我們得到已連接的通知,就可以呼叫mBluetoothGatt.discoverServices() 以搜尋服務。在我們找到所要的服務後,就可以繼續程序並且傳送訊息。

 

@Override

public void onConnectionStateChange (BluetoothGatt gatt, int status, int newState)

{

}

 

@Override

public void onServicesDiscovered (BluetoothGatt gatt, int status)

{

}

觀看下列文件,其他還有許多方法可以被推翻:https://developer.android.com/reference/android/bluetooth/BluetoothGattCallback.html

傳送一個訊息

在範例代碼中有一個 sendMessage 方法。我們利用其 UDID 認證特性,並呼叫該特性上的 setValue 。最後,我們呼叫在 BluetoothGatt 引用中的 writeCharacteristic,傳送特性值,傳送數據。

有許多的 setValue 過載,其實可以使用一個較輕易的過載傳送符號串。但是大多數BLE溝通傳送回報時是使用位元,所以這是一個相對來說比較實用的例子。

現在,是時候設定英特爾 Edison了。

使用 Grove Breakout Board和BLE 組件設定英特爾® Edison

第一步始於組裝基本硬體。如果你還沒完成,請將英特爾Edison安裝到Arduin的分線版。

第二步,在安裝Grove擴充版時,將擴充版底部的針狀物對準Arduino的分線版。再連接Grove BLE v1 至UART串列埠。

connecting-intel-edison-to-android-with-ble-grove-shield8. 英特爾® Edison啟動於 Grove 擴充版和 BLE 組件連接

我們的第一個Sketch

我們正在做 Android 裝置和英特爾 Edison 之間的簡單串行通信。但是我們也希望看見有那些東西正在被傳輸和接收,所以我們利用Arduino IDE內建的串行感測器來觀察。

觀看Sketch完整版本:

https://github.com/adrianstevens/Edison_to_Android_BLE/tree/master/Sketches/SimpleSerial

打開英特爾 Arduino IDE 並創造一個全新的 Sketch。儲存它之後,將其命名為「SimpleSerial」。英特爾Edison擁有兩個串列埠可以使用,和其他的 Arduino相容面板不同。因為兩個串列埠允許我們在Edison 經由 Grove BLE 收發數據時,同時連接我們的個人電腦,所以非常的實用。你可以利用 microUSB 連結主 UART 串列埠至個人電腦。我們使用在 Grove 擴充版上已連結至 BLE 組件的 UART 串列埠連接器。若已經在英特爾 Edison 上配置完成,我們的 Sketch 就會自動啟動。它將會先啟動 setup() 功能,然後繼續的無限呼叫 loop() 功能。這個功能可以讓我們讀取並命令從串行連結的輸入。

初始化串行連結

Grove BLE 的初始連結速度是 9600 baud rate,所以我們就從這個開始。我們必須配置兩個串列埠以利用此速度。我們也必須向 Grove BLE 傳送數個 AT 命令,重新設定,使其在一個乾淨的狀態。你可以在 sketch 的 setup() 功能之中看到這些動作。

請注意到我們第一個配置的「Serial」是 microUSB UART 串列埠。第二個「Serial 1」是 UART 串列埠和 Grove BLE 的連結。

迴圈

我們在這個sketch中所做的都是讀取從別的串列埠來的數據,並將其傳送至另一個串列埠。為了達成這個動作,必須呼叫在串列埠的 read() 功能,此功能會給我們一個單一特性。接下來呼叫另一個串列埠的 print() 功能。

Edison 迴圈夠快,我們可以輕鬆達到 9600 baud rate。

配置 Sketch

現在,點選在 Arduino IDE  〈打勾處〉的核對〈verify〉按鈕,並修正所有的打字錯誤。在核對之後,請確認你的英特爾 Edison 已連結至你的個人電腦,並上傳你的 sketch 〈點選右箭〉。上傳完畢後, sketch 將會開始循環迴圈,就準備可以從安卓應用程式連結。現在開啟在 Arduino IDE 的串行感測器〈右上方放大鏡〉,我們就可以收發數據。

在 sketch 開始在英特爾 Edison 上運行後,啟動 Android BLEConnect 應用程式。你應該可以看見訊息:「Hello Grove BLE」出現在串行感測器上。

如果這個方法行不通,那問題應該出在 Android 應用程式上。確認顯示的狀態,它會告訴你問題在哪裡。

在 GitHub repo 中有一個 sketch 也會在 Grove LCD 顯示訊息。確認你的 Grove 擴充版已設定在 5V,並連接 LCD 顯示器至任何一個 I2C 連結。

connecting-intel-edison-to-android-with-ble-bleconnect-running-android

9. 在  Android 手機上運行的 BLEConnect

connecting-intel-edison-to-android-with-ble-adruino-ide-serial-monitor10. 正在接收BLEConnect 訊息的Adruino IDE 串行感測器

展望未來

製作一個更複雜的專案意指將建築學放入 Android 代碼和 Sketch的編寫之中。我建議將大部分的Android BLE 代碼移入服務之中,從 UI 抽象化代碼,讓其更容易在多樣的活動和專案中操作。當你製作更高級的 sketch 時,你將會需要 Arduino Time Library ,讓你可以一邊接收檔案,一邊模擬更多不同的迴圈(http://playground.arduino.cc/Code/Time) 。我會持續的在GitHub 存庫中增加範例(https://github.com/adrianstevens/Edison_to_Android_BLE),我也會在之後的文章中討論這些概念。

關於作者

Adrian Stevens 擁有 14 年以上的開發移動裝置應用程式的資歷;善於 C# 和 C++ 的跨平台開發。Adrian的專業包含建構使用者介面、音頻 / 信號程序、感測器和數理。 Adrian 長期任職於加拿大的溫哥華,擁有對科技的熱情和創業家的精神。他同時在 Meetup上進行 C# 跨平台開發。

Adrian 為 Palm Pilot 、 Pocket PC 等等平台在 2001 年首次開發移動裝置應用程式。他成功地創立並帶領一個精品移動裝置開發工作室。Adrian最近任職移動裝置和跨平台應用程式的指導員,指導建構和開發的策略。

更多精選文章.....

 

歡迎加入「Inside」 Line 官方帳號,關注最新創業、科技、網路、工作訊息

好友人數

This posting includes an audio/video/photo media file: Download Now

Yahoo 時尚美妝結盟 Tumblr 社群,精準導購創商機

Posted: 26 Jan 2016 03:12 AM PST

Yahoo Style 1

▲由左至右分別為造型師李明川、Yahoo 媒體傳播事業群副總經理邱瀅憓與總統蔡英文時尚改造裝扮 Model

今日 Yahoo 台灣舉辦時尚美妝頻道改版發表會,發表會上請來知名造型師李明川及 6 位人氣美妝部落客,一同以未來新任總統蔡英文為範本,打造兼具時尚與個性的專業造型。

根據 Yahoo 2014 年的亞太區美妝產業報告,台灣地區超過 7 成消費者表示深受部落客影響。邱瀅憓更表示,今日出席的六位部落客粉絲合計超過百萬,看中美妝部落格的威力, Yahoo 時尚本身則成為匯聚 Tumblr 內容的資訊牆。導入 Tumblr 後,將大幅提高互動性,網友除了可以按讚、留言、追蹤,參與討論,也能參加 Yahoo 時尚美妝定期舉辦的線上活動,就有機會成為合作部落客,在 Yahoo 時尚美妝官方平台曝光。

Yahoo Style 2▲Yahoo 媒體傳播事業群副總經理邱瀅憓與六位風格部落客

一改舊版以匯集刊物文章,文字為主的版面,新版內容方面除了 VOGUE、ELLE、Marie Claire 等 30 多家合作刊物以外,還增加了200 多位本地及全球時尚部落客內容,後台則改以 Tumblr 技術支援,能夠上傳 GIF 動圖、影片等,形式更多元。

年初 Yahoo 組織重整,根據 Business Insider 報導,其重點將圍繞在數位雜誌,而時尚美妝也是數位雜誌下的項目之一。

美國的 Yahoo Style 由前 Elle 時尚總監 Joe Zee 領軍,也自製了許多時尚系列報導及影片,對此台灣 Yahoo 媒體傳播事業群副總經理邱瀅憓表示,這些內容也能夠提供到台灣時尚美妝平台上,只需要加上字幕,未來在台灣也可望看得到時尚相關影音內容。

而面對國內主要的美妝社群如 Fashion Guide痞客邦化妝台等對手,Yahoo 時尚美妝還有特別的導購機制,將購物中心及 Tumblr 的 hashtag 標籤配對,在文章下方加入推薦商品,讓消費者能在閱讀完畢後一鍵進入購物頁面,不必另外搜尋文內提及的商品,望能促進消費者的購買意願。

根據 Yahoo 媒體傳播事業群副總經理邱瀅憓表示,Yahoo 時尚美妝目前在台灣每月活躍用戶有 100 多萬人,由於行動版新頁面已於去年搶先上線,目前其總瀏覽量已成長了 2.5 倍,初步目標將優先為用戶帶來更好的體驗,達到用戶成長,期望能成為最大的雲端時尚平台,暫時不以營利為主要目標。

 

歡迎加入「Inside」 Line 官方帳號,關注最新創業、科技、網路、工作訊息

好友人數

This posting includes an audio/video/photo media file: Download Now

擁抱科技創新的金融先驅—萬事達卡 MasterCard 台灣區專訪

Posted: 26 Jan 2016 02:45 AM PST

1500px_JFS_3166-編輯▲MasterCard 台灣區陳懿文總經理

金融科技(FinTech)已是目前最當紅的科技議題之一,從比特幣興起、行動支付普及,到股權式群眾募資等等,這些創新服務,不單具有徹底改變人類使用金融產品行為的潛力,同時也不斷大力衝擊著原本的金融體制,並引領許多相關的金融機構紛紛力求轉型。不過在眾多金融機構中,有個身影早在這波浪潮興起之前,就開始大力擁抱科技創新了,那就是信用卡發卡公司—萬事達卡(MasterCard)。Inside 本次專訪萬事達卡台灣區陳懿文總經理(以下簡稱 Eva)、業務拓展黃智琳副總裁(以下簡稱 Robert)兩位,帶讀者一窺信用卡在金融科技浪潮下如何變革,以及找到未來金融的角色定位。

轉型契機始於 IPO

萬事達卡在 2006 年 5 月 IPO,其 23.9 億美元的驚人金額,成為了美國那兩年內最大規模的上市案之一。不過上市固然風光,但也同時意味萬事達卡勢必要進入新的階段與方向,讓公司獲得更大的動能,並為更多的股東與大眾負責,而「科技創新化」就是他們當時所選擇的方向,甚至立志要轉型為科技公司的願景。

對一間具有 50 年歷史,業務遍及全球並且是市佔率數一數二的國際組織而言,「全面創新」確實是一項大工程,這也讓萬事達卡的創新行動在面對各國市場時各有不同的實踐。以台灣為例, Eva 說明台灣在萬事達卡眼裡是個非常特別的地方;人口雖少,但以全球角度來看科技相當發達,同時人均刷卡金額與持卡量在國際上也是高標水準(以金管會公布 103 年數據來看,人均刷卡額約為台幣 55319 元;人均持卡約 3.5 張),從這幾點來看,在東亞地區是相當適合推行創新服務的國家之一。

因此在智慧型手機還處於萌芽階段的 2007-08 年間,萬事達卡就國內各大電信業者與銀行合作,廣泛推出具 NFC 刷卡功能的手機。Eva 敘述當時作法受限於行動軟硬體都還在發展初期,其實作法有點「克難」,每支具刷卡功能的手機都還要個別進廠,一支一支特別設定再寄回給消費者。在當時看似大膽的動作,其實也代表萬事達卡無懼風險勇於嘗試,毅然決然朝向科技化的決心。

創新原動力:遍佈全球的萬事達卡創新實驗室

而能讓萬事達卡的創新能量足以適應變化多端的世界各國市場,背後靠的就是獨步各金融機構,遍佈全球的「創新實驗室」。 Eva 說明全世界萬事達卡總共有八個,雖然大多為 IT 科技人才,但每個實驗室都有不同擅長的科技與市場,其中離台灣最近,亞太地區專屬之實驗室則是座落於新加坡。去年資訊月所展出的「臉部認證技術」、主力服務「MasterPass 電子錢包」,甚至是從杜拜引進的「虛擬實境體驗屋」所用到的所有支付相關科技,都是由萬事達卡創新實驗室自行開發而來。據 Eva 所述,實驗室研發人員被賦予相當大的研發空間,在初始發想到原形階段都能自由發想,因此實驗室中有一大堆新奇先進的技術與產品;等到市場或技術普遍成熟,萬事達卡就會再評估這些技術如何實用化。這對金融相關業內可說是一大突破,儼然就是大型科技公司的正統作法。

▲萬事達卡在去年資訊月上展出的科技體驗內容

其實設立創新實驗機構,可以說是現今萬事達卡總裁兼執行長 Ajay Banga 的「上任力作」,在其 2010 年 4 月任職三天後,即宣布全球第一個實驗室在紐約成立。曾在雀巢與百事工作過的 Ajay Banga 深知消費者心理,特別注重消費者與店家是否具有流暢的消費體驗,因此十分重視在資訊科技掛帥的這個時代,信用卡如何藉由新科技,在消費過程中所扮演出新的角色。

因此,讀者不難發現這幾年都可以看到萬事達卡積極穿梭於各大科技展的身影。例如今年剛過不久的 CES 上,萬事達卡就展出可以支付的「智慧珠寶」,以及與三星攜手合作能自動偵測食材,並可連網直接採買食材的「Family Hub」智慧冰箱。另外最近的研究中心,則是於去年一月受蓋茲基金會投資,針對經濟活動較貧乏的地區與居民,設立新的「包容性」金融研究中心。

另外值得一提的是,目前萬事達卡力推的「萬物皆可付」概念其源頭,同時也是目前信用卡數位化的核心技術 「Tokenization」(憑證化),Eva 表示就是由萬事達卡所開發,再交由 EMV(國際銀行卡標準化組織)來訂定行動支付的標準規範。

HCE 是目前在台的首要重點

提到萬事達卡在台的推廣現況,其實也是將重點環繞在行動支付上。像是最近萬事達卡都與對手紛紛搶攻 HCE 行動支付服務,讓 Android 手機使用者不用更換 SIM 卡,就能輕鬆將手機當作信用直接支付;萬事達卡已準備好與台灣行動支付公司「t wallet 電子錢包」串連,即將與 23 間銀行聯手實現手機信用卡化。

Robert 就為我們說明 HCE 是 Google 主推的通訊支付技術,其核心就是 Tokenization,讓 16 碼的信用卡卡號轉化成代碼,再經持卡人身分驗證機制後,即可將代碼核發至手機中;另外每次交易也會生成本次交易限定的特定代碼,並不會有卡號外洩的風險(至於 iPhone 則是要等到蘋果正式在台發佈 Apple Pay)。

「其實追根究底,『消滅現金』是我們的理念!」Eva 笑著說萬事達卡為何要推行一連串的行動支付服務,她解釋現金與數位貨幣相比其實成本很「貴」!印刷紙鈔,塑造硬幣都需要複雜且高價的防偽製造設備,並且消耗紙張與金屬;運送現金要耗費時間與勞動力,而且現金也無法追蹤。相較之下,包括信用卡在內的數位貨幣,一但系統完全建構完畢,就能克服上面所述的問題。

Mobile_payment_01

▲台灣也將進入「手機一嗶」即可刷卡的時代,Photo Credit:HLundgaard 

但對信用卡公司而言,台灣市場的挑戰相對「複雜」許多。或許有不少人認為台灣最大的問題是「現金支付太方便」,導致大家都還是習慣用現金,而且從數字上來看,全台能接受信用卡的店面佔有率只約有 20%;上述確實沒錯,但 Eva 就為我們說明,實際上台灣銀行在信用卡的「佈點」上相當巧妙正確,非常符合台灣人日常使用信用卡的消費習慣,這一點若是從銀行或是發卡公司的經營成效來看,反而台灣經驗相當具控制成本之效。這也意味著要在台灣要推廣信用卡使用,並不能是一味增加「信用卡店家數」或發卡量就可改變現有環境。

韓國怎麼推廣信用卡普及化?

在台灣會遇到信用卡有手續費,以及免用統一發票的相關問題,導致很多商店抱怨成本增加,不敢引進信用卡支付。說到這裡,Eva 跟我們分享了南韓在九零年代,如何將信用卡普及化的一系列政策。

南韓可說祭出了「賞罰並行」的策略來推廣信用卡,例如在個人部分鼓勵持卡消費,當超過其收入的 10% 時,超出部分的20% 就可抵免所得稅;並且月持卡消費超過 1 萬韓元者就可憑票抽獎。同時商家也可最高以 5 百萬韓元為限,就交易額的2% 抵減營業加值稅,並且也能參加最高 2 千萬韓元的抽獎活動。

限制部分,如果商店不接受信用卡,將被作為嚴格稅務審計檢查的重點對象;同時年銷售額達 2,400 萬韓元的商家更會面臨一年期以下有期徒刑或1千萬韓元以下罰款。另外在會計層面上對工商企業提出,當公關費超過 5 萬韓元後,只能透過信用卡結算,方能記入成本。如果企業以信用卡結算超過 10 萬韓元的商品採購或服務,就可免繳採購稅。這讓信用卡在南韓社會迅速普及並創造專屬南韓特有發卡生態,也讓後來進入行動支付時代打下了良好基礎,像三星能發展自己的行動支付系統「Samsung Pay」,就是在這些有利結構下所產生的服務。

徹底數位化、行動化,會是信用卡的未來姿態嗎?

當然南韓的經驗,也絕非一定就能適用台灣環境。Eva 也認為,在台灣其實不缺持卡數與技術,就連過去網路零售困擾已久的「次特店」問題,也隨第三方支付開放而獲得解決,也因此未來的行動支付重點會是在「市場推廣」上。Eva 就以推行已有時日的「MasterPass」為例,剛推出時,看似是只針對一般電腦的網路購物環境所設計的支付平台,可以讓消費者只要輸入一次卡號、住址等相關資訊後,就可以在很安全的環境記憶資訊下,並跟許多網路購物網站串連迅速刷卡購物。

但其實在當初推出之餘,就已經有未來延伸使用在智慧型手機的打算了。如果說上個階段是推廣網路購物,那現在萬事達卡在終於成熟的使用環境與法令配合下,開始在 O2O 廣泛運用的新階段。談到這裡,Eva 就分享之所以選定與 cama 咖啡與叫車合作作為萬事達卡行動支付的首波服務,就是看到了台灣人喜歡以「悠遊卡」小額付款的習慣,再讓萬事達卡從生活細節切入的作法。未來萬事達卡也將從「教育市場」著手,用新科技帶來便利之處,引領台灣的消費者進入行動支付的時代。

有不少人會認為新型支付科技將取代現金與信用卡,但若以萬事達卡積極努力轉型為「科技公司」的歷程來看,信用卡並不會被取代消失,而是將以新科技的型態繼續廣為被人們所使用。

歡迎加入「Inside」 Line 官方帳號,關注最新創業、科技、網路、工作訊息

好友人數

This posting includes an audio/video/photo media file: Download Now

別以為自己能置身事外!科技取代人類不是危言聳聽,政府保障「全民基本收入」勢在必行

Posted: 25 Jan 2016 09:14 PM PST

mf被威脅的未來》作者 Martin Ford

電影《雲端情人》為我們揭示了看似荒誕,卻又真實的未來:人工智慧有了豐富情感,能夠與人類墜入情網,她不是被設計來抒發心靈寂寞的虛擬物件,而是宛若活生生的人,能夠跟你甜蜜熱戀,卻也會移情別戀。

當電腦都能理解世界上最複雜的情感,談起人類式捉摸不定的愛情,甚至產生自由意志、拋卻本來的「服務對象」,轉而追尋真愛,它還有什麼做不到的?

在瑰麗迷離的鏡頭之外,導演沒有說明白的是,由人類創造的人工智慧,可能終將反噬人類自己。

Elon Musk、Stephen Hawking 這兩個對人類科技與科學進展有著巨大貢獻的菁英,同樣對人工智慧抱著憂心忡忡、大力反對的態度,並非焦慮人機之間親暱交流破壞既有家庭結構,他們擔心的是,若放任他們無限制發展,恐怕機器終究會全面取代人類、甚至殺死人類,反客為主成為地球的主宰。

不過,在人類可能遭人工智慧「殺死」之前,我們有更迫在眉睫的問題需要面對。貧富不均、青年失落已很嚴重的年代裡,加上愈來愈聰明的「機器」攪局,人類大規模失業遲早會降臨。美國作家 Martin Ford 自己過去就是一名軟體創業者,「以前軟體是裝在光碟裡,需要勞工包裝、貼膜、運送,但現在軟體都已存在雲端了,再也不需要人力幫忙」,自此他開始省思科技產生的後遺症。

在他的著作《被科技威脅的未來》中,這種恐懼強烈且現實。Martin Ford 引述大量資料與數據,具體勾勒現在的科技如何徹底顛覆人類的未來。在目前以「工作」驅動「發展」的經濟體系中,機器替代勞動的同時,社會制度倘若無法跟著進化,那將會演變成一齣宛如退回封建時代的夢魘。

這次跟以前不同,科技迅速取代人類,白領別以為就可高枕無憂

FrameBreaking-181219 世紀「盧德運動」份子破壞紡織機

科技取代人力,這種相對悲觀的論調經常會被視為拒絕進化的守舊恐龍「盧德份子(Luddite)」。

slide1電腦創作的畫作。來源:The Painting Fool

但 Martin Ford 警告,21 世紀的科技進展取代的已不再只是昔日機械式重複性的任務而已。該操煩的不只計程車司機、倉儲揀貨人員、炸薯條裝飲料的速食店員工,他洋洋灑灑舉證了許多目前已在試驗、甚至成真的技術,從記者、IT 維護人員到律師、藥劑師、財務分析師,這些過往被視為勞心的工作,都可能被軟體程式全面獵殺;就連作畫、作曲等高度創意性的行為,電腦也未嘗無法做到。

Wall-E_Cubecolors

之所以如此劇烈轉變,來自雲端技術、大數據、機器學習、人工智慧等科技的高速進展,過去人類擅長處理「非結構性」資料,現在電腦藉由大量資料也能自我推衍,深度學習、神經網絡之類的科技也正加速自動化的未來。於是就連醫師想破頭也難以診斷的怪病,也許都能靠著機器搜羅龐大的資料庫,在全球範圍找到有紀錄以來歷史上所有類似病例、因而能夠更有效率的對症下藥。

永遠不感疲累、而且精準無誤,機器替代人類完成,人類不再受到勞力所宥,精神獲得解放,得以從事更高層次的藝術哲學創造,這是一幅完美到近乎烏托邦的景象。

但是問題在於,若不打破「有工作才有收入,有收入才有消費」的既有經濟法則,最終只能是一場「自動化封建」的悲劇。Martin Ford 在書中引述經濟學家 Noah Smith 的這段預言,令人毛骨悚然:

在保護精英權貴群的門外,擠滿了衣衫襤褸、瀕臨餓死的無業遊民,不同於史達林或毛澤東的專制政權,這個由機器人捍衛的專制政體將在大眾意見中屹立不搖,下層民眾可以隨心所欲發表思想,但槍桿永遠握在機器人統治者手上。

換言之,照這樣下去目前的科技進步,將會讓資本主義發展到最極致:世界只剩「科技資本家」與「貧窮大眾」兩種階級。

儘管書籍的前半段充滿對科技進步的不信任感,但 Martin Ford 來台受訪時仍稱自己的立場仍是「pro-tech(親近科技)」,他不反對科技發展。不同於 Elon Musk 曾提出人工智慧應由國家層級出面監管,Martin Ford 認為,由政府強加干預自動化趨勢不切實際,「中國、美國、俄國都在發展 AI,而且很多都是秘密進行,怎麼管、由誰來妨、管制的程度都是難題。」

阻礙自動化不是可行的解決辦法,Martin Ford 針對教育、職業培訓能夠促成低階勞工向上爬的說法也不買單,因為不僅金字塔底層的工作愈來愈少,自動化的趨勢也已逐漸侵蝕到上層稀罕、高價值的安全區。事實上,目前軟體產業憑靠幾十人小規模團隊在全世界創造高產值早已不是新聞,這雖讓科技界引以為傲,對全世界整體運作而言卻不必然是好事。

更好的新世界:政府給予全民基本收入保障

Martin Ford 認為,我們無法倚賴傳統政策如教育或介入控管私營公司,將全體人類從自動化的危機中拯救出來。何況,當一方推出愈來愈多尖端昂貴的科技服務,卻因極端貧富差距缺乏足夠的消費人口,豈不矛盾?Martin Ford 提出,比較有效的解法是現在已有少數國家採行的「保障基本收入」,亦即由政府給予全民得以維持基本生活所需的補償。

這種主張似乎很有濃濃的社會主義味道,難以見容於信奉資本主義掛帥的美國。不過 Martin Ford 請出被保守派視為偶像的右翼經濟學家海耶克(Friedrich von Hayek),這位 19 世紀以崇尚自由市場的學者當時即有如下見解:「保障所得是政府為窮困不幸者提供保險的正當政策,是轉型成更開放社會的過程中,許多人無法再倚賴傳統救濟制度時,政府必須提供的安全網」。

提供基本所得,反而是更有效率也更實際的作法。政府可以廢除如最低工資、食物券、其他社會福利等等救濟方案,不僅降低人力物力成本,且讓個體可以自由運用金錢,促進市場流動,又避免因貧窮激化的動亂。基本所得即使必定造成部分人口自願退出勞動市場,但若能讓更有企圖心的人因而產生更多機會、獲取更大量的財富,並不是什麼壞事。

2014 年底瑞士曾針對「全民發薪」舉行公投,不過以失敗告終。芬蘭政府擬在今年推行基本收入、荷蘭烏特勒支也將就此進行城市規模的實驗,顯見高失業率已讓現階段已開發國家焦頭爛額,隨著自動化時代降臨,問題只會空前嚴峻,現在看似激進的做法,未來也可能將成為常態。

別讓機器人輕鬆搶走你的工作

her003

當然,誰也不敢肯定以後的世界如何運轉,但自動化的浪潮是大勢所趨。也許我們能保持小小的期盼,在雲端情人設定的未來裡,「手寫」竟成為一項足以溫暖世人、因而可供餬口的技藝。

但現實一點來說,所有人不得不面對的真相是:該怎麼讓自己被吞噬的命運「最小化」?Martin Ford 建議,保持彈性、學習「學習的能力」(learn how to learn),別做例行性或重複性的事物,寫程式、創作小說、從事科學研究、行銷⋯⋯愈需要創造力、愈難以被預測的工作,遭取代的機會愈小、速度也愈慢。

怎麼判斷自己現在的工作會不會被機器人「掠奪」,「如果任何一個聰明且學習力旺盛的人,只要查看你的工作記錄,就能快速上手」,那你的工作就岌岌可危,因為那個聰明且學習力強的人不是誰,很可能就是一組電腦演算法而已。

如同 Martin Ford 所言,「終止科技發展是最要不得的手段,我們應該適應它」。乘上這股史上翻轉最劇烈的大浪,政府與個體責無旁貸,而且時間所剩不多。

This posting includes an audio/video/photo media file: Download Now

arrow
arrow
    全站熱搜

    投機客的行銷世界 發表在 痞客邦 留言(0) 人氣()