ESP8266, ESP-WROOM-02, ESPr Developer トラブルシューティングまとめ

ESP8266 ( ESP-WROOM-02 )

目次ページ

16.ZIP形式ライブラリがインストールできない

Arduino IDE の「ZIP形式のライブラリをインストール」機能を使ってインストールできない場合

【原因】
まず、Arduino IDEのフォーマットに沿ったZIP形式ライブラリでなければ正常にインストールできません。
library.properties ファイルが正しく記載されていないと反映されませんし、フォルダ名やサンプルファイル名も合っていないとIDEに反映されません。

また、同じ名前のライブラリがある場合はエラーとなり、インストールできません。

【対策】
同じ名前のライブラリがある場合は、IDE の libraries フォルダやドキュメントフォルダ内のlibraries フォルダにあるライブラリをフォルダごと削除してください。
IDEのフォーマットに沿っていないZIP形式ライブラリは、上記のように手動で解凍してフォルダごとコピーしてください。
当方自作の最新のEasyWebSocketライブラリ等はZIP形式インストールに対応しています。

17.ライブラリをアップデートしたが、うまく動作しない

【原因】
同じ名前のライブラリが存在する場合が考えられます。

【対策】
バージョンアップしたライブラリは、フォルダ名が異なっていても、インクルードするライブラリ名が古いライブラリ名と同じ場合があります。
その場合は古いライブラリをフォルダごと削除してください。

また、ESP8266ボードを使っている場合は、以下のフォルダをチェックしてください。
(Windows10 の場合)
●インストールしたArduino IDE の中のlibrariesフォルダ内
●C:\Users\ユーザー名\AppData\Local\Arduino15
●ドキュメント\Arduino\libraries

18.EasyWebSocketライブラリでブラウザ表示が文字化けする

当方自作のEasyWebSocketライブラリを使って、日本語文字列があるサンプルスケッチをコンパイル実行させたら、ブラウザ画面で文字化けした場合

【原因】
Arduino IDE のスケッチ入力で、OSの入力用文字コードが UTF-8 でない場合は、スマホのブラウザに表示させた場合は文字化けします。
例えば、spiffs_01.txt ファイルなどのHTMLヘッダの charset で文字コードを指定してます。

<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>

これは、スマホのブラウザ表示画面は UTF-8 で表示させている指令になります。
Arduino IDEで入力した文字列が別の文字コードだと当然文字化けするわけです。

【対策】
Arduino IDEのスケッチエディタの入力をUTF-8 にする必要があります。
実は、私は Windows10 日本語版の場合で Microsoft IME の文字入力の場合、普通にインストールすれば、UTF-8 になると思っていたのですが、最近、Shift_JIS入力だったというコメント投稿をいただきました。
こちらの記事のコメント欄参照

Web News記事自動取得 OLED ( 有機EL )ミニ電光掲示板に16×16フリー日本語フォント( 東雲 ) を使う

その場合は、恐らく Microsoft IME の文字コードをUTF-8 にすれば良いと思うのですが、残念ながらその方法がまだ分かっておりません。
そうすると、HTMLヘッダファイルを
charset=Shift_JIS
と変更すればうまくいくかも知れません。
今、殆どのアプリやブラウザはUTF-8 が標準になっているので、できるだけ全てのアプリは UTF-8 にしておいた方が良いと個人的に思っています。

19.Arduino IDE のシリアルポート(COMポート)がグレー表示になっていて、選択できない

【原因】
もしかしたら、Arduino や ESPr Developer ( ESP-WROOM-02, ESP8266 ) とパソコンを接続しているUSBケーブルが充電専用か、ケーブル自体が不良の可能性があります。

【対策】
充電ケーブルの場合は、正常な普通の通信用USBケーブルに替えてください。
USBケーブルの中途半端な挿し込みの可能性もありますので、再度挿し直してください。

20.マイコンボードに書き込もうとしましたが、エラーが発生しました。というメッセージが出る

【原因】
一つ上の18項目の原因と同じで、USBケーブルに原因があるかも知れません。
そちらを参照してください。

【対策】
Arduino IDE のメニューで「ツール」を見てください。
「シリアルポート」または「COMポート」がグレー表示になっていて、クリックできなければ、マイコンボードとパソコンが通信不可能な状態です。
USBケーブルを指し直すか、充電ケーブルの場合は、普通の通信用USBケーブルに替えてください。

目次ページ

コメント

  1. 藤田大悟 より:

    非常に参考にさせていただいております。
    以下のエラーで色々やっているのですが、うまくコンパイルしたのが転送できておりません。
    アドバイスいただけると嬉しいです。

    Arduino:1.8.1 (Mac OS X), ボード:”Generic ESP8266 Module, 160 MHz, 80MHz, QIO, 921600, 4M (3M SPIFFS), nodemcu, Disabled, None”

    ビルドオプションが変更されました。全体をリビルドしています。
    最大1044464バイトのフラッシュメモリのうち、スケッチが230557バイト(22%)を使っています。
    最大81920バイトのRAMのうち、グローバル変数が32108バイト(39%)を使っていて、ローカル変数で49812バイト使うことができます。
    warning: serialport_set_baudrate: baud rate 921600 may not work
    Uploading 234704 bytes from /var/folders/z0/ggnt7s1d3cx7v_ynhpp295jr0000gn/T/arduino_build_551472/sketch_feb19a.ino.bin to flash at 0x00000000
    …………………………………………………………………….. [ 34% ]
    …………………………………………………………………….. [ 69% ]
    ….スケッチの書き込み中にエラーが発生しました
    .warning: espcomm_send_command: didn’t receive command response
    warning: espcomm_send_command(FLASH_DOWNLOAD_DATA) failed
    warning: espcomm_send_command: didn’t receive command response
    error: espcomm_upload_mem failed

    「ファイル」メニューの「環境設定」から
    「より詳細な情報を表示する:コンパイル」を有効にすると
    より詳しい情報が表示されます。

    • mgo-tec mgo-tec より:

      藤田さん

      当ブログをご覧いただき、ありがとうございます。

      さて、私はMac を持っておりませんので、どうしてそういうエラーになるのか、正直分かりません。

      warning: serialport_set_baudrate: baud rate 921600 may not work

      と出ているので、おそらくシリアルポートの速度が速すぎるのかもしれません。
      試しに、115200 bps でアップロードしてみるとかですかね。

  2. 匿名 より:

    esp8266でespNow通信を試そうとしています。
    esp8266のボードやその他のライブラリーはインストールが成功し正常に動作しています。
    しかしながらesp_now.hがインストールできません。
    何か方法が有るのでしょうか?
    よろしくお願いします。

    • mgo-tec mgo-tec より:

      匿名さん

      記事をご覧いただき、ありがとうございます。
      コメント投稿が連続で2つ投稿されていたので、最初の方のコメントを採用させていただきました。

      私は現在ESP8266を全く使用しておらず、当時とは環境が大幅に変化しており、しかもESP-NOWは全く使ったことがありませんので、あまりまともにお答えできないかも知れません。

      ESP-NOWについてザッとネットで調べてみたところ、Arduinoスケッチ上で、
      #include <esp_now.h>
      と入力するのは、ESP32の場合っぽいです。
      ESP8266 の場合は、
      #include <espnow.h>
      で良いのではないかなと思いました。

      一応、現在の私の環境
      Arduino IDE 1.8.19
      Arduino core for the ESP8266 ver 3.0.2
      でコンパイルしてみたところ、エラーせずに通ったので、ライブラリマネージャでESP-NOWをインストールする必要も無いように思います。
      違っていたらゴメンナサイ。

タイトルとURLをコピーしました