Translate

ページ

2017年4月2日日曜日

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ドキュメントによると以下の様に定義しているそうです。

      0 件のコメント:

      コメントを投稿