2016 年 4 月

第 31 卷,第 4 期

本文章是由機器翻譯。

物聯網 - 使用 C++ 在 Visual Studio 中開發與 Azure 連接的 IoT 解決方案

Marc Goodner | 2016 年 4 月

物聯網 (IoT) 是每個地方時至今日。IoT 許多項目,但它只是最等同於感應器資料收集到雲端以進行進一步處理。此資訊清單會在許多不同類型的裝置,以收集該感應器資料; 部署擷取大規模; 該資料豐富的雲端服務巨量資料分析和機器學習服務的處理,並根據該資料。豐富的報表和用戶端應用程式,您深入了解這項資料。

那麼要如何您開始使用 IoT? 您需要在裝置中,定域機組和撰寫和部署至每一個軟體解決方案的工具。

在本文中我逐步引導您在裝置連線到 Azure IoT 使用 c + + 專案範本在 Visual Studio 中,涵蓋最常見的裝置。您將學習如何抵禦 Azure IoT 中心擷取您裝置的資料,並了解可針對該資料相關服務。Azure IoT 服務提供龐大的程度的彈性,因為它們在裝置本身使用的程式設計語言無從驗證和因為透過 Azure IoT 裝置用戶端 Sdk,支援的語言和裝置日益增多。在本文中我將重點放在 c + + 範圍更廣泛的裝置支援,因為它提供 — 從最小、 最電源效率微控制器,以執行完整的作業系統,例如 Linux 或 Windows IoT 裝置 — 和控制項因為它可以提供開發人員透過較低層級的裝置功能。即使您不是 c + + 開發人員,您將學習到足以部署簡單的應用程式的網路連線的裝置,並取得 Azure 的資料。

這篇文章的案例很簡單 — 從裝置的光線感應器資料收集至 Azure。完成的端對端解決方案,但將重點放在基本概念,不是目標 — 如何收集資料,並確認它取得定域機組。我將示範如何使用這項資料,在其他 Azure 服務,以及如何部署這些服務,以及在您的 Azure 訂閱內。如需有關 IoT 的詳細資訊,請瀏覽 aka.ms/iotmsdnb16, ,其中也會發現這篇文章,其他文件,許多其他範例中所討論的工具連結和完整的端對端 IoT 應用程式呼叫的連接點,您可以輕鬆部署至您的 Azure 訂閱,以及您可以連接您的裝置。

首先,我會設定 Azure IoT 中心,然後撰寫一些程式碼在 Visual Studio 中將測試資料傳送至 Azure 後端。然後我從各種不同的裝置執行相同的實際資料,會以此討論的 Azure 服務,您可以使用所收集的感應器資料。

Azure IoT 套件和 Azure IoT 中心

定域機組 IoT 解決方案的一部分,Azure 提供數個服務,包括 Azure IoT 中心及稱為 Azure IoT 套件,可降低初期的套件組合的工作,並提供長期的延展性。Azure IoT 中心是裝置的連接點,並以支援大量的資料,不可或缺的功能擷取數百萬個裝置傳送不斷更新的部署並不常見的最佳化。您可以選擇支援多達 8000 個訊息,每日 (適用於建立原型或個人專案),或兩種付費版本的免費版本,一個較小的專案可接受最多 400000 個訊息一天,採範圍較大的另一個支援最多 6 百萬個訊息一天。根據您要建置的 IoT 解決方案的小數位數,您可以部署多 IoT 中心,因為您需要支援您的方案需要的訊息量。IoT 中心也提供功能的裝置管理和佈建到 IoT 部署的需求,以及一系列開放原始碼 Sdk 來開發裝置連線能力和服務管理組件,您的方案量身訂做。

Azure IoT 套件提供完整端對端的 IoT 解決方案,來簡化開發程序預先設定的成長集合。其中包括如預期的問題發生之前就使用機器感應器資料的預測維護 common IoT 專案的解決方案。Azure IoT 套件解決方案所組成一的組預先設定 Azure IoT 服務,包括 Azure IoT 中心,可以將佈建到您的 Azure 訂閱讓您可以快速部署的 IoT 解決方案,並接著加以自訂以符合您的專案的獨特需求。

無論您 Azure IoT 套件預先設定的解決方案,或是部署您自己的一組 Azure 服務,您將開發您的應用程式的裝置端使用相同的 Azure IoT Sdk。範例所示,我必須以手動方式設定 Azure IoT 中心執行個體後面一些簡單的服務說明簡單的 IoT 端對端解決方案。

連接到 Azure IoT 中心

第一個步驟是設定您的 Azure IoT 中心。如果您沒有 Azure 訂用帳戶,您可以建立免費試用版訂閱。完成時,請登入 Azure 入口網站,並選取 [新增 |物聯網 |Azure IoT 中心,完成的選項,並選取 [新增]。選擇定價層 (您可以將部署的每一訂閱的免費層的 IoT 中心只有一個執行個體),完整的其他提示,並選取 [建立 (請參閱 [圖 1)。

建立新的 Azure IoT 中心
[圖 1 建立新的 Azure IoT 中心

接下來,請確定您有 Visual Studio 2015 Community Edition 或以上版本,搭配 c + + 工具已安裝且已正確設定。您必須有延伸 Visual c + + for Linux 開發、 Visual c + + IoT 開發和 Azure IoT 中心連線安裝服務,以及 Windows IoT Core 範本如果您計劃 Windows IoT 裝置做為目標。您可以尋找 Visual Studio 組件庫中的這些擴充功能或從安裝在 Visual Studio,從 [工具] |擴充功能和更新的功能表。同樣地,Arduino 和 mbed 的範例會使用 PlatformIO 來啟用這些面板,您可以在 platformio.org 獲得的編譯器。

現在,建立專案以連線到您的 IoT 中心。Azure IoT SDK 中涵蓋這段程式碼的許多範例,每個著重於特定的通訊協定或裝置。若要取得此程式碼最簡單的方式是安裝目前支援 C# 和 c + + 專案的 Azure IoT 中心已連接服務延伸模組。我想要快速原型我的程式碼之前牽涉到裝置,所以我在 Windows 上執行這項操作。安裝擴充功能之後, 建立新的 Win32 專案在 Visual c + +。

在專案中,以滑鼠右鍵按一下 [參考] 上,選擇 [加入已連接服務。在來源上,選擇 Azure IoT 中心已連接服務,然後選取 [設定] 對話方塊 (請參閱 [圖 2)。

使用 Azure IoT 中心連線服務延伸模組
[圖 2] 使用 Azure IoT 中心連線服務延伸模組

登入您的 Azure 帳戶,您會看到您的 IoT 中心。選取它,然後選擇 [新增]。這會顯示現有的裝置清單,如果您已新增至您的 IoT 中心; 任何裝置如果沒有,它會是空白。選擇新的裝置,並挑選一個名稱,讓我們呼叫 ThingOne。等候它會出現,並加以選取。這會提取下,產生新的檔案、 azure_iot_hub.cpp 和對應的標頭 azure_iot_hub.h,其中包含封裝將資料傳送至 Azure IoT 中心與您選擇的裝置所需的連接字串的最佳作法的 helper 函式的程式庫的 NuGet 封裝。當然,您將需要修改產生的程式碼來處理您想要傳送和接收的訊息。現在,我們會傳送預設的訊息。新標頭將參考加入至您的主控台應用程式程式碼,並置於 main send_device_to_cloud_message 函式的呼叫。您的程式碼看起來應該像這樣 ︰

#include "stdafx.h"
#include "azure_iot_hub.h"
int main()
{
  send_device_to_cloud_message();
  return 0;
}

接下來,使用 [IoT 中心總管] 中,確認您的訊息傳送到 IoT 中心。這是根據 Node.js,因此如果您的系統上未安裝您應該立即安裝跨平台 CLI 工具。取得透過 npm 工具 ︰

npm install -g iothub-explorer@latest

接下來,在命令提示字元中,啟動 [IoT 中心總管] 中看到資料從裝置傳送到 Azure IoT 中心。必要的命令使用的連接字串和裝置名稱是 azure_iot_hub.cpp 檔案的註解中。您自己在 Azure 入口網站中找到此字串,選取您的 IoT 中心,然後選擇 [Essentials] 列上的索引鍵圖示並查看會出現 [共用存取原則] 面板。

iothub-explorer [<connection-string>} monitor-events ThingOne

您會看到訊息,指出會監視事件,從您的裝置。現在切換回 Visual Studio,並開始點擊 F5 偵錯。您應該會看到事件接收在主控台中,"Hello Cloud 」。

若要暫停此檢查產生的程式碼處理 Azure 的連線。Send_device_to_cloud_message 內,您會發現正在建立 IoT 用戶端 ︰

IOTHUB_CLIENT_HANDLE iothub_client_handle =
  IoTHubClient_CreateFromConnectionString(connection_string, AMQP_Protocol);

請注意 AMQP_Protocol,這是預設值,但其他通訊協定如 HTTP 和 MQTT 也可以用以下。您也將會發現的錯誤處理會提供有關建立此用戶端,並適當加以處置。訊息本身是傳送後方的用戶端成功建立 ︰

d::string message = "Hello, Cloud!";
IOTHUB_MESSAGE_HANDLE message_handle =
  IoTHubMessage_CreateFromByteArray((const unsigned char*)message.data(),
  message.size());

同樣地,您會看到,提供錯誤處理,以確認傳遞回條傳送要求到 IoT 中心。您現在可以請傳送您自己的訊息做一些修改。

當您移至使用實際的感應器時,您現在要偵測到使用 photoresistor,也稱為 Light 相依反對或 LDR 亮度,現在讓我們來修改程式碼來傳送訊息的值適用於這種情況。在標頭檔 azure_iot_hub.h 中,加入整數做為函式呼叫的參數。當您完成時,標頭的內容應該如下 ︰

// Insert call to this function in your code:
void send_device_to_cloud_message(int);

在 send_device_to_cloud_message 函式定義中,變更要使用的感應器資料,而不會傳送 Hello World 訊息的值。如何執行,以 JSON 格式的範例如下 ︰

char msgText[1024];
sprintf_s(msgText, sizeof(msgText), "{\"ldrValue\":%d}", ldrValue);
std::string message = msgText;

對於更複雜的 JSON 資料或其他格式,您可以使用您最愛的 c + + 程式庫。

立即更新您的 main 函式,以傳遞一些值做為感應器資料 ︰

#include "stdafx.h"
#include "azure_iot_hub.h"
int main()
{
  int ldrValue = 500;  // value will be read from a sensor in later examples
  send_device_to_cloud_message(ldrValue);
  return 0;
}

IoT 中心總管] 中仍在執行,以監看的訊息,建置並執行您的專案。您會看到新的事件接收,以 JSON 格式的資料,{ldrValue: 500 }.

恭喜您! 您現在擁有 IoT 定域機組和一些程式碼準備好使用感應器連接到它連接至裝置。

裝置與感應器

針對此應用程式中實際的感應器,我使用 Groove 系統從 Seeed 工作室。Groove 會提供廣泛的感應器,以連接到您的裝置,以擴充板介面的通用連接器,免除 breadboards 和焊接開發您的 IoT 解決方案的原型。您可以當然,使用您喜歡,任何感應器或無根本如果您想要模擬裝置的程式碼中的感應器資料。特定 Groove 裝置介紹程式碼範例中以下光感應器,部分為求簡化,因為它會產生類比的輸出,因此我不需要尋找並安裝特定的程式庫,可以改變平程序。在所有的範例中,感應器已插入標示 A0 Groove 展開面板上的連接器。如果您不想要使用一個盾牌而對 breadboard,只要連接 LDR 到電源和看板上的類比輸入的 pin。

裝置解決方案的一部分,我會討論三個選擇 ︰ Raspberry Pi、 Arduino 和 mbed。有許多因素列入考量,選擇您 IoT 的專案中的裝置時,這三個選項涵蓋各種不同的案例。對於較小的部署,各種現成可用的裝置可以簡化開發程序。不過,針對大型部署,這些選項不是以符合成本效益。(如數萬個裝置的部署,降低硬體成本,即使是由一兩儘量減少為 1 美元,可以有很大。) 如果您剛開始學習 IoT,簡化開發可能產生這類的成本降至最低,但原型建立您可能需要考慮到它。基本安裝的裝置不本文的涵蓋範圍,但您會發現在線上資料指標 aka.ms/iotmsdnb16[圖 3 顯示的裝置與感應器這一節所述。

從左邊 Raspberry Pi 2 Groove Hat 和與光線感應器連接、 Arduino Yun、 Groove 基底盾牌,FRDM 64 mbed 在下方面板
[圖 3 從左邊,Groove Hat 和與光線感應器連接、 Arduino Yun、 Groove 基底盾牌,FRDM 64 mbed 底部面板 Raspberry Pi 2

在撰寫本文時,Azure IoT 中心已連接服務延伸模組可以只下拉二進位檔的程式庫用於在 Windows 上。Microsoft 致力於其他平台目標,以及啟用此。話雖如此,跨平台運作的延伸模組所產生的程式碼。在步驟中,您會重複使用處理訊息到 Azure IoT 中心稍早產生的程式碼。每個裝置區段要獨立獲得,因此您可以略過區段裝置您不感興趣。

Raspberry Pi Raspberry Pi 是以 ARM 處理器和 GPU 單一面板電腦。執行 Linux 的各種功能,並 Raspberry Pi 2 也支援 Windows 10 IoT。Raspberry Pi 提供相當大的彈性 — 它是完整的電腦和包括網路、 USB、 GPIO 和 HDMI (不過它不支援類比感應器),和 maker 活躍社群感謝範例專案有很多,而且可以。彈性並雖然有其代價 ︰ 替代項目和有限的選項來自訂繪製比較較高的能力。因此如果您是建立原型並不能存取硬式編碼的電源,或將部署大量的裝置,您可能想要開始另一個面板。

在本文中,我要搭配擴充板 Raspberry Pi 使用 Groove 連接器從 Dexter 產業,也增加了類比的支援,而且光感應器連接到 A0。我也要使用適用於 Linux (Visual c + + for Linux 開發擴充功能的一部分),可讓您建置和偵錯程式碼在遠端 Linux 機器的最近推出的新專案系統支援。移至 [檔案 |新的專案。在 Visual c + + |跨平台,請選取 [主控台應用程式 (Linux)。這會開啟說明檔提供此專案類型的新功能,並說明如何將遠端 Linux 機器加入至專案。指示也涵蓋 Azure IoT 程式庫取得適用於 Linux 和設定 [Groove] 保護盾的一些秘訣。

第一個專案產生的檔案複製至這個專案。您的專案命名為方案中開啟 cpp 檔案並加入 azure_iot_hub.h 的參考。現在更新 main,以持續,從裝置讀取感應器資料中的程式碼中所示 [圖 4

[圖 4 讀取使用 Raspberry Pi 感應器資料

#include "azure_iot_hub.h"
#include <unistd.h>
#include "grovepi.h"
int main()
{
  int ldrValue;
  while(1) {
    ldrValue = analogRead(0);
    send_device_to_cloud_message(ldrValue);
    sleep(5);
  }
  return 0;
}

現在,您可以執行您從 Visual Studio 中的應用程式。它會將您的來源複製到您指定的位置中 Pi,建置並執行它們。如同任何其他程式碼在 Visual Studio 中,您可以設定中斷點。一旦執行的程式碼,您會看到事件和模擬資料一樣,接收 IoT 中心總管 {ldrValue: 1013 }.

這項支援適用於 Linux 不受限於 Raspberry Pi。它也可以使用其他以 Linux 為基礎的裝置,如 Intel Edison、 BeagleBone 或任何遠端 Linux 機器。

在 Raspberry Pi 2 上的 Windows 10 IoT 核心是另一個選項。請參閱 windowsondevices.com 的入門資訊。安裝工具之後,請前往 [檔案 |新的專案,然後在 Visual c + + Windows 與選取的空白應用程式 (Windows 通用)] 下的外觀。用於 UWP Windows IoT 延伸模組的參考加入專案。在撰寫本文時,有一些額外的步驟所需的 UWP。請如果仍然需要參閱產生的檔案 azure_iot_hub.cpp 中的註解。在 MainPage.xaml.cpp 應用程式程式碼,加入 azure_iot_hub.h 參考包含檔案。

在 mainpage.xaml.h 中加入檔案,新增下列私用宣告 ︰

private:
  const int readPin = 4;
  Windows::Devices::Gpio::GpioPin ^pin_;

此程式碼說明如何直接讀取使用 UWP Api 的 GPIO pin。請參閱 aka.ms/iotmsdnb16 更新有關 c + + 搭配使用 Groove Pi 盾牌。更新函式定義和實作傳遞的感應器值以 JSON 物件,如先前範例所示。

接下來,您將更新 MainPage 在 MainPage.xaml.cpp 中的實作如下 ︰

MainPage::MainPage()
{
  int ldrValue;
  auto gpio = GpioController::GetDefault();
  pin_ = gpio->OpenPin(readPin);
  pinValue = (int) pin_->Read();
  send_device_to_cloud_message(ldrValue);
}

請確定 Azure IoT 中心會接聽您的裝置,然後建置和部署。您會看到值的 JSON 訊息從由光感應器資料流。偵錯的運作方式就如同您會預期,因為目標裝置是另一部 Windows 電腦。沒有需要您的目標是 Windows IoT 裝置時的特殊設定。

Arduino Arduino 中找到更多的製作程式專案,可能比任何其他面板那裡。訴求普遍,因為其他許多提供者加入其版支援 Arduino IDE。感應器製造商層級是支援的同樣高,輕易地納入 Arduino IDE 的程式庫。委員會本身有提供各種數位與類比的輸入和輸出中常見的外型規格的擴充盾,若要新增的例如 Groove 基底保護盾的通用連接器。其他面板提供者已採用該外型規格。有許多 Arduino/Genuino 佈雷區,可以選擇,範圍從低電源 Mcu 到強大 ARM 晶片,並且第三方版的豐富生態系統提供。身為開放原始碼的硬體平台上,所有圖解都是可供使用,成為較大的部署中使用的絕佳平台。

並非所有 Arduinos 都有內建的不過,網路功能,因此您會想要選擇其中一個,或使用擴充保護盾,將網路新增到您的裝置。附加 Groove 基底保護盾,光感應器插入標示為 A0 的連接埠。

基本 Arduino 專案稱為草圖,組成包含.ino 中具有相同名稱的檔案的資料夾。這個檔案只是一個 c + + 檔案。Arduino IDE 會隱藏更為複雜,其預設組建 API 程式庫。有許多輔助線線上涵蓋基本 Arduino 安裝和使用方式。請瀏覽 Arduino.ccaka.ms/iotmsdnb16 如果您需要的指標。如果您想要的 Visual Studio 更完整的功能,但想要維持在 Arduino 生態系統內,並使用.ino 格式,視覺化微提供,連同 Arduino IDE 中的大部分的面板和程式庫的管理功能,直接在 Visual Studio 擴充功能。

若要使用直接 c + +,而不是.ino 草圖格式,請確定您已安裝 Visual c + + for IoT 開發擴充功能,並建立新的專案。然後,從 Visual c + + |跨平台上,選取 [空白應用程式 (IoT) 專案。這會開啟說明這種專案類型的新功能的說明檔。請參閱這些指示說明如何加入和設定您的專案中的面板。

請參閱搭配 Arduino 初始化 PlatformIO 和匯入所需的 Azure IoT 程式庫專案中的讀我檔案。Azure_iot_hub.h 檔案複製到 lib 資料夾的第一個練習和 azure_iot_hub.cpp 到 src 資料夾 ︰

#include "azure_iot_hub.h"
int lightSensorPin = 0;
int ldrValue;
void loop()
{
  ldrValue = analogRead(lightSensorPin);
  send_device_to_cloud_message(ldrValue);
  delay(2000);
}

現在您可以建置並部署您的程式碼至面板。請確定 Azure IoT 中心總管正在執行,所以您可以看到從面板所傳送的訊息。偵錯時,也支援。設定用於這個變動,因此,請參閱說明檔包含在專案中。

mbed ARM mbed 平台是另一個絕佳的選擇。這是 ARM 架構的微控制器,提供通用架構開發,且支援各種不同的原型版許多 ARM 矽元件廠商所提供的 OS。所有這些廠商有其本身到生產環境的自訂設計的路徑。對於大規模的部署,mbed 是很好的起點。在 Microsoft,我們使用的 Freescale、 敬佩、 STMicro 和其他面板。此處所選擇的範圍不過,還能夠有點難得知要從何處開始,但絕佳社群線上 mbed.org 可幫助。請注意您不會找到與 Raspberry Pi 或 Arduino mbed 線上許多 maker 樣式專案。會產生 mbed 面板每 ARM 廠商有快速入門的指南;我強烈建議您在那里啟動。

在本文中,我使用 Freescale 自由 K64F 面板,因為它有內建乙太網路,因此很容易取得連線到網際網路。此面板也會有標頭比對 Arduino,因此您可以使用相同 Groove 的基底保護盾連接感應器。將光感應器附加至標示為 A0 隨插即用。

同樣地,如同 Raspberry Pi 和 Arduino,我要使用 Visual Studio 中的控制器支援。請確定您已安裝 Visual c + + for IoT 開發擴充功能,並建立新的專案。選取 Visual c + + |跨平台 |空白的應用程式 (IoT)。這會開啟說明這種專案類型的新功能的說明檔。請參閱這些指示說明如何加入和設定您的專案中的面板。

我為我建置工具的 PlatformIO 用於此專案。PlatformIO 是彈性的系統可支援許多不同的控制器平台。請參閱搭配 mbed 目標初始化 PlatformIO 和匯入所需的 Azure IoT 程式庫專案中的讀我檔案。Azure_iot_hub.h 檔案複製到 lib 資料夾的第一個練習和 src 資料夾到 azure_iot_hub.cpp。

更新您的程式碼中所示 [圖 5

[圖 5 讀取使用 MBed 感應器資料

#include "azure_iot_hub.h"
#include "mbed.h"
AnalogIn lightSensorPin(A0);
float ldrSensorValue;
int ldrValue
int main()
{  while(1) {
    ldrSensorValue = lightSensorPin.read();
    ldrValue = (int) (ldrSensorValue * 1000);
    send_device_to_cloud_message(ldrValue);
    delay(2000);
  }
}

現在您可以建置並部署您的程式碼至面板。請確定 Azure IoT 中心總管正在執行,所以您可以看到從面板所傳送的訊息。偵錯時,也支援。這項設定而異,請參閱說明檔包含在專案中。

使用 Azure 服務中的感應器資料

既然已經感受從裝置傳送至 Azure 的感應器資料,您可以使用任何可用的 Azure 服務中使用它。這是 Azure IoT 套件] 或 [連接點專案中的參考實作可以幫助您查看各種可能性,而且項目如何連接在一起。

例如,您可以處理透過 IoT 中心即將推出的即時資訊,並將它當做其他服務的輸入。常見的模式是異常偵測和通知。若要設定這類警示,您會建立 IoT 中心會輸入資料流分析服務。接下來,您會定義的輸出,這項工作,例如儲存體 Blob 或 PowerBI,,,然後定義剖析來自輸入資料的查詢,例如尋找超過特定閾值的值。符合項目都會送至定義的輸出 (請參閱 [圖 6)。

最簡單的資料流分析工作曾經
[圖 6 的最簡單的資料流分析工作曾經

您可以使用儲存體 Blob 做為輸入至邏輯應用程式,然後將傳送 SMS 警示,或在 PowerBI 的情況下它會使用變更條件的近即時儀表板中。機器學習服務也提供豐富的機會來解除鎖定可以收集,即時最忙碌路徑,或藉由分析歷程記錄資料的感應器資料的龐大的值。這些是幾個例子。所有可用來進一步處理和報告資料的 Azure 服務,就可以實現任何 IoT 需求。

要注意的是,可以用 IoT 中心您可以使用事件中心的任何位置。如果您發現您想要使用的服務沒有 IoT 中心選項,您必須取得事件中心相容名稱。請移至您的 IoT 中心,在 Azure 入口網站,然後選取訊息。雲端設定的裝置] 下,您會看到事件中心相容的名稱和端點。

利用完整的 IoT 資料永遠涉及多個服務使用。Azure 資源管理員 (ARM) 範本可協助您管理的複雜度。這些範本,撰寫在 JSON 中,定義部署,包括部署、 位置、 值來使用,等等,排序的 Azure 服務,並可讓您快速部署一組完整的服務,以建立 IoT 定域機組的後端。這些範本用於 IoT 套件內將解決方案部署到特定的 Azure 訂用帳戶。因為簡單的 JSON 檔案中的範本,您可以也追蹤這些項目在未來的部署中使用版本控制系統,會是從原型移至生產環境部署。

IoT 與未來

您已在建置物聯網扮演的角色。如果您尚未開始採用這,希望這篇文章已引起您的興趣。如果已被駭客 Arduinos 和 Raspberry Pi 裝置多年來已經,也許您覺得值在此處介紹的新 Visual Studio c + + 功能。如果您不是 c + + 開發人員,您可能會發現這些新功能使 c + + 上更容易達成。

沒有更多關於 Azure IoT 比我在此處提供。我討論過的基本概念,讓您啟動,而且提供了進一步的指標。不要試試看。我期待收到您所建置的項目。

請務必造訪 aka.ms/iotmsdnb16 如需其他資源,並保留學習。


Marc Goodner經理著重於 IoT 工具在 Visual Studio 小組和 Microsoft 的車庫 Maker 社群的積極參與者。他感謝沒問題的單一 malt。

感謝以下的微軟技術專家對本文的審閱: Olivier Bloch 和 Artur Laksberg