この記事は、PlayCanvas Advent Calendar 2022とNode-RED Advent Calendar 2022の1日目の投稿になります。
みなさん、こんにちは!
私はスマートライト株式会社という会社の代表をやっておりますが、弊社は「Society5.0を設備制御で実現する会社」を目指しております。
もともとは照明制御が得意なのですが、ここ数年はNode-REDを使いながら照明になにかをつなげるような開発のお仕事をさせてもらってます。
で、Society5.0に絡み、仮想空間(メタバース)上の照明器具と現実空間の照明器具を、どちらも同じ様に制御することをしたいとおもっていました。
そんな中、今年のはじめに友人からPlayCanvasというウェブ上で動くゲームエンジンを教えてもらい、これを使えばやりたいことができそうな気がして、GW Adventカレンダーではそれに取り組んだのですが、PlayCanvasについてわからないことが多く、なんとかこれを今年中にやると決めました。
事務所デジタルツインプロジェクトPlayCanvas/Babylonjsのこれから|デジタルライト(Digital-light.jp)
やはり、新しい領域を勉強するには、体系的に誰かに教わりたいとおもっていたところ、GMOさんが主催でPlayCanvasAcademyというスクールが9月から開催され、幸運にもその第1期生として参加できました。
PlayCanvasAcademy第1回受講、控えめにいって最高です!|デジタルライト(Digital-light.jp)
結果として、PlayCanvasとNode-REDをつかって、メタバース空間の照明と現実空間の照明を連動させることができましたので、2022アドベントカレンダーでは、このへんのお話しをしたいとおもいます。
PlayCanvasAcademy修了制作
PlayCanvasAcademyでは最後に修了制作があり、こちらについて解説したいとおもいます。
修了制作は、「仮想空間」をPlayCanvasにつくり、「現実空間」の照明器具を連動させることを目指しました。
実は、仮想空間と現実空間をつなげるにはどうしたらいいのか?が一番知りたかったことで、結果的にMQTTで通信をする方法を、Academyの講師の(1) はが(@mxcn3)さんにおしえてもらい、実装することができました。
上のスライドは全体のシステムの説明です。
クラウド側でPlayCanvasが動き、そこからMQTTブローカー(shigtr.io)をつかって、ローカル側のラズパイで動作するNode-REDとMQTTで通信をおこない、ローカル側のNode-REDからKNXをつかってPanasonic社のDALI2の照明器具の制御と状態監視を実現。
こんな感じで、事務所内のLED照明とPlayCanvas内の照明が連動。修了制作発表会では、講師や他の参加者の方々がPlayCanvas上のボタンを押してもらい、事務所の照明がOn/Offするということを確認してもらいました。
こちらが作成したNode-REDのフローです。
ひとたび、Node-REDとPlayCanvasをつなげることができれば、あとはなんでもつながるようになります。
まとめ
ということで、今回はPlayCanvasAcademyの修了制作で作成したものについて解説いたしました。
次回はPlayCanvas側でMQTTブローカーと通信するために実装したことについて解説したいと思います。
↓ 続編はこちら
PlayCanvasとNode-REDとKNXでSociety5.0(仮想空間と現実空間の融合)をした話 Vol.2