Проблемы с IP-адресом esp8266
У меня есть приложение Android Studio и коды Arduino, которые связаны друг с другом с помощью esp8266. но он работает только в одной сети, когда я использую другую сеть, он не распознает свой IP-адрес, вместо этого он дает 0.0.0.0 Только это сработало
#include <LCD5110_Graph.h>
#include <Adafruit_MLX90614.h>
#define DEVICE_ID "Monitor1"
#define DEBUG true
#define REQ_CODE_ACK 1
#define REQ_CODE_VALUES 2
//84 Вт * 48 ч
LCD5110 myGLCD(8,9,10,12,11);
extern uint8_t SmallFont[]; //8h * 6w шрифт
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
int pinLM35 = A0; // Контакт A0 для LM35
int fsrAnalogPin = A2; //Pin A2 для датчика силы
int blinkPin = 13; // Контакт 13 — это встроенный светодиод
String mSSID = "LibyaADSL-9a86"; //начальный ssid и пароль
String mPASS = "BYRTPCRJAHPWQ";
//код http-запроса
int service_code;
// переменные прослушивания Wi-Fi
String wifiBuf = "";
char character;
int connectionId = 0 ;
//значения датчика
float sensor_mlx, sensor_heart, sensor_lm35;
int sensor_force;
void setup() {
// инициализировать ЖК-дисплей
myGLCD.InitLCD();
myGLCD.setFont(SmallFont);
randomSeed(analogRead(7));
// инициализация MLX90614
mlx.begin();
// инициализировать серийный номер
Serial.begin(115200); //Ардуино-ПК
Serial3.begin(115200); //Ардуино-ESP8266\
// инициализация esp8266
init8266();
pinMode(blinkPin,OUTPUT); // вывод, который будет мигать в такт вашему сердцу!
delay(200);
}
// инициализация esp8266
void init8266()
{
Serial.println("Init ESP...");
String stationConCmd = make8266InitCommand();
sendCommand("AT+RST\r\n",2000,DEBUG); // сброс модуля
sendCommand("AT+CWMODE=1\r\n",1000,DEBUG); // настроить как точку доступа
// sendCommand("AT+CWDHCP=1,1\r\n",1000,DEBUG);
// sendCommand("AT+CIPSTA=192.168.0.101,192.168.0.1,255,255,255,0\r\n",1000,DEBUG); // ПРИВЕТ اني ضفته
sendCommand(stationConCmd, 1000, DEBUG);
delay(1000);
sendCommand("AT+CIFSR\r\n",1000,DEBUG); // получаем ip адрес
///
sendCommand("AT+CIPMUX=1\r\n",1000,DEBUG); // настроить для нескольких подключений
sendCommand("AT+CIPSERVER=1,80\r\n",1000,DEBUG); // включаем сервер на порт 80
}
//Создаем командную строку для подключения к AP
String make8266InitCommand()
{
String cmd = "AT+CWJAP=\"" ;
cmd += mSSID;
cmd += "\",\"";
cmd += mPASS;
cmd += "\"";
cmd += ",11,0\r\n";
return cmd;
}
до сих пор не могу понять
Надеюсь, кто-то может помочь
Спасибо
@JDEV, 👍-1
Обсуждение1 ответ
Если вы настроите esp как точку доступа, то он также должен быть DHCP-сервером и предоставлять IP-адреса своим клиентам. IP-адрес будет присвоен только в том случае, если вы настроите его как клиентскую станцию (например, подключитесь к маршрутизатору в качестве клиента).
на какой вопрос вы отвечаете здесь?, @Juraj
я обновил вопрос с новым изображением, показывающим ошибку, пожалуйста, проверьте, @JDEV
В комментарии к строке CWJAP говорилось, что она должна быть настроена как точка доступа, что наводит на мысль о некоторой путанице с концепциями сети Wi-Fi. Однако ошибка, которую вы показываете, возникает сразу после того, как вы пытаетесь подключиться к Wi-Fi ADSL, поэтому с этим сетевым именем или паролем что-то не так. Или, может быть, ваша точка доступа Wi-Fi выполняет фильтрацию MAC-адресов., @tavis
- ошибка: espcomm_upload_mem failed при загрузке скетча
- Пиринговая коммуникация
- Как связаться с ESP8266 ESP01, отправив данные через программный сериал на Arduino Uno?
- Могу ли я использовать выход 3,3 В Arduino напрямую к esp8266?
- Варианты протокола для обмена данными между Arduino и ESP8266
- Сдвиг уровня 5В <-> 3,3В
- Определения целочисленных массивов: длина
- Не удается загрузить скетчи или прошить Nodemcu 1.0 12E (CP2102), но у него есть драйверы и он реагирует на RST на последовательном мониторе
вы отправляете
AT+RST
сразу послеAT+CWJAP
. у него нет времени подключиться к новому WiFi. с запомненной сетью все заработало, потому что подключается к сети автоматически, @Juraj@Juraj, сколько задержки мне нужно поставить?, @JDEV
Сообщение @jsotola обновлено, пожалуйста, проверьте, @JDEV
логика вашего скетча неверна. вы кидаете кучу рандомных команд на АТ прошивку. из вашего вопроса неясно, используете ли вы или хотите использовать запомненное соединение, или вы отключили автосоединение и хотите подключаться каждый раз и т. д., @Juraj
это написано с точки зрения библиотеки, но справедливо и для необработанных AT-команд: https://github.com/jandrassy/WiFiEspAT#persistent-wifi-connection, @Juraj
@Juraj я обновил вопрос новым изображением, показывающим ошибку, пожалуйста, проверьте, @JDEV
что такое 11,0 в CWJAP? убери это, @Juraj