macsbug

Just another WordPress.com site

ESP32 Beginning

leave a comment »

Nano32 を試してみました。                   2016.11.03

OLEDのVCCは Nano32のV3(3.3v) から配線しGND,SCL,SDAは直挿ししました。
ピン数は40ピン。ピンの縦幅は ブレッドボード上下に1ピン空くサイズです。
スケッチで WiFi を停止し without TELEC にします。
2016.11現在の Arduino IDE ESP32 は BLE, Analog入出力, RTC 等は未実装です。
基板中央下に NANO32 と書かれた左に LED があり IO16 と書かれています。
この LEDは GPIO 16 で pinMode(16, OUTPUT); で「Lチカ」ができます。

Nano32 Front

Nano32 Rear

Nano32 (40pin)

NodeMCU-32S Front (38pin)

NodeMCU-32S Rear (38pin)


 

準備その1:ハード編
1. Nano32(ESP32) ボードの入手:
Cytron:NANO32 IoT Development Board:今回の注文先です。
_ FedExを使用し $39.55($24.75+14.80(送料):4237円 と高い商品です。
_ マレーシアのCytronに10月20日に注文し25日に到着。書類は丁寧。
_ ピン数は40。基板裏には作られた GRAVITECHとmakerasia の文字。
GRAVITECH:NANO32 IoT Development Board – 4MB
ESPert:Get your Nano32
Aliexpres:NodeMCU-32S  が一斉に発売しました。最安は$23.20です。
_ ピン縦幅は ブレッドボード上下に1ピン空くサイズです。
_ ピン番号は ボードの裏に印刷 されています。これは非常に見づらい。
_ ピン数は 38。FTDIはCP2102。LDOはAMS1117-33(ノイズ大)。
ebay:NodeMCU-32S が一斉に登場してきました。
_ NodeMCU-32S:2718円($25.99)。Aliexpressより少し高い。


 

準備その2:ソフト編。 条件は マック( macOS )です。
ESP32用フォルダーを用意しArduino IDE へインストールする。
1. espressif から「arduino-esp32」をダウンロードする:
_  「arduino-esp32-master 」フォルダーが出来る。
_  「arduino-esp32-master 」フォルダーの名前を「esp32」に変更。
_  「esperssif」という名前の新規フォルダーを作る:
_  「esperssif」フォルダーの中に「esp32」フォルダーを入れる。

2. macOS用の 「xtensa-esp32-elf」をダウンロードする:
_   詳細:espressif / esp-idf:Set up of Toolchain for Mac OS
_  「xtensa-esp32-elf」ファイルが入手できました。
_  「xtensa-esp32-elf」フォルダーを「esperssif」フォルダーの中
_   esperssif / esp32 / Contents / hardware / tools に入れます。
_  これで ESP32用フォルダーの準備ができました。
_  

3. Arduino IDE 本体に 「esperssif」フォルダーをインストールする:
_  Arduino IDE アプリへ マウスを当てて右クリックします。
_ 「パッケージの内容を表示」され 選択すると中が開きます。
_ 
_ 「Contents」フォルダーの中の「Java」を開きます。
_ 「hardware」フォルダーの中に「esperssif」フォルダーを入れる。
_  Arduino IDE を閉じて終了です。

_  他の方法としてターミナル操作でインストールする方法もあります。

4. Arduino IDE を起動。ボードマネージャ…に ESP32 が3つ表示される。

_ Flash Frequency は 80MHz と 40MHz。CPU Frequency の表示は無し。


 

ESP32 ( Nano32 ) 初めのメモ:
1. スケッチの起動:スケッチを書込みした後は そのままでは動きません。
_  書込み後に 基板の EN ( Reset ) スイッチを押します
_  注:ESP8266 とは異なり書込み後に自動的に起動しない為 慌てない事。

2. 命令の違い:ESP8266 での エラー や GPIOを高速操作時の不具合である
_   Wdt Error は発生しない為 以下の3つの命令は不要です。
_   ESP32 では以下の命令はエラーが出ます。
_   -1:extern “C” { #include “user_interface.h” }
_   -2:ESP.wdtDisable();
_   -3:yield()
_  これはどういう事を示すか。つまり ESP8266 はハードに問題があった
_   のではないか?と想像してしまいます。
_  ESP8266 は Wdtエラーの為にスケッチやライブラリーに yield() を入れ
_   て解決していますが ESP32 では エラーが出る為に 削除が必要です。
_  これまでの スケッチは おおよそ直ぐは動きません。

3. LED:LED は GPIO 16 に接続されており 16 でLチカができます。
_     NodeMCU-32S は GPIO 2 , Sparkfun ESP32 は GPIO 5 です。

4. ピン配置:Nano32のピン配置は都合良く 左上は I2Cの GND,SCL,SDA
_  と並び I2C OLED を直付可能。ただし VCC 3V は線を引く必要がある
_  のでもう一工夫欲しかったと思う。配線が少ない事は楽になります。
_  NodeMCU-32S, Sparkfun ESP32 のそれぞれのピン配置は異なります。

5.  速度:3D Cube の回転速度は ESP8266 とほぼ同じでした。
6.  I/Oの数:ピン数が多いので気が楽になります。
7.  Arduino IDE での書込み速度:速いです。
8.  消費電流:この回路のUSB 5V の消費電流は 61mAでした。
9.  書込み後に ENスイッチを押す件は 別な方法がある事を期待します。

10. ESP32の現状:
_  sparkfun esp32-thing-hockup-guide の説明によると 未実装が有ると
_  の事。Bluetooth, Analog Input (analogRead([pin])),Analog Ouptut
_  (analogWrite([pin], [value])), WiFi Server and WiFI UDP,Real-Time
_  Clock, Touch-controller interface で 確かにエラーがでます。

11. Nano32のCPU Crystal Frequency:40MHzです。(Nano32の説明書)。
_  
_  Sparkfun の CPU Crystal Frequency は 26MHzです。
_  CNXSoft – EMBEDDED SYSTEMS NEWS には 160MHz と記載あり。
_  Nano32 の board.txt は「nano32.build.f_cpu=160000000L」と書かれている。
_     ESP32 Technical Reference Manual の 3.2.3 CPU Clock に最高160MHz とある。
_  Espressif :esp-wroom-32_en(sch.pdf) に 40MHz+-10ppm とある。
_  Crystal は 40MHz で 内部はPLL回路で 160MHz動作していると判断します。

12. AUTO PROGRAM CIRCUIT (書込み自動化) が組み込まれています。

13. ESP32の資料Espressif Systems:ESP32 Documentation
_  ESP-WROOM-S2 DatasheetESP32 Technical Reference Manual がある。

14. HACKADY:HOW TO GET STARTED WITH THE ESP32:開始の手順。


 

ESP8266とNano32の I2C OLED表示速度比較:
_ 結論:たいして速度は変わりませんでした。
_ 条件:LibraryはAdafruitのESP Adafruit SSD1306とAdafruit GFX。
_  ESP8266のCPU Frequency選択は 160MHz。ESP32(nano32)は
_  表示が無く Flash Frequency 80MHz を選択。
_  ESP8266(160MHz)(左) と Nano32(Flash 80MHz)(右)


ピンアサイン:nano32


 

感想:
1. Nano32 は価格が高いですが調査の為に購入しました。NodeMCU-32S も高い
_  ですが調査の為に注文しておきました。
2. Lチカは 基板にある LED が GPIO 16 ですので 16 を指定し動きました。
_  ESP8266 で動いていたスケッチは おおよそエラーがでて動きません。
_  OLED の 3D Cube は 動きました。理由は Adafurit の Library の為で ESP8266
_  への対応が低い為と思われます。
3. ESP32 は開発中ですので espressif の「arduino-esp32」は変わります。
_  初期のボードは「ESP Dev Module」しかありませんでした。
_  そして 各PC用の 「xtensa-esp32-elf」が必要です。
4. 疑問点:
_  速度は現Arduino IDE ESP32環境での結果ですので疑問を持っています。
_  1. Nano32 や NodeMCU-32S のCPUクロック周波数は幾つなのか?
_    EspressifSystem の John Lee氏が 160MHz と述べている。2016.11.11 追記
_   ともの技術メモ:ESP32のβ版がもうすぐリリース!?
_  2. Arduino IDE ESP32 のボードに CPU Frequency の表示が無いのは何故か?

5. 解らない事や不明な点 記載ミスもあるかと思いますがご了承ください。


Written by macsbug

10月 31, 2016 @ 5:47 am

カテゴリー: ESP8266

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。