Raspberry PiとMicrosoft Azureを連携してIoTを活用しよう
Raspberry Pi Zeroではじめよう! おうちで楽しむIoTレシピ 第3回
この連載では、約650円で買えるマイコンボードRaspberry Pi Zeroを使って、ITエンジニアがIoTを学べたり、家族で楽しんだりできるIoTレシピをご紹介していきます。今回紹介するのは、Microsoft Azureのクラウドサービスの一つであるIoT HubとRaspberry Piを繋ぎ、Raspberry Piで収集した情報をIoT Hubへ送るレシピです。Microsoft Azureのサインアップ方法から、Microsoft Azure IoT SDKs for Pythonのインストール、IoT Hubの設定方法を解説します。
Microsoft Azureへサインアップしよう

まず、Azure IoTを始めるにはMicrosoft Azureへのサインアップが必要です。初めてMicrosoft Azureに登録する場合、無料評価版のサブスクリプションの利用ができますので、この機会にぜひ登録してみましょう。
また、制限はありますが、1日あたり8000メッセージまで、かつメッセージサイズ0.5KBまでならAzure IoT Hubをいつでも無料で利用することができます。
無料枠の詳細については以下をご確認ください。
swapの領域を拡張する
Raspberry Pi ZeroおよびZero Wの搭載メモリーは512MBです。
そのため、メモリー1GB未満の場合、メモリー不足のため 後述する「Microsoft Azure IoT SDKs for Python」のビルドが失敗する恐れがあります。そのため、実メモリーの退避場所としてswap領域を拡張します。
メモリーの使用状況を確認するには、freeコマンドを実行します。
$ free -m
total used free shared buff/cache available
Mem: 434 41 332 5 60 340
Swap: 99 63 36
Raspbian Stretchの場合、デフォルトで割り当てられているswap領域は100MBになっているため、この値を拡張します。swap領域はdphys-swapfileで管理されていて、設定を変更するには/etc/dphys-swapfileを編集します。
今回はswap領域を1024MB(1GB)に拡張するため、以下のようにCONF_SWAPSIZEの値を1024(MB)に変更します。
$ sudo nano /etc/dphys-swapfile CONF_SWAPSIZE=100 ↓ CONF_SWAPSIZE=1024
編集後、dphys-swapfileを再起動します。
$ sudo systemctl restart dphys-swapfile
swaponコマンドでswap領域が拡張されたか確認してみましょう。Sizeが以下のようになっていれば成功です。
$ swapon -s Filename Type Size Used Priority /var/swap file 1048572 0 -1
Microsoft Azure IoT SDKs for Pythonのインストール
swap領域の拡張が終わったら、次はMicrosoft Azure IoT SDKs for Pythonをインストールします。このツールはRaspberry Pi ZeroとAzure IoT Hubを繋ぐために必要となるツールです。
なお、Microsoft Azure IoT SDKs for Pythonには以下の2つのSDKが含まれています。
- Azure IoT Hub Device SDK for Python:Azure IoT Hubにクライアントデバイスを接続
- Azure IoT Hub Service SDK for Python:Azure IoTのバックエンドアプリケーションの開発
インストールするには、まずgitコマンドでRaspberry Pi Zeroにクローンします。ターミナルでRaspberry Pi Zeroにログインし、以下のコマンドを実行します。
$ git clone --recursive https://github.com/Azure/azure-iot-sdk-python.git
注意点としては、このリポジトリは依存関係のためにGitHubサブモジュールを使用しています。サブモジュールを自動的にクローンするには、--recursiveオプションを必ず使用します。
次に、以下のコマンドsetup.sh、build.shの順番で続けて実行します。ビルドするには20分程度の時間が必要になってきますので、その間は待ちましょう。
$ cd azure-iot-sdk-python/build_all/linux $ ./setup.sh $ ./build.sh
この記事は参考になりましたか?
- Raspberry Pi Zeroではじめよう! おうちで楽しむIoTレシピ連載記事一覧
- この記事の著者
-
平 愛美(タイラ マナミ)
熊本県出身のITエンジニア。2児の母で、趣味は写真とグルメ。最近はRaspberry Pi、Arduinoを使った家庭内IoTについて日々研究するIT系母ちゃんとして活躍中。主な著書は、『改訂3版 Linuxエンジニア養成読本』(寄稿、技術評論社 刊)、『Linuxシステム管理標準教科書』(共著、LPI-Japan)など。 ブログ:Mana Blog Next Twitter:@mana_cat
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
