IoTプラレールを作ったよ

インターネットから操作可能なIoTプラレールを作成してみました。その手順を残しておきます。

機能

  • インターネット上からプラレールの前方カメラの映像を確認可能
  • インターネット上からプラレレールの前進・後進およびその速度を100段階で変則可能。スムーズな発進・停止が可能
  • ブラウザによるカメラ映像の確認と操縦が行える。

用意したもの。

  • プラレールの車体(ドクターイエロー)
  • Raspberry pi zero w
  • コンビニで買ったスマホ用バッテリー(ラズパイ及びモーター用電源)
  • 余ってたモータードライバ(TA7291A)
  • 電圧変換器(http://amzn.to/2rCJZlJ)
  • Raspberry pi camera v2

先に言っておきますが、作るぐらいなら買ったほうが・・・という気もしますが。まあ、自分で作ることに意義があるのです。ちなみに本物では車窓からの画像も表示できるようですね。

お約束:当ウェブサイトの情報により生じた、いかなる損害等に関しましても、一切責任を負うものではありません。本サイト掲載情報の利用によって利用者等に何らかの損害が発生したとしても、かかる損害については一切の責任を負うものではありません。

では作っていきます。

車体の作成

まずはカメラがマウントできないと意味がありません。先頭車両にカメラを配置します。使用するのは手元にあったラズパイカメラ。これをいい感じに先頭車両にマウントしてやります。今回は3Dプリンタでカメラマウントを自作、カメラ部分を持ち上げ配置します。これが一番大変な作業でした。

ラズパイzero用のマウンタも作成しラズパイも先頭車両に収めてしまいます。

コンビニで買ってきたモバイルバッテリーは殻割りして中央車両に埋め込みます。できるだけ車体に穴は開けたくないので、充電用のUSBソケットが車両のドアから覗いているような感じで仕上げました。

後部車両には電圧変換器を収めます。モーターの定格電力は1.5vで、モバイルバッテリーが5Vのため、電圧を落としてからモーターに接続します。

 

 

ラズパイのセットアップ

Raspberry pi zero wの基本的な設定をしていきます。といっても他のラズパイシリーズとやることは同じです。無線LANで自宅のルーターに接続できるように設定しておきます。

カメラ画像の配信はMJPG-Streamerを使います。これをインストール&セットアップするだけでラズパイカメラの映像をインターネット上から確認することができます。

スピート調整はモータードライバを使います。TA7291Aの詳しい使い方はこちらを参考にしてください。

モーターはTA7291Aに接続しています。GPIOを操作することで、前進、後進が可能で速度を調整することが可能です。

また、ソフトウェアPWMを行いたいので、WiringPiをインストールしておきます。

 WiringPiのインストール

このインストールは必須ではありません。コマンドラインからGPIOをテストできたり、GPIOの状態を表示したりとデバッグで使います。

GPIOの操作にはWebIOPiを使用します。WebからI/Oを制御できます。PWMの制御も出来ます。正直これ一つあればWebと連動したシステムは簡単に構築できるという優れものです。

Raspberry Pi2 以降でも使えるように、WebIOPiの0.7.1にパッチを当てて使用します。

setup.shを実行するとPythonのインストールも行われます。

途中、

と聞かれた場合は「n」を入力してEnterを押します。

次に、WebIOPiを起動するための設定です。

動作確認です。Raspberry Pi のポート8000にアクセスします。認証ダイアログではデフォルトのパスワード

ユーザー名:webiopi
パスワード:raspberry

を入力します。今回はおもちゃとして作成するのでパスワードは邪魔です。このパスワード設定を削除するには/etc/webiopi/passwdを削除してWebIOPiを再起動します。

GPIOを制御するプログラムを作成していきましょう。

/home/pi/work/webiopi/script.py を作成します

/home/pi/work/webiopi/index.html を作成します

/etc/webiopi/configを編集して、作成したプログラムを実行するように設定します。

再起動します。

これでネットワーク内の他のPCやスマホからラズパイにアクセスします。ではhttp://192.168.0.10:8000/にアクセスしましょう。(192.168.0.10はraspbery piに設定したIPアドレスです)

次のような画面が表示されれば成功です。

上部にはプラレールの前方映像がリアルタイムで配信されています。すすむ「GO」、とまる「STOP」、さがる「BACK」をタップしてドクターイエローを操作します。左のスライダーを上にすればパワー100%で最高速度になりスライダーを下にすれば速度が落ちます。

これで完成です。きっかけは息子の一言から。本人曰く、「プラレールの車窓から外をみてみたい」とのご要望でしたがあいにくカメラは1つしか搭載できなかったので、前方カメラだけと相成りました。

 

カテゴリー: IoT

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です