Androidのメモとか

ポキオの日記です。今日も遅延してない。

ESPr Developerでハマった事のメモ

久しぶりのESPr。

ESPr Developer ESP8266

ESP-WROOM-02開発ボード

ESP-WROOM-02開発ボード

  • スイッチサイエンス(Switch Science)
Amazon

ハマったこと①:Macからバイナリを流し込めなかった話

以前、MacからESPr Developerにコードを書き込もうとした事がありましたが、何故か書き込むことができず、それ以来ESPr Developerは放置して他の野良なESP8266ボードで開発していました。

relativelayout.hatenablog.com

ATコマンドは打てるので、MacからESPr Developerを認識できていると思うのですが、いざコードを流し込もうとすると、

warning: espcomm_send_command: cant receive slip payload data

みたいなエラーが発生して、書き込めません。そんな時はESPTOOLを使うと上手く書き込めるそうです。

結局、そのときはESPTOOLも有効な解決策になりませんでした。で、スイッチサイエンスさんのサイトを眺めていたら・・・

ESPr® Developer(ESP-WROOM-02開発ボード)www.switch-science.com

モード切替ボタンはIO0番ピンにつながっています。ボタンを押すとIO0がLOW、放すとIO0がHIGHになります。IO0がHIGHの状態でリセットされるとファームウェアの実行モードで起動しますが、IO0がLOWの状態でリセットされるとファームウェアの書き込みモードで起動します。

ファームウェア書き込みモードは電気信号的になされるものだと思ってましたが、ボタン操作によって書き込みモードにできるんですね・・・。ということは、Arduino IDEから書き込む前に、ボタン操作で書き込みモードにしてあげれば良いんじゃね?と思い試してみました。結果はOK、モード切替ボタンを押してからリセットボタンを押して、コードを流し込むと、問題なく書き込むことができました。今までの苦労は何だったんでしょうか。まぁ、いいや。これからはESPr Developerを可愛がっていこうと思います。

ハマったこと②:ESP8266でマイコン内蔵LEDが光らせることができなかった話

akizukidenshi.com

このあたりのLEDを扱う時に便利なのがAdafruitのNeoPixels ライブラリになるわけですが、どうもESP8266からは上手く動作せず、Arduinoからは動作できていました。もしかして、3.3V駆動が原因で動かなかったのかなと思い、レベル変換モジュールを秋月で買って色々やってみたものの、上手く行かず途方にくれていました。

ESP8266 NEOPIXELS

これもしょーもない理由が原因だったんですが、ローカルにあったライブラリのバージョンが古く、Arduino IDEのライブラリマネージャーで最新のライブラリを取得してコンパイルしてESP8266に流し込んだところ、フツーにピカピカできました。しかも3.3Vのままでも動作しちゃってます。本当はアレだと思うんですが、動いてるのでこのまま開発しようと思います・・・(笑)

というわけで

くだらないトラブルに相当な工数を割いてしまいましたが、これでようやくESPr Developerで開発できそうです。

iotlt.connpass.com

3月末のIoTLTさんで登壇させていただけそうなので、当面はそれに向けてガジェットを作成しようと思います。乞うご期待。

www.instagram.com

チカチカー。

「Androidのメモとか」は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。

このブログは個人的なメモ書きであったり、考えを書く場所であります。執筆者の所属する団体や企業のコメントや意向とは無関係であります。また、このブログは必ずしも正しいことが書かれているとは限らず、誤字脱字や意図せず誤った情報を載せる場合がありえます。それが原因で読者が不利益を被ったとしても、執筆者はいかなる責任も負いません。ありがとうございます。