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