快速建置物聯網系統: Azure IoT Suite – Remote Monitoring 簡介及客製化

<2/15 更新:補充 IoT Hub GA 後支援MQTT, 新增 Azure-PowerShell v0.9.8.1 下載連結> Azure IoT Suite 是微軟針對物聯網應用所規畫出來的雲端服務套件。 它具有快速建置, 高度擴展(High Scalable )性及高安全性, 加上支援多種裝置端作業系統(包含Linux、Windows、mbed、TI-RTOS) 並將裝置端SDK及系統客製化程式在GitHub上開源(Open Source)等特性;可以大幅減少一般物聯網專案的建置時程,加速IoT產品解決方案推出市場。 透過微軟IoT Suite 的Portal 網站, 甚至可以20 分鐘內就建置完一個 IoT Suite 的展示網站。 有關更多IoT Suite的介紹, 可以參考 : 絕佳搭配 Azure IoT Suite 打造新世紀物聯網舞台 物聯網新應用 – 貫通物聯網每一哩路 由於各類物聯網情境的應用特性及作業流程不一, 因此Azure IoT Suite 在Device 端 SDK 及呈現介面上採取在GitHub 上OpenSource 的方式, 開發者可以在GitHub 上取得相關原始碼, 以修改成符合各自領域應用所需的網站系統。…


30分鐘快速建立Azure 上的巨量資料操作分析環境 (CentOS, Spark, MySQL, Hive)

Hadoop Ecosystem 的發展十分快速, 從上一篇 “Azure上架設與使用Apache Spark 服務” 到目前不過一個半月, Hadoop 部屬環境的打包跟測試工具 BigTop 已經GA , 而在Azure 上現在也推出支援Spark 1.3.1 的預覽版, 同時也支援運用 Jupyter (IPython) 或 Zeppelin 來做資料操作及圖表呈現。所以現在在Aure 上使用Spark 服務更加方便, 只要幾個點擊就可以建置完Spark 環境, 不需要像之前那樣需透過像指令碼動作 ( Script Action)這樣的方式自行安裝。 對於Apach Spark for Azure HDInsight 有興趣的可以到這邊參考相關資料。 在新的HDInsight 叢集中多了Spark 的叢集類型。 這個版本是基於Windows Server 2012 D2 DataCenter 作業系統。 在Hadoop 生態系中有三大版本發行商,分別是 Hortonworks、Cloudera 以及MapR。有關Hadoop 生態系及三大版本發行商的介紹, 可以參考 資策會 蘇國鈞組長在 2014 Java…


Windows 10 UWA( UWP APP) 開發入門 (附範例)

本篇主要是介紹如何開發第一個Windows 10 UWP 的應用程式, 並整理目前的一些相關開發資源。本篇適合對開發Windows 10 App (UWA) 有興趣的新手及iOS、Android 開發者。 如果你是Windows App 開發的新手 ( 沒有Windows 8/8.1市集App 或 Windows Phone  App 的開發經驗) 建議可以先到 Windows 開發人員中心 逛逛, 了解一下上面提供的資訊。  在Windows 開發人員中心上面有蠻多的開發資源, 包括: – Windows 應用程式入門- 開發 Universal Windows app- 設計 UWP 應用程式- 發佈 Windows 應用程式 都值得看一看。 [主要用語 UWP、 UWA、 Bridges]UWP ( Universal Windows Platform ) : 又稱作 “通用Windows 平台”…


Windows 10 造橋計畫, 第一橋 W專案 (Project Westminster )

在2015 年4月微軟年度的技術大會 //Build 上,最受到App 開發者矚目的其中一項宣布,應該就是從通用Windows 平台 (Uinversal Windows Plateform,簡稱UWP) 延伸出來的造橋 (Bridges) 計畫。   透過造橋計畫裡頭的 W專案 ( 或稱西敏專案,Project Westiminster)、C 專案( 或稱 百年專案,Project Centennial)、A 專案 ( 或稱 阿斯托利亞專案,Project Astoria)、 I專案 (或稱 島木專案,Project IslandWood ),無論是熟悉JavaScript/CSS的前端網頁開發人員、熟悉傳統Windows 應用程式的 .Net 或C++ 開發人員、熟悉  Android 平台的Java開發人員、或者是熟悉iOS 的Objective C 開發人員,都可以藉由這四大專案將他們開發的軟體快速地帶到通用Windows 平台上。    雖然要充分發揮Windows 10 平台功能與特性的最佳選擇仍是開發原生UWP 專案,但是對於許多已經在其他系統研發好產品的軟體公司來說 ,Bridges 仍是快速在Windows 10 上產出App,接觸到十多億Windows 裝置使用者的快捷通道。 目前造橋計畫裡頭的各個專案都預計在今年(2015)下半年陸續推出,而這個月率先推出的是給前端開發人員,協助快速將網站變成Windows 10 App…


Azure上架設與使用Apache Spark 服務 – 入門篇

Apache Spark 是近年來快速興起的巨量資料處理技術。 一開 始在2009年由加州大學柏克萊分校的AMPLab開發,並於2010年成為Apache的Open Source 專案之一。Spark 藉由在資料處理過程中(運算, 儲存等)大量採用In-Memory 的處理方式,具有優於過往以MapReduce 架構為核心的資料處理技術速度,一般說來可以達到數十倍的效能提升(理論上甚至可以達到百倍的處理效能提升)。 在2014年的Sort Benchmark Competition(資料排序基準競賽)中,Spark用更少機器且花了不到一半的時間,打破過去由Hadoop 保持的世界紀錄,更是奠定它在巨量資料處理速度上的領先者地位。 目前在Spark 的框架上,已經發展出 Spark SQL (以SQL 語法操作查詢資料), MLlib (機器學習),以及處理即時串流資料的Spark Stream。豐富的擴充模組加上效能的優勢,讓Spark 的使用人數快速增加。尤其MLlib的機器學習演算法日益完備,在Apache 專案中已經逐漸取代Mahout專案在機器學習中的地位。    Microsoft Azure 的HDInisght 叢集服務原本就支援Spark 1.0, 在今年(2015)三月12號後 HDInsight 叢集服務 3.2 也正式支援Spark 1.2.  Spark 1.2 相較於 Spark 1.0 提高了效能跟穩定度, 並且在各擴充模組上新增多項重要功能 (如在Spark Stream 上支援完整 H/A 模式). 本篇文章介紹逐步介紹如何在微軟 Azure 雲端服務中部屬Spark 1.2.  (Spark…


//Build/ 2014 Windows Phone 8.1 重點Session 整理

不知道有多少讀者跟筆者一樣在4/2 號晚上熬夜看了 2014 //Build/ 大會上的Keynote, 並且對 Windows Phone 8.1 帶來的新功能及開發技術更新感到非常的興奮. Windows Phone 8.1 在開發技術上, 除了帶來像 新的行事曆行事曆, 聯絡人, 動態磚 等API功能強化外, 也正式發表可以跨Windows Phone 及Windows 8 APP 的Universal APPs 專案類型, 讓開發者可以開發一次就產生同時適合手機, 平板, 筆電, 桌機的APP.   由於//Build/ 中有太多精采的課程, 先將一些跟Windows Phone 有關的部分課程分類整理如下, 希望對還沒時間細看 Build 大會內容的讀者有些幫助.    [基礎篇] Developing Apps using the Common XAML UI Framework The New Windows Phone Application Model Multitasking and Triggered Background Tasks for Windows…


Windows Phone App Studio – 開啟全民寫App 運動之神器

近年來行動裝置上APP 的盛行已經是一個讓大家都上癮的趨勢, IDC 的統計也顯示2012年台灣智慧型手機的市佔率超過七成. 不過APP 的開發一直都還停留在專業工程師才能進行的一項工作, 甚至大部分有IT部門的公司, 一旦有相關需求也都往往需要借重專精App開發的外包團隊來協助製作APP. 然而這樣開發APP 的高門檻在微軟 Windows Phone App Studio (beta) 發表後算是正式被打破.  透 Windows Phone App Studio 甚至只要不到十分鐘的時間, 就可以完成製作出類似公司介紹, 產品型錄, 或者專屬生日Party App.     Windows Phone App Studio (beta) 是一個免安裝且免費的線上工具. 只要登入你的 Microsoft ID (hotmail.com, live.com, outlook.com..), 然後寄信到 studio@microsoft.com 去申請使用的Token (因為目前還在Beta階段, 所以必須發信去申請, 目前大約3~4小時內就會寄給你使用的Token), 之後就可以透過數十種預設的的範本, 去快速製作不同的APP 應用. 使用及製作過程也可以參考這篇 “使用Windows Phone App Studio快速建立出一個App “的專文介紹. 這邊稍微再補充的是如果你是Windows Phone…


Windows Phone 台灣市集遊戲分級新規定 – 遊戲開發商請注意 ( Windows Phone Taiwan Marketplace game rating – Attetion ! Game publishers)

為了配合及遵守行政院在101年5月29日公布的”遊戲軟體分級管理辦法”, Windows Phone 台灣市集的遊戲未來都必須要按照辦法中的五個遊戲分級做分類. 這五個分級分別為: 分級的詳細規則請參考”遊戲軟體分級查詢網″.   從這周(11/26)起Windows Phone 市集也會開始要求軟體商在發布遊戲到台灣市集時需要選擇該遊戲的等級. 這個等級將由遊戲開發商自己認定, 微軟市集審查團隊並不負責驗證. 另外根據辦法中的規定, 在台灣區發布的遊戲在遊戲內容描述時, 將會由系統自動加上”注意使用時間 避免遊戲沉迷”警語. 而有 In-App Purchase(IAP) 功能的遊戲, 系統會自動加上 “本遊戲部分內容或服務需另行支付其他費用”警語.   除了11/26起發布的到台灣市集的遊戲需要強制選擇遊戲等級外, 已經發佈到台灣市集的遊戲也會陸續被要求指定遊戲分級. 在 2012年五月29日以後發布的遊戲, 需要在 2013年1月1日前指定遊戲分級. 在 2012年五月29日以前發布的遊戲, 需要在2013年12月31日前指定遊戲分級. 受影響的遊戲開發商接下來會陸續收到微軟市集團隊的通知, 如果遊戲開發商沒有在指定日期前提供分級資料, 該遊戲將會在台灣地區市集被下架. 也就是說2013年1月2日起, 不符合以上規定的遊戲會被下架. 如果你是遊戲開發商, 請記得為你的遊戲設定分級資料. 如果你是玩家, 也記得為你喜愛的遊戲發個信給遊戲開發商, 提醒他們設定分級資料. 詳細說明也可以參考 Windows Phone Developer Blog:  Windows Phone Store market expansion and new game ratings  ——————————————————————————————-…


好的Windows Phone App 通常具備的特點 – 開發人員觀點

Windows Phone 有別於其他以App圖示(Icon)為介面核心智慧型手機平台,試圖設計出一個可以讓使用者可以更直覺並更快到達所要資訊的使用者介面. (有興趣的讀者可以看一下這段影片) 最後的成果就是基於包浩斯(Bauhaus),瑞士平面設計風格(Swiss Design) , 攝影(Cinematography) 所發展出來的Windows Phone 使用者經驗 (舊稱Metro Style).      不過 身為沒有設計背景的程式開發人員, 以上這段話我其實不知道指的是什麼. 如果你有興趣更深入的了解的話, 建議可以把王森講師有關Windows Phone 使用者介面和圖形處理 的三份投影片看完. 以技術的角度來看, 所謂的Windows Phone使用者經驗是代表由個人化的動態磚, Infomation Hub (暫翻為”資訊匯流中心”) ,  全景式介面(Panorama) , Pivot 以及應用程式列(Application Bar) 所建構出來Windows Phone 應用程式.  並透過版面上適當的文字排版與對齊, 讓資訊看起來乾淨整齊. (個人甚至覺得文字排版, 包括字體大小與顏色變化, 加上排列整齊, 已經包括80% 的Windows Phone 介面設計精隨) 根據過去協助一些App開發商設計出符合微軟總部定義的 “好的” Windows Phone App, 把幾個重點摘要如下: 視覺與操作設計( 9則 )- 首頁採用Panorama 或Pivot  – 資料要向左對齊,…


Windows Phone App 必備的資料快取 Framework – AgFx

在開發 App 程式時, 程式的反應速度是影響使用者操作體驗重要的因素. 尤其是行動裝置常處在網路不穩的環境 (如捷運人多時, 或3G 訊號較弱時) . 為了確保使用者在來回操作App的過程中, 不需要反覆的存取網路上相同的資料, 因此在這邊推薦給Windows Phone 的開發者,  AgFx 這個相當棒的資料快取 Framework. 原作者已經提供一個相當清楚的 Step by Step  Sample. 主要有五個步驟: 1. 分析你的資料來源: 通常是確認資料來源如何解析, 筆者通常會先試著寫程式解析看看. 例如資料源是Json 就用 Json.Net 先Parse 成 Data Object. XML .     eg.    MyDataObject myDataObject= (MyDataObject )JsonConvert.DeserializeObject(contents, typeof(MyDataObject ));   2. 找出要快取資料的Key 值: 也就是系統用來辨識這個資料是不是已經存在快取資料區中的唯一依據.     Key 值建議是string(如果是複雜的Key值, 不是string 的話, 要額外實作一個ToString()的方法) , 同時宣告一個繼承 AgFx LoadContext 物件的 LoadContext物件.               public class…