SHOEISHA iD

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

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

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

Raspberry Pi Zero WとAzureで、Webから操作できるIoTクリスマスツリーを作ってみよう

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


  • X ポスト
  • このエントリーをはてなブックマークに追加

 この連載では、約650円で買えるマイコンボードRaspberry Pi Zeroを使って、ITエンジニアがIoTを学べたり、家族で楽しんだりできるIoTレシピをご紹介していきます。今回はIoTでクリスマスツリーを光らせてみます。スマホ・PCのブラウザーからWebアプリにアクセスし、「点灯・点滅・消灯」のボタンを押すことで、Raspberry Piから配線したLEDを制御することができます。スマホのボタン操作でクリスマスツリーのLEDを制御することができるので、小さなお子さまも気軽に試すことができます。このIoTクリスマスツリーで、身近なIoTを体験してみましょう。

  • X ポスト
  • このエントリーをはてなブックマークに追加

IoTクリスマスツリーの仕組み

 IoTクリスマスツリーを制御する仕組みについて、大まかには以下の流れになります。

  1. ブラウザ上でWebアプリのボタンを押す【点灯/点滅/消灯】(MQTT Publisher)
  2. MQTT Brokerでメッセージを受け取る
  3. Raspberry Pi Zero Wでメッセージを受け取り(MQTT Subscriber)、LEDの制御をする(GPIO)

 まずは、クリスマスツリー用のLEDを準備し、Raspberry Pi Zero Wに繋げます。そして、AzureのPaaSのサービスである「Azure App Service」でPHPをインストールし、PHPで動作するWebアプリを準備します。

 Webアプリのボタンを押すことにより、メッセージ(データ)が送信されます。そのとき、MQTT(Message Queue Telemetry Transport)という通信プロトコルを使用し、メッセージはMQTT Brokerに送信されます。その後、Raspberry Pi Zero WでMQTT Brokerのメッセージを受け取り、LEDを【点灯/点滅/消灯】させます。

 Azure App Serviceの詳細については、マイクロソフトの公式ドキュメントをご覧下さい

用意するもの

  • Raspberry Pi Zero W
  • ミニブレッドボード
  • ジャンパワイヤ(オス~ワニクリップ)
  • ジャンパワイヤ(オス~メス)
  • LEDライト(4.5V 1m/20個)
  • トランジスタ 1本
  • 抵抗 1本
  • クリスマスツリー

 LEDライトについては、今回は電池ボックス付きのものを切断し、改造して使用する例を紹介します。

クリスマスツリーの飾り付け

 まずはクリスマスツリーを飾り付けます。ぜひ、ご家族で楽しく飾り付けてみましょう。

LEDの下準備

 LEDライトについては、「アキバLEDピカリ館)で購入したものを使用しています。

 電池ボックス付きですが、電池は使用しないのでニッパーで切断します。

 次の手順の配線でLEDのアノードとカソードを間違えないようにするため、アノード側にマジック等で目印を付けることをおすすめします。

配線

 以下の図の通りに配線します。実際に使用するLEDライトは、並列接続のLED20球になります。

 LEDをブレッドボードに配線するときは、ジャンパワイヤ(オス~ワニ口クリップ)を使用しました。

 今回は2.5Ωの制限抵抗が必要でしたが、それだと明るすぎたのでLEDの4.7Ωにしています。

注意

 制限抵抗を入れないとLEDが焦げて故障する恐れがありますので十分ご注意下さい。図解の制限抵抗4.7ΩはLEDが20本並列の場合を想定しています。LED1本のみで試したい場合の制限抵抗は300Ωにします。

 なお、ブレッドボードのトランジスタの図解は2SC1815、2SC2120などのECB(エミッタ、コレクタ、ベース)のピン配置を想定しています。なお、トランジスタには、エミッタ(Emitter)、コレクタ(Collector)、ベース(Base)といった3つの電極があります。

点灯テスト

 Raspberry Piの配線が問題無くできているか、以下のコマンドを実行してみましょう。LEDが点灯していたら成功です。

echo 17 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio17/direction
echo 1 > /sys/class/gpio/gpio17/value

 点灯テストが終わったら、以下のコマンドでLEDを消灯させ、GPIO17番を無効化します。

echo 0 > /sys/class/gpio/gpio17/value
echo 17 > /sys/class/gpio/unexport

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

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

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

メールバックナンバー

次のページ
Web Appの作成と設定

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

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

もっと読む

この記事の著者

平 愛美(タイラ マナミ)

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

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

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

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/10596 2018/01/15 20:00

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング