ごった煮

色々な事を書いてます

IoT HubのVisual Studio拡張を使ってみる

IoT Hubの操作を支援するVisual Studioの拡張が出たので使い方のまとめ的な奴です。

 導入

vsの拡張機能と更新プログラムから選択するだけです。

IoT Hubとかで検索すると以下のような奴が出るのでそれを入れます。

image

入れたら再起動しましょう。

使ってみる

参照から接続済みサービスの追加を選択します。

image

 

するとこんな感じ

image

 

Azureのサブスクリプションが紐づいているアカウントでログインしていると自分のIoT Hubのインスタンスが一覧で出ます。

image

 

作成はできなさそうなので先にポータルで作っておいてください。

 

インスタンスを選ぶとデバイスの選択に進みます。

ここでNew Deviceで新規にデバイスを作成するか既存のデバイスとして接続するかを選びます。

image

 

OKを押すとソリューションにいくつか項目が追加されます。

image

 

あとは、AzureIoTHub.cs内のメソッドを呼ぶだけです。

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;

// 空白ページのアイテム テンプレートについては、http://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409 を参照してください

namespace IoT_Sample
{
    ///
    /// それ自体で使用できる空白ページまたはフレーム内に移動できる空白ページ。
    ///
    public sealed partial class MainPage : Page 
    { 
        public MainPage() 
        { 
            this.InitializeComponent(); 
            InitReceiveMessage();
        } 
        private async void InitReceiveMessage() 
        { 
              await AzureIoTHub.ReceiveCloudToDeviceMessageAsync();
        } 
        private async void Button_Click(object sender, RoutedEventArgs e) 
        { 
             await AzureIoTHub.SendDeviceToCloudMessageAsync(); 
        } 
     } 
}

これでボタンを押すとIoT Hubにメッセージを送れ、かつ自分のデバイス名を指定してメッセージを送ってもらうとメッセージが届く最小のコードになります。

超簡単ですね

メッセージ受信のテストとかは、Device Explorerとかで試すと一番楽かと思います。

 

まとめ

正直接続文字列を新しく生成してすぐに接続するための基礎コードを生成するだけのシンプルな拡張ですが、接続文字列を少し間違えるとかそういうしょうもないけどすごくはまりやすい問題にぶつかりにくくなる分非常に便利な拡張ではないかと思います。