Make Code Microbit開発環境をWSLに構築する

Ubuntu18.04

Windows StoreからUbuntu18.04をインストールする。(事前にWSLを有効にしておく)

Ubuntuの各種基本インストール

  • .sshコピー
  • .gitconfig
[user]
	name = hoge
	email = hoge@hoge.jp
[alias]
	graph = log --oneline --graph --decorate
	st = status
  • .dircolors
OTHER_WRITABLE 36
  • パッケージアップデート
> sudo apt update
> sudo apt upgrade
  • Node.js

18.04のパッケージに含まれるNode.jsはv8.10で新しいのでこのままインストールして使う。念のため、nパッケージは入れておく。

> sudo apt install nodejs npm
> sudo apt install node-gyp node-pre-gyp
> sudo npm install -g n
  • Python

Python3.6.5はインストールされているが、Python2はインストールされていない。

> sudo apt install python python-pip python-dev python3-pip python3-dev
  • 直接は関係ないライブラリ(別件で使う)
> sudo apt install libusb-1.0-0 libusb-dev libuv1 libuv1-dev libbluetooth3 libbluetooth3-dev bluez

gcc-armインストール

【Ubuntu 16.04 LTS Server】ARMのGCCコンパイル環境を構築する

> sudo apt install gcc-arm-none-eabi

Yottaインストール

yotta Documentation

clang-3.5はUbuntu18.04だと"not available"なので、素直に最新を入れてみる。

> sudo apt-get install python-setuptools cmake build-essential ninja-build python-dev libffi-dev libssl-dev clang
> pip install yotta

Makecode PXT関連

趣味の電子工作

MakeCode for micro:bitをローカル環境で立ち上げる - matsujirushi’s blog

Command Line Tool - Microsoft MakeCode

グローバル環境にpxtをインストールする。

> sudo npm install -g pxt

任意の場所にMakecodeエディターのWebアプリを構築する。(node.jsのアプリのよう)

WSL環境では、最後のサーバー起動で失敗してしまうので、純粋なスタンドアロン環境で構築する必要がある。最後にブラウザを起動するシェル?が仕組まれているので、ターミナル環境では起動しないらしい。

※追加 pxt targetnpm installが実行されるときにnode-gypでビルドエラーが発生していたので追加

> sudo apt install libsecret-1-0 libsecret-1-dev
> mkdir microbit
> cd microbit
> pxt target microbit
Installing pxt-microbit  locally; don't worry about package.json warnings.
:
Installed PXT/microbit. To start server run:
    pxt serve
To build a package, run:
    pxt build

Makecodeの起動

> pxt serve
Using target PXT/microbit with build engine yotta
  Target dir:   /home/chihiro/microbit/node_modules/pxt-microbit
  PXT Core dir: /home/chihiro/microbit/node_modules/pxt-core
Going to /home/chihiro/microbit/node_modules/pxt-microbit
No sim/tsconfig.json; assuming npm installed package
Starting server in /home/chihiro/microbit/node_modules/pxt-microbit
With pxt core at /home/chihiro/microbit/node_modules/pxt-core
starting local ws server at 3233...
serial: monitoring ports...
---------------------------------------------

To launch the editor, open this URL:
http://localhost:3232/#local_token=373c8d2f-6be6-4962-006e-fcb222465ef6&wsport=3233

---------------------------------------------
opening http://localhost:3232/#local_token=373c8d2f-6be6-4962-006e-fcb222465ef6&wsport=3233

ブラウザで上記に表示されたURLを起動する。

http://localhost:3232/#local_token=373c8d2f-6be6-4962-006e-fcb222465ef6&wsport=3233

または

http://localhost:3232/index.html#

ローカルサーバー環境にmakecode.microbit.orgと同じ環境が作成できた。

makecode

ディレクトリ構成は、

> cd microbit
> ls -F
node_modules/  projects/
> cd projects
> ls -F
main.blocks  main.ts  pxt.json  README.md
> cat main.blocks
<xml xmlns="http://www.w3.org/1999/xhtml">
  <variables></variables>
  <block type="pxt-on-start" x="20" y="20"></block>
  <block type="device_forever" x="115" y="20"></block>
</xml>
> cat main.ts
basic.forever(() => {

})
> cat main.ts
basic.forever(() => {

})
cat pxt.json
{
    "name": "題名未設定",
    "dependencies": {
        "core": "*",
        "radio": "*"
    },
    "description": "",
    "files": [
        "main.blocks",
        "main.ts",
        "README.md"
    ]
}
> cat README.md
>

パッケージを入れ替えてみる。
makecode2

makecode3

"dependencies"のradioがdevicesに変更になった。

cat pxt.json
{
    "name": "題名未設定",
    "dependencies": {
        "core": "*",
        "devices": "*"
    },
    "description": "",
    "files": [
        "main.blocks",
        "main.ts",
        "README.md"
    ]
}

次回は、カスタムパッケージの作成を調査する。いろいろ記述はあるが、よく分からない。。