$30 off During Our Annual Pro Sale. View Details »

MineCraftのレッドストーンを現実世界まで拡張してみた

 MineCraftのレッドストーンを現実世界まで拡張してみた

#さくらのマイクロコミュニティ (マイクラサーバー管理者の会) vol.10 (https://sakura-tokyo.connpass.com/event/286129/)の登壇スライドです

田中みそ

June 30, 2023
Tweet

More Decks by 田中みそ

Other Decks in Technology

Transcript

  1. MineCraftのレッドストーンを
    現実世界まで拡張してみた
    さくらのマイクロコミュニティ (マイクラサーバー管理者の会) vol.10
    2023/6/30

    View Slide

  2. 自己紹介
    田中 みそ (田中 大樹)
    Qiita: miso_develop
    Twitter: miso_develop
    Facebook: 田中みそ

    LINE API Expert

    IoT界隈やスマートスピーカー界隈に
    よくいます

    View Slide

  3. 子どもももう小学生なのでMineCraftを解禁した
    https://www.minecraft.net/ja-jp

    View Slide

  4. レッドストーンという電子っぽい仕組みがある
    レッドストーンを使うと
    ギミックを仕込んだり、
    いろいろと自動化できる
    https://www.youtube.com/

    View Slide

  5. これを現実まで拡張したら色々できそうな…

    View Slide

  6. ということでレッドストーンを現実世界
    まで拡張するMODをつくってみた🤖

    View Slide

  7. View Slide

  8. https://twitter.com/miso_develop/status/1618281425991790597

    View Slide

  9. https://twitter.com/miso_develop/status/1618642030720319489

    View Slide

  10. https://twitter.com/miso_develop/status/1619021537146998785

    View Slide

  11. https://twitter.com/miso_develop/status/1619712411703070722

    View Slide

  12. DEMOのシステム構成
    WebSocket
    PC / Server / Cloud
    マイクラ(MOD)
    WebSocket
    M5ATOM
    (マイコン)

    View Slide

  13. DEMOのシステム構成
    WebSocket
    PC / Server / Cloud
    マイクラ(MOD)
    WebSocket
    M5ATOM
    (マイコン)

    View Slide

  14. MOD仕様
    レッドストーン信号(4bit)を送受信するブロックを
    追加し、WebSocketで外部と双方向通信する
    Send Block: レッドストーン信号が変化したら
    WebSocketでデータを送信する
    Receive Block: WebSocketでデータを受信したら
    レッドストーン信号を出力する

    View Slide

  15. MOD仕様
    それぞれ4種類あり別々の入力/出力を扱える

    View Slide

  16. MOD仕様
    コマンドから接続先WebScoketサーバーを指定

    View Slide

  17. DEMOのシステム構成
    WebSocket
    PC / Server / Cloud
    マイクラ(MOD)
    WebSocket
    M5ATOM
    (マイコン)

    View Slide

  18. opnizとは
    • Wi-Fi搭載マイコンをNode.jsから遠隔操作できるオープンソースの
    IoTフレームワーク
    • Node.js SDKとArduinoライブラリがあり、WebSocketで相互通信を行う

    View Slide

  19. opnizとは
    await opniz.dis.fillpix(0xff0000)
    {
    “method”: “M5.dis.fillpix”,
    “params”: [“0xff0000”]
    }
    M5.dis.fillpix(0xff0000)
    JavaScript
    C++
    JSON

    View Slide

  20. opnizとは
    • マイコンは基本的にはCっぽい言語でプログラムを書き、変更するたびに
    デバイスへ書き込まなければならない、という辛みがある…
    • しかしopnizなら…!
    • TypeScriptやJavaScriptでプログラムを書ける
    • 一度ランタイムをデバイスへ書き込んでおけば、
    以降はデバイスへの書き込み不要
    • デメリットとしては、デバイスとサーバーがオンラインでないと
    動かないこと…

    View Slide

  21. DEMOのシステム構成
    WebSocket
    PC / Server / Cloud
    マイクラ(MOD)
    WebSocket
    M5ATOM
    (マイコン)

    View Slide

  22. M5ATOMとは
    • Wi-Fi / Bluetooth搭載マイコンデバイスであるM5Stackシリーズの
    小さくて(24mm x 24mm)安価(¥1,408)なモデル
    • ボタン、フルカラーLED(or 液晶)、USB端子と6つのGPIOを搭載
    ATOM Lite ATOMS3
    液晶ディスプレイ
    搭載の最新型
    (¥2,475)
    ATOM Lite: https://www.switch-science.com/products/6262
    ATOM Matrix: https://www.switch-science.com/products/6260
    ATOMS3: https://www.switch-science.com/products/8670
    ATOM Matrix
    5x5 LED搭載型
    (¥2,475)

    View Slide

  23. まとめ
    • マイクラたのしい
    • レッドストーンを現実まで拡張してレゴとかと連携
    するともっとたのしい!
    • IoTは結構安くて簡単にできる!

    View Slide