1台までobnizOSが無料!M5StickCに最新obnizOSをインストール!

M5StickC+obnizOSの公式デバイスを持っているのですが、旧OSなので使えない機能はあるし、obnizクラウドにデバイス登録もできません。
新OSに移行するか買い直すしか無いかなと思っていたら、2020年7月1日からobnizOSを1台まで無料で使えるようになっていました。
これは朗報。インストールするしかないです。
1台無料でobnizOSが使える
2020年7月1日より、1アカウントにつき1デバイスまでobnizOSを無料で使えるようになりました。
日を追うごとにobnizOSのハードルが下がっていて、より身近になりましたね。
旧OSの公式デバイスは新OSに移行できる
旧OSの公式デバイスは3,000円で新OSに移行できます。もちろん無期限ライセンスのままです。
3,000円を高いと見るか安いと見るか・・・。
公式ドキュメント
obnizOSのインストールとデバイス登録は、公式ドキュメントを参考に行います。
Node.jsをインストール
まずバージョン12以降の「Node.js」をインストールします。
▼特に理由が無いなら「LTS」にしましょう

obniz-cliの準備
「obniz-cli」というobnizOS書き込み専用のソフトウェアと、obniz-cliが書き込み時に利用する「esptool」をインストールします。
管理者権限でコマンドプロンプトを起動
パーミッション関係でのエラーが嫌なので、管理者権限でコマンドプロンプトを起動します。
obniz-cliをインストール
以下のコマンドを実行します。
npm i obniz-cli -g
esptoolをインストール
以下のコマンドを実行します。
pip install esptool
USBドライバーのインストール
必要な場合があります。私はとりあえずインストールしましたが、問題なくM5tickCに書き込みできています。
ダウンロード
インストール
ダウンロードしたファイルを展開し、インストーラーを実行します。

シリアルポート名の確認
M5StickCへの書き込み時に指定するシリアルポート名を確認します。
M5StickCをPCに接続し、以下のコマンドを実行します。
obniz-cli os:ports
▼私の環境では"COM3″でした

obniz-cliでのデバイス生成
obnizアカウントの新規作成
obnizアカウントを持っていない場合は、作成しておきます。
obnizクラウドにサインイン
以下のコマンドを実行します。
obniz-cli signin
▼ブラウザでobnizクラウドのサインイン画面が表示されますので、サインインします

▼「認証済みです」をクリックします

▼ブラウザに以下のメッセージが表示されたらサインイン成功です
Authentication Success. Close this page and back to your shell.
▼コマンドプロンプトに以下のような表示がされます

obnizOSの書き込みとobnizクラウドへのデバイス登録
M5StickCをPCに接続した状態で以下のコマンドを実行します。
obniz-cli os:flash-create -p シリアルポート名 --hardware m5stickc --config wifi-config.jsonのパス
▼例
obniz-cli os:flash-create -p COM3 --hardware m5stickc --config c:\wifi-config.json
wifi-config.json
wifi-config.jsonファイルを指定しておくことで、OS書き込み時にWi-Fi設定ができます。
ファイルは以下のように作成し、任意のフォルダに配置します。
{
"networks":[
{
"type": "wifi",
"settings": {
"ssid": "SSIDを入力",
"password": "パスワードを入力",
}
}
]
}
OS書き込みはできるがデバイス登録でエラーが起きてしまう
私の環境ではOSの書き込みは成功するのですが、その後のデバイス登録処理でJSONエラーが起きてしまいます。
Error: Unexpected token o in JSON at position 1: {"response":{"errors":[{"message":"Unexpected token o in JSON at position 1","locations":[{"line":2,"column":7}],"path":["createDevice"]}],"data":{"createDevice":null},"status":200},"request":{"query":"mutation{\n createDevice(device: {\n hardware: \"m5stickc\",\n region: \"jp\",\n description: \"\"\n }){\n id,\n createdAt,\n devicekey,\n region,\n hardware,\n description\n }\n }"}}
ということで、obniz-cliを使わずにデバイス登録しました。
ターミナルを使ってデバイス登録
あらかじめデバイスを追加しておく
以下の「デバイス」ページにアクセスします。
https://obniz.io/ja/console/devices
▼「デバイスを追加」をクリックします

▼「IDのみオンラインで発行」をクリックします

▼「デバイスキーを作成」をクリックします

▼「ダウンロード」をクリックし、デバイスキーが記録されたテキストファイルをダウンロードします

m5StickCにデバイスキーを設定
以下のコマンドを実行します。
python -m serial.tools.miniterm シリアルポート名 115200
▼先ほどダウンロードしたデバイスキーを入力します

これでデバイスキーの設定はできました。
Wi-Fiを設定
引き続きWi-Fiの設定を行います。

- SSID
- パスワード
- DHCP / 固定IP
- プロキシ有効 / 無効
を入力します。「Online」と表示されればWi-Fi設定は終了です。
パスワードは入力しても画面に表示されませんので注意しましょう。
確認してみる
▼M5StickCには以下のようにobnizIDが表示されます

▼登録したデバイスは「Online」となり、無事にデバイス登録できたことが分かります

これでM5StickCへのobnizOSのインストールは完了です。お疲れさまでした。