第1回 650円で買えるマイコンボード「Raspberry Pi Zero」でIoTをはじめよう! ~環境構築とLチカのレシピでもご紹介した通り、筆者はIoTプラレールを作ることを目標にRaspberry Pi Zeroと電子工作を始めました。
本記事は、これまで試行錯誤してきたレシピの集大成となります。なお、このWebアプリは第4回「Raspberry Pi Zero WとAzureで、Webから操作できるIoTクリスマスツリーを作ってみよう」で紹介したプログラムの応用編です。
IoTプラレールを制御する仕組みについて、大まかには以下の流れになります。
- ブラウザ上でWebアプリの【発車/停車】ボタンを押す(MQTT Publisher)
- MQTT Brokerでメッセージを受け取る
- Raspberry Pi Zero Wでメッセージを受け取り(MQTT Subscriber)、モーターの制御をする(GPIO)
まずは、プラレールと貨車を改造して準備し、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のメッセージを受け取り、モーターを【発車/停車】させます。
Azure App Serviceの詳細については、マイクロソフトの公式ドキュメントをご覧ください。
用意するもの
製品名 | メーカーまたは販売元 |
---|---|
プラレール EH200ブルーサンダー S-52など ※単2電池で動くプラレール |
タカラトミー |
プラレール KF-10 トミカ搭載貨車 | タカラトミー |
Raspberry Pi Zero W(ピンヘッダ実装済みであること、またはRaspberry Pi Zero WHでも可) | スイッチサイエンス |
プロトタイピングボード ProtoZero | Pimoroni |
ブラシモーター制御IC「ROHM BD65496MUV」 | スイッチサイエンス |
2ピン JST プラグ コネクタ ケーブル ワイヤ オス+メス 100mm | GAOHOU |
DC-DCコンバーター 「POW00900M」 | Seeed Studio |
ミニ四駆用パーツ GP.343 マルチセッティングウェイト | タミヤ |
Canvas 3200mAh IoT機器対応 モバイルバッテリー ホワイト CHE-061 | cheero |
入手が難しい場合、以下の代替品を検討してください。
- DC-DCコンバーター の代替品: DC-DC 1.23V-30V LM2596 降圧コンバーター
- ProtoZeroの国内代替品: サンハヤト UB-RPI03 Raspberry Pi Zero用 ユニバーサル基板
注意点:プラレールに使われる電池の種類
プラレールの車両は単2電池または単3電池を利用するモデルがあります。単2電池で駆動するモデルの方が改造しやすいので車両を選ぶ時には注意しましょう。
なお、単3電池モデルの場合は、今回紹介する手順の通りに改造することができないのでご注意ください。
商品リニューアルのため、これまで単2電池で駆動するプラレールが単3電池モデルになっている場合がありますので、ご購入時には商品の仕様を十分に確認することをおすすめします。