Help us understand the problem. What is going on with this article?

【Azure で IoT】実デバイスが無くてもテストしたい!(ラズパイシミュレーター & IoT Hub編)

実デバイスが無くても試せる Azure で IoT

「Azure IoT やってみたいけれど、実デバイス持ってないんだよなー」
という貴方にお勧め。

今回は実機が無くてもブラウザだけでテストできる 「Raspberry Pi オンライン シミュレーター」 を使って「Azure IoT Hub」と通信する方法を説明します。

基本的には、マイクロソフトの公式コンテンツ(下記URL)ですが、ちょっとココに書いていないTipsを交えて紹介します。

Azure側 IoT Hub の用意

はじめに、Azure IoT Hub を作成し、IoT Hub 上に新しいデバイスを登録(デバイスID)しておきます。

下記のURLの手順に従って準備してください。

Raspberry Pi オンライン シミュレーター の起動

下記のURLから、ラズパイシミュレーターを起動します。

ラズパイシミュレータ本体
https://azure-samples.github.io/raspberry-pi-web-simulator/#Getstarted

こんな感じ。
RPI001.png

ちなみに、このラズパイシミュレータ、GitHub でソースコードが公開されていますので、中身を見てみたい方はどうぞ。

[GitHub] Azure-Samples/raspberry-pi-web-simulator

Raspberry Pi オンライン シミュレーター の初期設定

ラズパイシミュレーターの画面右側、コーディング領域で15行目の

const connectionString = '[Your IoT hub device connection string]';

に、IoT Hub で登録したデバイスの プライマリ接続文字列(Primary Connection String) を貼り付けます。
※以下の例では「RPISim001」という名前でデバイスを登録しています。

const connectionString = 'HostName=iothubpaasdemo.azure-devices.net;DeviceId=RPISim001;SharedAccessKey=xxxxrxZrOHjt4E86ynH87d8EC8UNRXTMWAf1nyZxxxx=';

あとはコーディング領域の下にある「Run」ボタンを押すだけです。
RPI_Run.png

ラズパイシミュレーターからIoT Hubへのデータ送信が成功すると、「Run」ボタンの下のコンソール ウィンドウ - コードの出力 に、次のようなJSON形式で2秒置きにデータが送信されている事が分かります。

Sending message: {"messageId":1,"deviceId":"Raspberry Pi Web Client","temperature":24.557101751054944,"humidity":79.75501992169126}

「temperature」がシミュレートされた温度の値で、「humidity」が湿度の値です。

一旦、ここで「Stop」ボタンを押してデータ送信を停止しておきます。

Raspberry Pi オンライン シミュレーター から IoT Hub に送信されているデータを変更してみる

送信するJSONデータの「deviceId」の値を変えたい場合には、29行目の
RPI005.png

deviceId: 'Raspberry Pi Web Client',

の'Raspberry Pi Web Client' の値を変更します。

JSONデータの送信間隔を変えたい時には、123行目の
RPI006.png

setInterval(sendMessage, 2000);

の「2000」の値(2.0秒=2000ms)を変更します。
例えば、0.5秒(500ms)毎にデータを送信したい場合は「500」にします。

Raspberry Pi オンライン シミュレーター から IoT Hub に送信されているデータをモニターする

次に、「Device Explorer」という Windowsアプリ(オープンソース)を使ってIoT Hubに届いたデータをモニタリングしてみます。

下記のURLから「Device Explorer」のインストーラー (SetupDeviceExplorer.msi
) をダウンロードして、使い方を確認してください。

Device Explorer のダウンロード
Device Explorer の使い方

準備ができたら、ラズパイシミュレーターの「Run」ボタンを押して、データ送信を開始しましょう。

RPI009.png

Device Explorer の「Data」タブを選択し、対象の「Device ID」 を指定した上で「Monitor」ボタンをクリックすると、IoT Hub に届いたJSONデータを見る事ができます。
※停止させるには「Cancel」ボタンをクリックします。

RPI010.png

これで、ラズパイシミュレーターから IoT Hub にテストデータを送信して、実際に動作しているかどうか簡単にテストする事ができました。

ymodek
Microsoft Azure で IoT 中心にやってます。 Microsoft MVP for Microsoft Azure (Jul 2018 - 2020)
teldevice
東京エレクトロンデバイスは、デバイスからクラウドまで、お客様のIoTビジネスを強力かつトータルにバックアップします。
https://esg.teldevice.co.jp/iot/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした