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

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

新規登録して質問してみよう
ただいま回答率
85.50%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

3回答

6416閲覧

ESP32 ESP8266WiFi.hインストール

raspypy

総合スコア247

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2021/06/11 04:02

編集2021/06/11 04:15

#プログラム
ESP32を使用してシリアル通信を試そうとしていますが、
**<ESP8266WiFi.h>**のインクルードで躓いており,先に進むことができません.

C++

1#include <ESP8266WiFi.h> 2#include <SoftwareSerial.h> 3 4static const int RXPin = 4, TXPin = 23; // ソフトシリアルのピンの指定 5SoftwareSerial ss(RXPin, TXPin, false, 256); // ソフトシリアルのオブジェクト 6 7void setup() 8{ 9 Serial.begin(115200); 10 delay(20); 11 Serial.println("\r\nGPS test"); 12 13 ss.begin(9600); // ソフトシリアルの初期化 14} 15 16void loop() 17{ 18 while (ss.available() > 0) { // ソフトシリアルに文字があるあいだ 19 Serial.write(ss.read()); // ソフトシリアルから読んで、普通のシリアルにコピーする 20 delay(0); 21 } 22}

#教えてください
上記プログラムをコンパイルすると,次のエラーが表示されてしまいまうのですが,原因が分からず困っております.

text

1ESP8266WiFi.h: No such file or directory

#ライブラリマネージャの画面
イメージ説明

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

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

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

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

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

guest

回答3

0

プログラム中にWiFiを使っていないので、
「インクルードしない」のが一番簡単確実な対策かと思います。

ついでにいうと、ESP32にはUARTが3本積まれていて、しかもESP32のペリフェラルはGPIOの任意のピンに割り当てられるので、よほど悲しい事態でないかぎりSoftSerialなんていうシロモノの出番はないと思います。

投稿2021/06/11 13:20

thkana

総合スコア7610

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

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

thkana

2021/06/11 13:21

多分、ESP8266用のプログラムをESP32で「そのまま」動かそうとして苦労しているとかいうことじゃないかと思いますが、違うCPUなので無茶はしないほうがいいと思います。
raspypy

2021/06/13 23:48

コメントありがとうございます。 1つ教えてください。 ESP32にUARTが3本積まれていますが, UART0は,FT232 UART1は,内部SPI Flash(使用不可) UART2は,他のデバイスとの通信に使用 となっています.この場合,SoftSerialを使用するしかないと考えていましたが,この考えは間違えていますでしょうか?
thkana

2021/06/14 12:19 編集

> となっています その段階で解釈が適当でないと思います。 FT232というかUSB-UART変換(うちのはCP2102です)が繋がっているのはESP32がそうなっているわけではなく、あなたの使っている基板がそういう構成になっているだけ、です。とはいえ、そういう構成の開発ボードがほとんどでしょうし、それはそれでデバッグで使うから他のデバイスを繋げない、というのは順当でしょう。 UART1について。UARTのペリフェラルを内部SPI Flashメモリのアクセスに使用しているわけではありません。UART1にデフォルトで割り当てられる入出力ピンが、ESP-WROOM-32モジュールにおいて内部SPI Flashの接続に使われているというだけです。回答にかきましたが、「ESP32のペリフェラルはGPIOの任意のピンに割り当てられる」ので、入出力ピンを変更しさえすればUART1も使用可能です。他のGPIOピンが皆埋まってしまっている、というのでないかぎり。 UART2は、「他のデバイスとの通信に使用」...そう、まさに「他のデバイスとの通信」をやろうとしているのだからUART2を使えばよいのでは? それとも、すでに「他にデバイス」をUART2に繋いでいるのですか? 少なくとも質問には書いてありませんから、「この場合」というのがそういう事情であるのならそう説明してください。あなたが説明していないことは私は知り得ません。 すでにUSBでPC等に繫ぐ以外に2つのUARTデバイスを使っている...というのなら、それは質問に書いた「悲しい事態」ですからあきらめてSoftwareSerialを使うことになるのかも知れません。
guest

0

ベストアンサー

そのファイル名でぐぐるといろいろでてきます

ArduinoIDEがESP8266WiFi.hファイルを見つけることができません | 2021

投稿2021/06/11 04:10

y_waiwai

総合スコア87719

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

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

raspypy

2021/06/11 04:17

回答ありがとうございます。 教えていただいたサイトを確認しました. ライブラリマネージャの画面で「ESP8266WiFi 」を検索してみたのですが,その名前のライブラリは表示されませんでした.(質問に画像を添付させていただきました.) ここで困ってしまい,質問させていただいた次第です
y_waiwai

2021/06/11 04:21

うしろのほうに、 12 ESP8266WiFiは、ライブラリマネージャーのリストに含まれなくなったようです。 という記述があり、対処法載ってますよ
raspypy

2021/06/11 04:27

ありがとうございます。 後ろのコメントを見ているのですが, 次の部分がよく理解できずに困っております. *********************************************************** 2. に入る 図書館 ダウンロードしたコアから取得します ESP8266WiFi. 3. それをローカルのArduino / libraryフォルダーにドラッグします。これは、設定に移動して、 スケッチブックの場所 ただし、事前にhttp://arduino.esp8266.com/stable/package_esp8266com_index.jsonパッケージをインストールしておく必要がある場合があります。 編集:それは完全な問題ではありませんでした。コンパイルする前に、正しいESP8266ボードが選択されていることを確認する必要があります。
raspypy

2021/06/11 05:22

"ESP8266WiFiは、ライブラリマネージャーのリストに含まれなくなった"ここが原因なのですが,その対応策がよく分からないため,断念しました. 別のライブラリを使用してWi-Fiに接続してみます, ありがとうございました。
guest

0

ESP8266WiFi.h はどこにあるんですか?

ディレクトリ: /ほげほげ/ぱよぱよ にあるのなら、たとえば:

gcc -I /ほげほげ/ぱよぱよ ~.c

投稿2021/06/11 04:05

編集2021/06/11 04:06
episteme

総合スコア16614

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

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

raspypy

2021/06/11 04:37

ESP8266WiFi.h がどこにあるのかが分からず困っております.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問