*

Maker Faire Tokyo に出展したIoTクソゲー「うちわdeファイト」の作り方

 

 

  

8月4日・5日 Maker Faire Tokyo 2018 に出展したIoTクソゲー「うちわdeファイト」の作り方をまとめます。

すでにQiitaというプログラミングの知識を共有するサービスに投稿しましたが、同じ内容を自分のブログにも残します。

 

 

 

IoTクソゲー「うちわdeファイト」とは?

 

 

 

 

 

うちわを仰いだ回数がパワーとして、パソコン画面のブロックに伝わり、相撲みたいに落とし合いをするというというゲームです。

このビデオでは、勝者は逆ですねww

 

 

【システム構成図】

 システム構成図

 

 【私の環境】

MacBook Pro (Retina, 13-inch, Early 2015)

macOS High Sierra

Python 2.7.10

Unity 2018.2.0f2

 

 

【必要なもの】

 

Raspberry Pi Zero WH

https://www.switch-science.com/catalog/3646/

 

Raspberry Pi Zero ケース

https://www.switch-science.com/catalog/3196/

 

ジャイロ加速度センサー MPU-6050

https://amzn.to/2MshW2B

 

ジャンパワイヤ (メス~メス)

https://amzn.to/2OjZiLY

 

モバイルバッテリー + microBケーブ

※なんでもいいですけど、僕が使ってるのはこちら。うちわの柄にちょうどいいです。

https://item.rakuten.co.jp/dtc/4562425291921/?scid=af_pc_etc&sc2id=af_113_0_10001868

 

うちわ 

※1つだけだと耐久性がないので、2つ重ねしました

 

 スクリーンショット 2018 09 16 11 49 11

 

 

初期設定など

 

Raspberry Pi Zero の初期設定は、こちらのブログを参考にしました。

 

センサーをラズパイで有効化するための設定や、配線はここのサイトのとおりにしました。

 

 

ターミナルからRaspberryPi接続方法ですが、

普通は、

$ ssh pi@raspberrypi.local

で接続しますが、

今回は2つのラズパイを同時につなげることもありますので、ラズパイのIPアドレスで接続します。

 

例えば、

うちわ1のRaspberry PiのIPアドレスを192.168.10.107

うちわ2のRaspberry PiのIPアドレスを192.168.10.108

と仮定しますと、

 

まず、うちわ1のRaspberry Piに接続します。

$ ssh pi@192.168.10.107 

 

次に「コントロール+T」 でターミナルウィンドウをもう1つ出現させ、

うちわ2のRaspberry Piに接続します。

$ ssh pi@192.168.10.108 

 

これで、うちわ1、うちわ2、2つののRaspberry Piに同時に接続できました。

なお、Raspberry PiのIPアドレスの確認方法は色々ありますが、Macなら Lan Scan というアプリを使うのが簡単です。

 

 

プログラミング

 

センサー値を取得し、角度に変換するコードは、こちらのブログを参考にしました。

 

Raspberry Piからサーバーに送るコードは、こちらのブログの「8. 温度情報をHerokuに送信する」に記載のコードを参考にしました。

 

 

 

サーバーはherokuを使い、Ruby on Railsで構築しました。

※バックエンドについての詳細は割愛

 

 

 

ゲームはUnityで作りました。

 

うちわ1を制御するコードは以下の通りです。

サーバーにRaspberryPiから送られたデータを取りに行って、画面上の物体にその値を加えてます。

うちわ2も同様にコーディングします。

他にゲーム全体を運営するプログラムも必要ですが、ここでは割愛します。

 

 

最後

 

実際に遊んでみて、プログラムを微調整し、

最後の最後に、Raspberry Piの電源を入れたら自動的にPythonのプログラムが実行する設定をします。(このゲームを遊ぶのに、いちいちターミナルを起動、コマンド入力などするのは手間ですので)

 

Raspberry Piのプログラムの自動起動は、こちらのブログのとおりです。

 

これで、完成です。

 

IMG 3749

 

 

ほとんど、ググって先人たちの叡智を組み合わせただけです。

先人たちの皆様、ありがとうございました。

巨人の肩の上に乗るってこういうことなんですね。

 

だから、最近は、僕のような電子工作を始めて1年の中年のサラリーマンでもこれくらいのことはできますので、皆様も電子工作にチャレンジしてみたらいかがでしょうか。

 

 

 

 

反省点・改良点

 

Maker Faire Tokyoの会場(東京ビッグサイト)では、当日Wifiが全く繋がりませんでしたので、単なる置物となりました。来場者にはデモ動画で説明するだけしかできず、悔しい思いをしました。

 

Maker Faireのような展示会に出展する時は、Wifiが繋がらないことを前提に、有線やWifi以外の無線を考慮に入れなければいけないことを身をもって知りました。

 

次は、ソラコム のセルラー通信に対応するように改良しようと思います。

 

 

 

 

 

 

 

ad

    この記事が気に入りましたら、ぜひTwitter、facebookボタンをお願いします。
    ブログを書くモチベーションになります。よろしくお願いします。

  • このエントリーをはてなブックマークに追加
この記事が良かったらビットコインで寄付をお願いします。
ビットコイン投げ銭ウィジェット



関連記事

【iPhoneアプリ開発備忘録】 UnityからiPhoneに転送後、BGMや効果音が出なくなった時の解決策

      Unityで作ったゲームをiPhone実機に転送した時、BGMや効果音が出なくてハマりま

記事を読む

Xcode7.3にアップグレードした後、Unityで作ったプロジェクトを開いた時に出たエラー「Unknown type name ‘__declspec’」の解決方法

        Xcode7.3にアップグレードし、 Unity(5.2.0f3)で作ったプロジェク

記事を読む

【Ruby on Rails 備忘録】Errno::ECONNREFUSED: Connection refused – connect(2) for action mailer の解決方法

      Ruby on Railsで WEBサービスを作成中。   コメントがあったら

記事を読む

【iPhoneアプリ開発備忘録】Xcodeエラー”No team selected: A team must be selected to run ‘XXXXXXX’ on a device” の解決方法

      Unity5.2で作成したアプリをビルドし、Xcode7.3でiPhone実機にビルドし

記事を読む

近所の電子工作教室に参加しました(その1:初はんだ付け、AMラジオ製作)

  平成30年1月21日(日) JARL(日本アマチュア無線連盟)広島県支部の電子工作教室に参加

記事を読む

ad

Message

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

ad

イノベーションって何か知りたければ、映画『パッドマン』を観ればいい

    最近よく、「起業しないんですか?」って聞かれる。   僕は、今

(戯言)アクセラレーターと靴磨きの少年

  ちょっと、戯言。   多方面から怒られそうな内容だけど、まあいいか

NT広島2019を開催しました

      2月2日(土)に「NT広島2019」という個人の電子工作

【Touch Designer 備忘録】Touch Designerの画像を外部モニターやプロジェクターに投影する方法

  私はTouch Designerを初めて1週間くらいの超初心者です

映画『ガンジスに還る』を観てバラナシの思い出に浸る

    正月休み、暇してたので映画でも観ようと、 広島市内で上映してい

→もっと見る

    • 367801総閲覧数:
    • 293今日の閲覧数:
    • 703昨日の閲覧数:
    • 1現在オンライン中の人数:
    • 2014年4月29日カウント開始日:
PAGE TOP ↑