GR-SAKURA
GR-KURUMI
GR-COTTON
GR-CITRUS
GR-PEACH
GR-KAEDE
GR-ADZUKI
GR-LYCHEE
GR-ROSE
GR-MANGO(*)
SNShield
Web Compiler
IDE for GR
TOPPERS関連
女子美コラボ
その他
※プロデューサミーティング中
作り方使い方資料
イベント関連
作品記事
体験記事
ライブラリ
ツール
その他・過去ファイル
がじぇるね岡宮です。
情けない切り出しで申し訳ありません。
GR-LYCHEEにはESP32が搭載されており、Wi-FiとBLEができるのですが、プロデューサーミーティング時点ではまだその仕様を最大限に活用できるような準備ができていません。恐れ入りますが、集合ミーティング以降もプロデューサーの皆様と一緒に快適動作を目指して検討していくこととさせてください。・・・α版ではESP8266を乗せていて快調に動いていたのですけど、ESP32はちょっと時期尚早だったかもしれません。
デフォルトファーム(V0.1)ではWi-FiのATコマンドができず、SSCコマンドによってステーションモードの設定、スキャン、接続、IP取得まではできますが、その先のリードライトはEspressifの公開仕様を見る限りではできないように思えます。
以下、4/21までにこちらで試した内容について、記載したいと思います。
以下のプログラムによって、ESP32(UART)とPC(USB)をブリッジできます。US0ボタンでEN、US1ボタンでBOOTを操作できます。ボタンを押すとLOW、離すと HIGHです。
#include "mbed.h" #include "BufferedSerial.h" BufferedSerial pc(USBTX, USBRX, (1024 * 256), 1); BufferedSerial wifi_sirial(P3_15, P0_2, (1024 * 256), 1); InterruptIn button0(USER_BUTTON0); InterruptIn button1(USER_BUTTON1); DigitalOut wifi_en(P5_3); DigitalOut wifi_io0(P3_14); static void button0_fall(void) { wifi_en = 0; } static void button0_rise(void) { wifi_en = 1; } static void button1_fall(void) { wifi_io0 = 0; } static void button1_rise(void) { wifi_io0 = 1; } int main() { pc.baud(115200); wifi_sirial.baud(115200); // check ESP_IO0 if (button1 == 0) { wifi_io0 = 0; } else { wifi_io0 = 1; } // button setting button0.fall(&button0_fall); button0.rise(&button0_rise); button1.fall(&button1_fall); button1.rise(&button1_rise); // reset wifi_en = 0; Thread::wait(100); wifi_en = 1; while (1) { if (wifi_sirial.readable()) { pc.putc(wifi_sirial.getc()); } if (pc.readable()) { wifi_sirial.putc(pc.getc()); } } }
以下のブログ記事を参考にSSCコマンドを打つことで、Wi-Fi動作を確認できます。ただしアクセスポイントにつなぐところまでです。
http://ken5owata.hatenablog.com/entry/2017/02/05/211732
私はTeratermで試しましたが、設定は以下の通りです。シリアル接続後、ENボタンを押すとブートメッセージがわらわらと出てきます。
SSCではWi-Fiでリードライトできなかったので、せめてATコマンドで動くようにしたかったので、以下のマニュアルを参考にESP ATファームをmakeして、FLASH DOWNLOADツールで書き込みをしてみました。書き込みモードにするときはUS0、US1を同時に押して、US1は押したままUS0を離します。そのあとUS1を離します。
https://espressif.com/sites/default/files/documentation/esp32_at_instruction_set_and_examples_en.pdf
しかし、書き込みエラーになります。必ず0x00027400番地の書き込みでエラーになります。
この前段階でmake flashでも同様に書き込みができないことを確認していますが、肝心なところでつまづきました。本来は全数ATコマンド用のファームを書き込みしてライブラリと共にお送りしたかったのですが、無念です!
皆様のお知恵を拝借したいです。