kaduhiさんからESP32-Sを米国から頂いて…中国〜米国〜そして日本へ遠路はるばるようこそ。ありがとうございます!!感謝です、実験&コードを作ったり遊んでみます。
ESP32のスペックはざっくりだと。詳細はググると出てくるけど、本家のはこちら。
CPU : Xtensa® 32-bit LX6 Dua-core processor
ROM/SRAM: 448 KByte ROM, 520 KByte SRAM
WiFi : 802.11 b/g/n/e/i
Bluetooth : Bluetooth v4.2 BR/EDR and BLE
他には、RTC、そして自分的に凄いと思うのが、ハードウェア暗号化アクセラレーション。TLSが(実装すれば)サクッとつかえるー!!AES-HASH(SHA-2) library-RSA-ECC-Random Number Generator。凄い、これ凄い。言ってしまえばNWにつながる小さいPCっすね。
手持ちの歴代ESPとのサイズ比較な感じだと。右下がESP32-S、左上がESP-WROOM-02、右上はESP8266、左下がESP12。
開封して基板にとりあえず付けるとこんな感じ。前のESP8266に比べて圧倒的にピン数が多いっすね。「これだけのだし、何でも面白いものを作れるだろ?」という暗黙のプレッシャーを感じるです…
ここで、この子にピンヘッダをおもむろに付けようと思ったけど、2列だからブレッドボードに指したりしようとすると何かと不都合が…
そういう時に活躍するのが、スルホール用テストワイヤとか。ただ、自分は後でピンの抜き差しを自由に出来るように、2列10ピンのピンソケットの1個を抜いて使うことに。
完成
Arduinoで使ってみる
すでにESP32 Arduinoが公開されている。ESP8266と一緒な感じでArduino IDEから使えると非常に便利で、開発者も一気に広まるというのもあるからね。ということで、このgitを使う。
記載の通り進める。自分の環境はMacOS 10.11.6でPythonは2.7というのもあって、pyserialを入れる必要があった。
cd /Applications/Arduino.app/Contents/Java cd hardware mkdir espressif cd espressif git clone https://github.com/espressif/arduino-esp32.git esp32 cd esp32/tools python get.py # pyserialを入れる。pyenvとかpipを使っている場合は、それに合わせて入れる wget https://pypi.python.org/packages/1f/3b/ee6f354bcb1e28a7cd735be98f39ecf80554948284b41e9f7965951befa6/pyserial-3.2.1.tar.gz tar -zxvf pyserial-3.2.1.tar.gz cd pyserial-3.2.1 sudo python setup.py install
次にArduinoの起動〜利用。Arduinoを起動してESP32を選択。
次にESPとシリアルの結線。これはそのまんま。自分はFT232RL搭載小型USB-シリアルアダプタ 3.3Vをいつも使っているんだけど、3.3V/GND, TXRXをESP32側とつなげるとOK。
起動時のログはこんな感じでシリアルから見れる(既にArduino化されているのだけど)。
そして問題の書き込み。これはムチャクチャ簡単。
1. RESET + IO0を同時押し
2. RESETを離す
3. Arduino IDE上からFlashをポチる
以上な感じ。この辺はムチャクチャ簡単に出来る。2の時点でシリアルを見るとこんな感じの表記が出ている。
そして書き込みをすると、Arduino IDEではこんな表記が出る。
そしてLEDピカー
上向きにピンソケットを出せば良かったかな…と2秒くらい後悔したw FT232RLだけでサクサクっと動かして使えるのはめっちゃ良い。
あと不明な所はESP32 forumを見れば解決すると思われ。最後に、FCCは通っているけど現時点ではTELECは通って無いっすね。WiFiのlibとかは上記のgitに普通に入っている。ここではWiFiを出しているとは何も書いていないんでお察しでw
このアダプターボードについて、もし可能であれば教えてください。
このボードを通販サイトから購入したのですが、スイッチの間委にある2個のチップ部品がついていませんでした。ここについている部品が分かれば教えてください。
シリアルに接続してリセットしたのですが、何も通信されません。VCC,GND,RX,TXのほかに何かつなぐのでしょうか。
例えばENをGNDにつなぐとか。
よろしくお願いいたします。
真ん中の2個はボタン用のチップ抵抗で、適当に1kくらいのを入れてあげれば良いかと(僕のは最初から付いていました)。書き込みはIO0ボタンを押しっぱなしで、リセットすると書き込み可能になるはずです。
ありがとうございます。試してみます。