Translate

ページ

2017年4月2日日曜日

micro:bitの類似品 (Micorosft Make Code (PXT)利用の他社製品など)

micro:bitにはchibi:bit以外にもMicrosoft Make Codeを使った幾つかの類似品が存在します。
残念ながらBLEが使えるものは工事設計認証(いわゆる技適)の関係で日本で使うのは難しいのですが、見つけたものを記しておきます。

Adafruit Circuit Playground Express



  • AdafruitはNeo Pixelをpxt-microbitにも提供しており、取り込まれています。
    • Neo Pixelをブロックエディタ上に配置すると、左のシミュレーション画面にもデバイスが表示されます。良くできていますね。

Calliope Mini (ドイツ)



     番外編

    chibi:bit (micro:bit)はmbedで動いている

    chibi:bitmicro:bit互換ですので、開発環境も共通で利用できます。 この開発環境や開発者向けの情報について、つらづらと書いてみます。

    開発者向け情報へのアクセス

    micro:bitは子供の教育用のプラットフォームとして開発されています。開発者向けの情報は、micro:bitのホームページの一番右下に「Developers」として存在しています。
    初心者の子供が間違って迷い込まないようにという配慮でしょう、非常に控えめです。

    Developers

    このdevelopersリンクの先(http://tech.microbit.org/)はこのようになっています。
    一番右の「Learn about how the micro:bit software ecosystem works」に入ってみます。

    the micro:bit Software Ecosystem

    the micro:bit Software Ecosystemというページが開きました。
    このページでは、micro:bitがどう動いているのかについて、ざっとした説明とさらに深い情報へのリンクがまとめられています。

    (一部の方々は)ちょっとワクワクしてきますよね?
    「micro:bit Low Level (C/C++) Software Stack」→「the micro:bit runtime」をクリックします。

    The micro:bit runtime and mbed programming

    まぁ、多少調べた人や勘の良い人は気づいていたのかも知れませんが、mbed環境が含まれていたのですね.....
    このような図も載っています

    はい。幾つか気になった情報載せておきましょう。
    • Lancaster University micro:bit runtime
      • micro:bit runtimeのコアとなるモジュールのようです。
      • mbed 2.0をベースにLancaster Universityがカスタマイズしたものです。
      • githubにも載っています。
      • mbed オンラインコンパイラでmicro:bit向けに新規にプログラム作ったことがある人はご存知かも知れませんが、このLancaster Univerrsity micro:bit runtimeが"microbit"ライブラリとして"mbed"や"mbed-os"の代わりにリンクされます。
    というわけで、micro:bitはmbedで動いていたということがわかりました(ちょっと古いみたいだけど)。

    このページは、この辺で。

    いろいろdevelopersの下眺めてみたり、開発環境構築して眺めてみると、勉強になりそうです。


    chibi:bit (micro:bit)のPXT開発環境(Microsoft Make Code)を自宅に構築する

    *** 2017/09/01追記 ***
    matsujirushi(マツジルシ)さんが試された結果を以下に記されています。
    私の手順で抜けているところ、最新の環境で実施するための情報等が書かれていますので、そちらもご参照ください。
    (最近、他のことをやっており、OSもmakecodeや、関連ツールもどんどん更新されていますので、フォローアップは気がついたとき、気が向いたときにならざるを得ません。すいません。)

    Raspberry Pi 上にchibi:bit (micro:bit)のMirosoft Make Code 開発環境(PXT-microbit(ブロック/Javascript開発環境))を
    https://makecode.com/cli
    及び
    https://github.com/Microsoft/pxt-microbit/blob/master/README.md
    を参考に、自宅のRaspberry Pi 3上に構築してみました。




    (PXT-microbit環境の改良などできたら良いなと思い、Raspberry Pi 3上に自前の環境を構築し、ちょこちょこ調査していますがまだ成果にはつながっていません。https://makecode.com/docsを勉強すると良さそうです)

    micro:bitchibi:bitの公式開発環境はMicrosoftが開発したPXTが使われています。
    オープンソースであり、GITHUB上にpxt-microbitとして公開されていますので、誰でも入手・改良することができるのですが、日本語でまとまった情報が無いようです。
    とりあえず、Raspberry Pi上に構築した例を紹介します。なお、node.jsとgcc-arm, yotta等が動く環境であれば、OS問わず構築可能だと思います(以下では一部でRaspberry Piをサーバと呼びます)。

    本ブログに記載の操作には無駄・不足・間違いがある可能性があります。ご指摘頂ければ修正しますので、コメントいただけると助かります。


    開発環境立ち上げのみ(ソース等無し)

    Command Line Toolを参考にworkspace構築

     node.js導入

     PXT Command Line Tool 導入

    • (PXT) Command Line Tool を参考にPXT Commnad Line Toolをインストール
    • sudo npm install -g pxt

     サービス構築&起動

    別ディレクトリに構築する場合は、下線部を任意に変更してください。

      • cd
      • mkdir pxt-microbit
      • cd pxt-microbit
      • pxt target microbt
        • このままでは、localhostからのアクセスしか許可されないので、下記「補足情報」を参考にnode_modules/pxt-core/built/server.jsを編集してポートやIPアドレスを変更 

      • pxt serve
        • 以下の様に表示されるとサーバ起動完了です。

          To launch the editor, open this URL:
          http://localhost:3232/#ws=3233&local_token=XXXXXXX

      • これで開発環境が使用可能となります
        • http://IPADDRESS:PORT/ IPADDRESS,PORT部分は変更した内容に変更してください。デフォルトのまま使用する場合は、Raspberry Pi 3上のブラウザから http://localhost:3232/ となります。



      github上のソースから構築する場合

      以下は、github上のレポジトリを使う場合
      https://github.com/Microsoft/pxt-microbit/blob/master/README.md を参考に

       mbedアカウント準備


      • yotta.mbed.comへのログインアカウントが必要です。developer.mbed.orgでアカウントを作成して利用して下さい。

       yotta

      • (mbed yotta) Installing on Linux を参考にyottaをインストール
      • sudo apt-get update && sudo apt-get install python-setuptools cmake build-essential ninja-build python-dev libffi-dev libssl-dev && sudo easy_install pip
      • sudo pip install yotta
      • 本ブログ更新時点のyottaのバージョン(yotta --version出力)0.17.2

       arm-none-eabi-gcc

      • sudo apt-get install gcc-arm-none-eabi
      • gcc-arm-node-eabiのバージョン(arm-node-eabi-gcc --version出力)4.8.4-1+11-1

       githubレポジトリコピー

      • cd
      • git clone https://github.com/Microsoft/pxt-microbit pxt-microbit
      • cd pxt-microbit
      • sudo npm install -g pxt (不要かも)
      • npm install
        • いろいろエラーが出るようですが、先に進んでも大丈夫のようです。

       サービス構築&起動

        • cd
        • cd pxt-microbit
          • このままでは、localhostからのアクセスしか許可されないので、下記「補足情報」を参考にnode_modules/pxt-core/built/server.jsを編集してポートやIPアドレスを変更
        • pxt serve (現状のビルドをそのまま使う場合)
        • pxt serve -yt (ソースの変更があり、リビルドが必要な場合)
          • 途中で"yotta is unable to open a browser for you to complete login on this machine. Please copy and paste this URL into a browser to complete login:
            https://yotta.mbed.com/#login..."
            表示されたURLにブラウザでアクセスしてください。

        補足情報

        • 必要容量:ソース無しの環境構築だけなら63MiB, githubのソースを引っ張ってくると728MiB使っています。
        • 使用IPアドレスの変更
          • デフォルトでは、pxt-microbitはlocalhost(127.0.0.1)にのみポートを開きます。
          • この状態ではネットワーク上の他のPCからアクセスすることはできません。
          • まずエディタで node_modules/pxt-core/built/server.js を開いてください。
          • serveOptions.hostnameを定義している行について、"localhost"の中身をRaspberry Pi 3のIPアドレスに変更してください(空文字列””にするとRaspbery Pi 3に割り当てられたIPアドレスがすべて使えるようになります)。
        • 使用ポートの変更
          • デフォルトでは、3232, 3233の2ポートを使います。
          • まずエディタで node_modules/pxt-core/built/server.js を開いてください。
          • serveOptions.portとserveOptions.wsPortを定義している行があり、それぞれ3232, 3233を設定しています。この行を使用したいポート番号に変更してください。
        • 複数の開発環境を1台のサーバ上に構築したい場合は以下の様にしてください
          • 別ディレクトリに環境構築する
          • 使用ポートを重複しないように変更する
        • pxt開発環境と記していますが、「Microsoft Make Code」と呼ぶ方が良いのかも知れません
          • このMicrosoft Make Codeのページにはmicro:bit類似貧の開発環境の紹介と、Make Codeに関する情報が掲載されています(このページは、最近頻繁に変更されているようです。この記事は2017/04/02現在の情報に基づいて記されています)。
          • Micorosof Make code の Aboutドキュメントによると以下の様に定義しているそうです。