入手とインストール

デバイスの種類によってインストール手順が異なります。
このページではESP32用に作成されたobnizOSの利用方法について記載しています。

obnizOS for ESP32

obnizOS for ESP32 は ESP32-WROOM32用に作られていますが、類似の設計を持つプロセッサやモジュール・開発ボードでも動作することができます。

動作推奨デバイス

  • ESP32-WROOM32
  • 上記を搭載した開発ボード( ESP32-DevKitC など )

動作確認済みデバイス

OSの書き込み

以下の3つの方法で書き込めます。

  1. obniz_cliを使う
  2. Espressif社製 esptoolを使う
  3. Espressif社製 Windows向けGUIツールを使う

obniz_cli

obniz_cliはpythonで利用できるobnizOS書き込み専用のソフトです。
利用にはPython3.4以降とpipが必要となります。
利用方法は https://github.com/obniz/obniz_cli に載っているのでそれに従います。

まずpipでインストールします。シェルから以下を実行します。

pip install obniz_cli

開発ボードにプログラムを転送するためにマシンにUSBドライバが必要な場合が多いです(DevKitCやM5Stackは必要なことが多いです)、https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers このドライバがESP32の開発ボードで利用されている場合が多いので、必要に応じてインストールしてください。(正確なものはメーカーのドライバ情報をご確認ください)

それではobniz_cliを利用しましょう。以下のコマンドで書き込み準備に入ります。

obniz_cli flashos

実行するとマシンから利用できるシリアルポート一覧が表示されます。この中から対象となるESP32製品を選びます(最も簡単な判定方法は抜いた状態で上記コマンドを実行し、再度USBでつないだあとにもう一度コマンドを実行する方法です)

 0: /dev/tty.SLAB_USBtoUART

0や1などでシリアルポートを選択肢エンターを押すことで実際の書き込みが行われます。書き込みが正常に完了すると以下のような出力となります。

esptool.py v2.1
Connecting........_____...
Detecting chip type... ESP32
Chip is ESP32D0WDQ6 (revision (unknown 0xa))
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 4MB
Flash params set to 0x0220
Compressed 10896 bytes to 7632...
Wrote 10896 bytes (7632 compressed) at 0x00001000 in 0.7 seconds (effective 128.7 kbit/s)...
Hash of data verified.
Compressed 857232 bytes to 571555...
Wrote 857232 bytes (571555 compressed) at 0x00010000 in 50.4 seconds (effective 136.0 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 137...
Wrote 3072 bytes (137 compressed) at 0x00008000 in 0.0 seconds (effective 1371.7 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting...

うまく書き込めない場合はまずは通信速度を落としてみてください。可能な書き込み速度はデバイスに依存します。デフォルトでは通信速度を921600bpsに変更していますが、-b 115200 などと速度を落とすことで上手くいくことがあります。次にインストールされているUSBドライバが正しいかを確認してください。ポートが見えていても通信がうまくできない場合があります。

(example of 115200bps)
obniz_cli flashos -b 115200

デバイスキーの設定

デバイスキーはデバイスを一意に区別するための情報でデバイスに設定します。1台につき1つ必要です。デバイスキーにはobnizIdというデバイスを区別するための情報も含まれています。

デバイスキーの発行やライセンスの付与についてはライセンスのページをご覧ください。

シリアルからの設定

デバイスとシリアル通信にて設定を行います。以下のコマンドにて通信を開始できます。/dev/tty.SLAB_USBtoUARTの部分は先ほど接続したデバイスのシリアルポート名に合わせて変更してください。通信速度は115200で固定となります。

python -m serial.tools.miniterm /dev/tty.SLAB_USBtoUART 115200

通信を開始した段階でデバイスキーの入力待ちとなっています。
エンターキーを押すことで以下の表示が出れば正常にobnizOSが動作しています。

DeviceKey: 

また、通信した状態でデバイスをリセットすると以下のように表示が行われます。

obniz ver: 2.0.0
DeviceKey: 

この状態でデバイスキーの書き込みを待っています。
クラウドからダウンロードしてきたデバイスキーは以下のような文字列になっています。

12345678&5f4fd05f4fd07ebbb7275f4fd08a6075f4fd08a60267a35b2

これをそのまま入力しエンターキーを押すことで設定が完了します。

Wi-Fiの設定

Wi-Fiを利用するには接続設定が必要となります。
obnizOSは覚えているWi-Fiに自動的に接続しに行きますが、繋げられない場合にSSIDとPasswordの入力画面となります。

画面ではまず、近くのSSIDが一覧で表示され、その後SSID入力フォームが表示されます。
SSID一覧に表示されているものに限らずSSIDを入力していただけます。

obniz ver: 2.0.0
obniz id: 12345678
Wi-Fi Scanning...

---Nearby SSID List---
 - obniz_wifi
 - Guest1234
 - Guest5678


Enter SSID-Pass
SSID:

エンターキーを押すとパスワード入力となりますので入力します。

次にDHCPか固定IPかを聞かれます。DHCPの場合は0(家庭やオフィスなどでは多くの場合はこれです)、固定IPの場合は1を入力します。
固定IPを選んだ場合は追加でIP情報を入力します。

接続に完了すると

Online

と表示され、失敗した場合は再度W-Fiの入力画面が表示されます。

Onlineと表示されたらクラウドとの接続に成功していますので、クラウドから利用可能な状態となっています。

また、オンラインとなるには少なくとも1つのライセンスが必要となります。

備考 Espressif社のesptoolを使う方法

obnizOS for ESP32は以下から入手可能です。

https://github.com/obniz/obnizos-esp32w

リンク先のGitHubからZIPファイルとしてダウンロードするかまたはgitよりcloneします

git clone git@github.com:obniz/obnizos-esp32w.git

esptoolはpythonで使える書き込みツールです。 obnizOSをデバイスに書き込むのに利用します。pythonのpipよりインストールできます。

pip install esptool

Python 2.4か3.4より新しいPythonが必要です。また、ドキュメントによるとうまくいかない場合は python -m pip install esptool or pip2 install esptoolで上手くいく場合があるそうです。

書き込み

ターゲットとなるESP32をシリアルポートからPCに接続します。(DevKitC等の場合はマイクロUSBなどでパソコンに接続するだけです)。

接続したデバイスがシリアルポート一覧にでてくることを確認します。名前はデバイスによって異なりますが、DevKitCの場合は/dev/tty.SLAB_USBtoUARTCOM3などの名前であることが多いです。

以下のコマンドでPCから使えるシリアルポート一覧が表示されます。

> python -m serial.tools.list_ports
/dev/tty.Bluetooth-Incoming-Port
/dev/tty.SLAB_USBtoUART

それでは実際の書き込みです。

cloneしてきたobnizOSのディレクトリの中に移動します、 --port によりシリアルポート(この場合は/dev/tty.SLAB_USBtoUART)を指定します。

cd obnizos-esp32w
esptool.py --port /dev/tty.SLAB_USBtoUART -b 921600 --after hard_reset write_flash 0x1000 bootloader.bin 0x10000 obniz.bin 0x8000 partitions.bin

書き込みが成功した場合はデバイスキーの設定が必要となります。デバイスキーの設定から続いて設定を行ってください。

You will Get in Few Days

Circuit for Starter “obniz Board” is available on Amazon and other online stores.
You can get it at below

Our products and resellers

Forum

Visit our developer’s forum to discuss and discover technologies.

Forum

Contact

Feel free to contact out support and technical team.

Contact us