SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Raspberry Pi Zeroではじめよう! おうちで楽しむIoTレシピ

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.shbuild.shの順番で続けて実行します。ビルドするには20分程度の時間が必要になってきますので、その間は待ちましょう。

$ cd azure-iot-sdk-python/build_all/linux
$  ./setup.sh
$  ./build.sh

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
IoT Hubの設定

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Raspberry Pi Zeroではじめよう! おうちで楽しむIoTレシピ連載記事一覧

もっと読む

この記事の著者

平 愛美(タイラ マナミ)

 熊本県出身のITエンジニア。2児の母で、趣味は写真とグルメ。最近はRaspberry Pi、Arduinoを使った家庭内IoTについて日々研究するIT系母ちゃんとして活躍中。主な著書は、『改訂3版 Linuxエンジニア養成読本』(寄稿、技術評論社 刊)、『Linuxシステム管理標準教科書』(共著、LPI-Japan)など。 ブログ:Mana Blog Next Twitter:@mana_cat

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/10595 2017/12/22 01:21

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング