фатальная ошибка ESP8266WiFi.h: Такого файла или каталога нет

Я хочу превратить мой ESP8266 в точку доступа, чтобы я мог подключиться к нему напрямую.

Я использую следующий скетч, но когда я выбираю УНИВЕРСАЛЬНЫЙ модуль ESP8266 из меню становятся доступны библиотеки ESP8266WiFi.h и ESP8266WebServer.h, но я не смог загрузить скетч.

Кроме того, когда я выбираю плату как Arduino Uno (что у меня действительно есть), а затем что загрузить, то вышеупомянутые два файла становятся недоступными и говорят о фатальной ошибке no such file... понятия не имею, что делать дальше.

#include <ESP8266wifi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include<WiFi.h>
#include<SoftwareSerial.h>
SoftwareSerial esp(2,3);
IPAddress local_IP(192,168,4,22);
IPAddress gateway(192,168,4,9);
IPAddress subnet(255,255,255,0);
 String ssid="Wisal";
 String pass="12345678";
 ESP8266WebServer server(80);
 boolean isAccessPointCreated=false;
void setup(){
  esp.begin(115200);
  Serial.begin(115200);
  
  WiFi.mode(WIFI_AP);
  Serial.print("Setting soft-AP configuration ... ");
  Serial.println(WiFi.softAPConfig(local_IP, gateway, subnet) ? "Ready" : "Failed!");

  Serial.print("Setting soft-AP ... ");
  Serial.println(WiFi.softAP("ESPsoftAP_01") ? "Ready" : "Failed!");
  Serial.print("Soft-AP IP address = ");
  Serial.println(WiFi.softAPIP());
  
}

void loop(){
  while(esp.available()>0){
    char a = esp.read();
      if(a == '\0')
        continue;
      if(a != '\r' && a != '\n' && (a < 32))
        continue;
      Serial.print(a);
   }
}

, 👍1

Обсуждение

Вы пытаетесь загрузить в Uno или ESP8266? Аппаратный пакет и библиотеки, на которые вы ссылаетесь, предназначены для использования непосредственно на ESP8266, а не на Uno, использующем ESP8266 для связи Wi-Fi., @per1234

Я загружаю скетч в arduino uno, и esp8266 подключен к arduino uno., @mtg


3 ответа


2

Ядро ESP8266 для Arduino, которое вы пытаетесь использовать, предназначено для непосредственного программирования ESP8266. Вы пытаетесь запрограммировать Uno с подключенным к нему ESP8266 для использования в качестве модуля Wi-Fi. Для этого приложения ядро ESP8266 бесполезно. Для вашего приложения наиболее распространено запускать встроенное ПО AT на ESP8266 и обмениваться данными через последовательный. Если вы делаете это, я рекомендую библиотеку WiFiEsp:

https://github.com/bportaluri/WiFiEsp

Поскольку вы загружаете в Uno, вы должны выбрать Arduino/Genuino Uno в меню Инструменты > Плата>.

,

0

Есть два способа использовать ESP8266.

Способ 1

Вы, кажется, говорите, что используете его как раба своего УНО. Вы программируете свой Uno из IDE. В программе будет код для отправки команд " AT " ESP, и это заставит ESP обрабатывать все данные Wi-Fi.

Способ 2

Вы удаляете Uno и используете ESP в качестве основного процессора. Это означает, что вы можете программировать ESP с помощью кода, подобного C++, через IDE, как если бы это был UNO. ОДНАКО вам потребуется установить пакет ESP от менеджера платы, и существуют определенные ограничения. У вас также есть доступ к меньшему количеству портов ввода-вывода, но вы можете подключить Uno (через последовательный или I2C) и использовать его в качестве ведомого устройства (которое вы программируете через IDE отдельно).

,

0

Вы импортировали ESP8266WiFi.h, а не ESP8266WiFi.h

,