質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

Q&A

解決済

2回答

1804閲覧

NodeMCU 1.0 (ESP-12E Module)のコンパイルエラー

HiroPokeHero

総合スコア45

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

0グッド

0クリップ

投稿2019/07/04 15:23

編集2019/07/06 00:07

前提・実現したいこと

HiLetGoで購入したNodeMCU 1.0 (ESP-12E Moduleを使ってWifi通信をしたい。

発生している問題・エラーメッセージ

exec: "C:\Users\浩和\Documents\Arduino\hardware\espressif\esp8266com/tools/xtensa-lx106-elf/bin/xtensa-lx106-elf-g++": file does not exist
ボードNodeMCU 1.0 (ESP-12E Module)に対するコンパイル時にエラーが発生しました。

該当のソースコード

#include <WiFi.h> #include <WebServer.h> const char ssid[] = "チョメチョメ"; const char password[] = "チョメチョメ"; WebServer server(80); IPAddress ipadr; #define LED_G 4 #define LED_R 5 void setup() { // put your setup code here, to run once: pinMode(LED_G, OUTPUT); // LED接続ポートを出力に設定 pinMode(LED_R, OUTPUT); // LED接続ポートを出力に設定 digitalWrite(LED_G, LOW); // 出力をLOWにしてLEDを消灯する digitalWrite(LED_R, LOW); // 出力をLOWにしてLEDを消灯する Serial.begin(9600); // シリアルモニタを115200bpsで初期化 WiFi.mode(WIFI_STA); // Wi-Fiのモードを設定 WiFi.begin(ssid, password); // 接続するSSID キーを指定してWi-Fiを開始 Serial.println("Now Connecting"); // シリアルプリントの出力改行のみ while (WiFi.status() != WL_CONNECTED) { // 接続が完了するまで待つ delay(500); // 各回500msの時間待つ   Serial.print("."); // 待ち時間500msごとに1ドット表示 接続が完了すると抜ける } ipadr = WiFi.localIP(); Serial.println("");    Serial.print("Connected to "); // Wi-Fi接続を表示 Serial.println(ssid); // SSID表示 Serial.print("IP address: "); Serial.println(ipadr); // シリアルモニタにIPアドレスを表示 server.on("/", handleRoot); // IPアドレスのみのアクセス時はhandleRoot()を起動 server.on("/RH", handleon(LED_R)); // IPアドレス+/Hの時 handleon()関数の起動を設定 server.on("/RL", handleoff(LED_R)); // IPアドレス+/Lの時 handleoff()関数の起動を設定 server.on("/GH", handleon(LED_G)); // IPアドレス+/Hの時 handleon()関数の起動を設定 server.on("/GL", handleoff(LED_G)); // IPアドレス+/Lの時 handleoff()関数の起動を設定 server.begin(); // サーバを開始 Serial.println("HTTP server started"); } void loop() { // put your main code here, to run repeatedly: server.handleClient(); // ブラウザへのアクセスに応じて適切な関数を起動処理する } void handleRoot() { String temp = "Click <a href=\"/RH\">here</a> to turn the LED RED on.<br />"; temp += "Click <a href=\"/RL\">here</a> to turn the LED RED off.<br />\n"; temp += "Click <a href=\"/GH\">here</a> to turn the LED GREEN on.<br />"; temp += "Click <a href=\"/GL\">here</a> to turn the LED GREEN off.\n"; server.send(200, "text/HTML", temp); } void handleon(int led) { digitalWrite(led, HIGH); // GET /H turns the LED on handleRoot(); } void handleoff(int led) { digitalWrite(led, LOW); // GET /L turns the LED off handleRoot(); }

試したこと

サンプルプログラムに戻す。

⇒結果は自作プログラムコンパイル時と同じエラーが発生。

おそらく、プログラムそのもののエラーではなく、環境せて位のエラー

その後、ArduinoUnoにハードウェアとそのためのプログラム、ボード設定に変えたところ、
正常に動作しました。

なので、ESP8266の環境設定をうまくでいていないと思っています。

補足情報(FW/ツールのバージョンなど)

Windows10、
Arduino1.8.9

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2019/07/04 22:02

このままではコードが見づらいので、質門を編集し、<code>ボタンで、出てくる’’’の枠の中にコードを貼り付けてください
thkana

2019/07/04 22:49

「試したこと」は、それでどんな変化があった(変化がなかった)、まで書かないと意味がないと思います。 エラーメッセージからすると、コンパイラが見つからないと言っているようなのでプログラム内容には関係なかったんじゃないかと予想はしますが。 それと、よりメジャーなESP8266/32でそういう例を聞かないので大丈夫なのかも知れませんが、日本語の文字を含むディレクトリはちょっと不安があります。以前は、開発ツール類が日本語のパス名を想定していなくてエラーになる、という事例は結構ありました。ツール(ArduinoIDEではなくそのデバイス用の)インストール位置を日本語の文字を含まないところに変えてみたらどうなるでしょう?
HiroPokeHero

2019/07/05 13:47

>y_waiwaiさま、 了解しました。 そういうことができるんですね、勉強になりました。 thkanaさん> ありがとうございます。 確かに全角文字注意ですね。 一度試してみます。 「試したこと」の結果は試す前と全く同じです。 よって、ご推測の通りプログラムそのものではなく、 環境の問題だとは想像しています。
thkana

2019/07/05 13:57

その後調べてみたら、ESP-12EってつまりESP8266を使ったボードなんですね。ついでに、技適を取ってないので日本でそのWiFiを使うと法に触れるとも...大丈夫ですか? (中身はESP-WROOM-02と相当だ、とか言ってもそういう問題ではないので) それはともかく。 'xtensa-lx106-elf-g++ file does not exist' でググるだけでもなにやらいろいろ引っかかってきます。一通り確認してみて下さい。
HiroPokeHero

2019/07/05 14:24

探してみます。 Googleで検索して、そのリンクに飛ぶと ここに戻ってきてしまいました。。
thkana

2019/07/05 14:30

一つしかヒットしなかった、なんてことはないと思うのですけれど? (私の手元では約15900件...だそうです) ESP32のも引っかかってますが、事情は同じかと思うので同様の対策が効くかも知れません。
HiroPokeHero

2019/07/05 14:38

ESP32もボード設定しているんですが、 ESP32はgitをインストールして、データをダウンロードしたら うまくいきましたが、 ESP12はgitでデータをダウンロードしようとしたら途中でエラーになったので、 自分でzipをダウンロードして、ハードウェアのフォルダにコピーしました。 また、ESP32はget.exeがありましたが、ESP12はget.pyなので、 pythonがないと使えなさそうです。
HiroPokeHero

2019/07/05 14:48

ちなみに、get.pyはコマンドプロンプトなどで実行可能でしょうか? やはりpythonが必要でしょうか?
thkana

2019/07/05 15:58

とりあえず、Epressifのサイトから辿っていくとhttps://arduino-esp8266.readthedocs.io/en/2.5.2/installing.html にたどり着いたので、それを見る限りではgitからのintallではPythonを使え、となっています。 gitがエラーになるのなら、無理に我流でやらずに上記URLの最初の方のやり方、ボードマネージャから入れたらどうでしょう?
thkana

2019/07/05 16:00

ところで、codeの囲みはどうなったのですか?
HiroPokeHero

2019/07/06 00:11

thkanaさん、 ご連絡ありがとうございます。 gitでやるのは我流なんですね? 実はこの前に間違がえて(ESP12とESP32の違いがわからず)環境設定した時には gitを使えって書いてあったのでgitを使うのが正しいと思っていました。 インストールではPython必須なんですね。 コードの囲み対応しました。 申し訳ないです。このスレッドはもう編集できないと思ってました。 試したことも追記しておきました。 ちなみにボードマネージャーからは毎回エラーになります。 なので、こちらは別のスレッドを立ててみます。
thkana

2019/07/06 00:40

先のドキュメントにEspressifからのリンクというのは私の勘違い。でも、https://github.com/esp8266/Arduino ではintall方法のドキュメントでinstallのUsing git version の説明ではgitでファイルを取得した後pythonスクリプトでバイナリをダウンロードする? 話になっているので、その流れでやっていないとすれば我流(あなたの我流じゃなくて誰かの我流をまねたのかも知れませんが)ということじゃないんですか? なにか公式に近いドキュメントにその方法があるのなら、それで正式ということかも知れませんが。
guest

回答2

0

サンプルプログラムが正常にコンパイルできました。

投稿2019/07/08 16:06

HiroPokeHero

総合スコア45

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

実行ファイルがないというエラーメッセージのようですが、
コンパイラ/コンパイル環境をインストールし直してみてはどうでしょう

投稿2019/07/04 22:16

y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

HiroPokeHero

2019/07/05 13:41

ご連絡ありがとうございます。 コンパイラ/コンパイル環境の可能性というアドバイスをいただき、 まずは、(NodeMCU 1.0 (ESP-12E Module)以外の)別のArduinoを使って、 コンパイルをしたところ正常にコンパイルできました。 通常のArduino(互換版含む)ではコンパイルが通ります。 が、ESP32やEPS8266などのArduinoってわけではないけど、 Arduinoとして使えるものを使おうとしたときには 未だにコンパイルが通ったことがありません。 おそらく、環境を整えることができていないと思うのですが、 どの工程が足りていないのか自身では見つけれていません。
y_waiwai

2019/07/05 13:50

ArduinoIDEのボード設定はなににしてるんでしょうか。 ESP12のビルドにはべつにモジュールのインストールが必要になりますが、そこらへんは済ましてるんでしょうか
HiroPokeHero

2019/07/05 14:01

ご連絡ありがとうございます。 ボードはNodeMCU 1.0 (ESP-12E Module)にしています。 ESP12のモジュールはインストールをしているつもりです。 ただ、つもりです。 自身でも気になっているのはこのやり方が大丈夫なのかというところです。 ちなみにハード側は以下を使用しています。 HiLetgo 2個セット ESP8266 NodeMCU LUA CP2102 ESP-12E モノのインターネット開発ボード ESP8266 無線受信発信モジュール WIFIモジュール Arduinoに適用 [並行輸入品] https://www.amazon.co.jp/2個セットESP-32-ESP32ワイヤレスWiFi-Bluetooth-2-4GHz-CP2102マイクロUSBデュアルコア開発ボードモジュール/dp/B07MH58JS2/ref=pd_sbs_328_1/356-0620161-7008720?_encoding=UTF8&pd_rd_i=B07MH58JS2&pd_rd_r=702bb20e-9c02-11e9-9a4d-29d7ab25ea42&pd_rd_w=o1sK5&pd_rd_wg=X72T4&pf_rd_p=ad2ea29d-ea11-483c-9db2-6b5875bb9b73&pf_rd_r=M218D5NCWY7RBCQ81G5E&psc=1&refRID=M218D5NCWY7RBCQ81G5E
y_waiwai

2019/07/05 14:09

ウチではNodeMCU1.0の設定で、サンプルのビルド通りますけどねえ
y_waiwai

2019/07/05 14:09

まずは用意されてるサンプルソースをビルドしてみては。
HiroPokeHero

2019/07/05 14:23

サンプルソースは試し済みです。 コンパイル通りませんでした。
y_waiwai

2019/07/05 14:27

同じエラーですか?
HiroPokeHero

2019/07/05 14:39

全く同じエラーです。 一度、サンプルソースから1つづつコマンドを消してみます。
HiroPokeHero

2019/07/06 00:20

ご連絡ありがとうございます。 Arduino初心者(1か月ほど)で特に環境設定や足回りの設定に疎いです。 ですので、適切なサイトにたどり着くということもままならないので、 こういったサイトを教えていただけるのも非常にありがたいです。 1週間ほどエラーメッセージと関連サイトのにらめっこだったので。。。 プログラムそのものはプロフェッショナルではないものの 20年ほどの経験がありますが、 組み込み、足回りが得意ではないので、 勉強したいと思いArduino系に手を出しています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問