クラウド関連技術ブログ

Raspberry Pi から Microsoft Azure へデータを送ってみた「Raspberry Pi 編」

投稿日:2016/11/29カテゴリー:Azure

こんにちは、FL.OPSの人、山本です。

 

最近 IoT と言うキーワードをよく耳にしますが、Microsoft Azure を使うと簡単にデータをクラウドに蓄積して、可視化することができます。

ということで今回は、Raspberry Pi から Microsoft Azure にデータを送ってExcel で見ると言うのをやって見ようと思います。

 

準備するものは、以下です。

・Raspberry Pi (モデル B+ を使いました)
・Microsoft Azure アカウント
・操作/データ表示用パソコン

 

システム構成と役割は、以下です。

ブログネタ.png

 

 

先ずは Raspberry Pi 

 

OSは、ラズビアン8を使っています。

Azure IoT のメッセージを通知するサンプルプログラムを含む開発環境がgit上に公開されていますのでそれを使います。

https://github.com/Azure/azure-iot-sdks

 

言語は「C」「Node.js」「Java」「.NET」「Python」が用意されています。
ネットで探してみると「Node.js」の環境構築記事は多かったので、今回は「Python」の環境を作ってみます。

では、開始。

 

1.スワップ領域の変更

      Raspberry Pi B+だと搭載メモリが少なく、buildが行えないため、
      以下のコマンドを実行しRaspberry Piのスワップ領域を1GBへ拡張。
 
   (1) スワップサービス停止

sudo /etc/init.d/dphys-swapfile stop

 

   (2) スワップ領域変更

sudo vi /etc/dphys-swapfile

     ファイル内の以下の値を「1024」へ変更し保存

-------------------------------------------------------------------------------------
    CONF_SWAPSIZE=1024
-------------------------------------------------------------------------------------

 

   (3) スワップサービス起動

sudo /etc/init.d/dphys-swapfile start

 

   (4) スワップ領域確認

以下のコマンドを実行して、スワップSizeが1GB 程度確保されていること。

swapon -s

-------------------------------------------------------------------------------------
    Filename                                Type            Size    Used    Priority
    /var/swap                               file            1048572 0       -1
-------------------------------------------------------------------------------------

 

2.Azure IoT SDK をローカルにコピー

      Raspberry Pi 上の任意のフォルダで以下の gitクローン コマンドを実行。

git clone --recursive https://github.com/Azure/azure-iot-sdks

   ※「--recursive」を付けないと、「c-utility」などサブモジュールをクローンしてくれないので注意!

 

 3. Python環境構築

    (1) cmakeのバージョンが3.x 以上であることを以下のコマンドで確認

cmake --version

     ※上記バージョンに満たない場合はバージョンアップをする。

 

    (2) gccのバージョンが4.9以上であることを確認

gcc --version

     ※上記バージョンに満たない場合はバージョンアップをする。

 

    (3)  2.でクローンした以下のフォルダに格納されているシェルを順番に実行

azure-iot-sdks/python/build_all/linux/setup.sh

azure-iot-sdks/python/build_all/linux/build.sh

 

4.サンプルプログラムの編集

    (1) IoT Hub 接続文字列の埋め込み
    
        以下のフォルダに格納されているサンプルプログラムをエディターで開く

azure-iot-sdks/python/device/samples/iothub_client_sample.py

-------------------------------------------------------------------------------------
    connection_string = "[device connection string]"
-------------------------------------------------------------------------------------

            上記のダブルクォーテーション(" ")で挟まれた箇所に「Azure IoT Hub」との通信用
            文字列(※)をコピペする。
 
            (※) この文字列は次回「Azure IoT Hub 編」で

 

    (2) プロトコルの変更

         サンプルプログラムをエディタで開き、protocol をMQTTへ変更。

vi iothub_client_sample.py 

-------------------------------------------------------------------------------------
   protocol = IoTHubTransportProvider.AMQP
-------------------------------------------------------------------------------------

           上記の「AMQP」を「MQTT」へ変更

 

以上でRaspberry Pi 側の準備は完了。

次回は、「Azure IoT Hub 編」です。 

CONTACT

tel 092-986-2772
10:00〜17:00(土・日・祝日除く)
お問い合わせフォーム
page top