Без создания WiFi сети.
Пробуйте Отправлено спустя 2 часа 4 минуты 11 секунд:
Посмотрите здесь. Почитайте там о каналах роутера.DanilaWERT писал(а): ↑19.01.2021{, 21:27}Но мне надо чтоб ESP32 передавал данные NodeMCU, NodeMCU передавал дальше через домашний роутер в браузер.
Подскажите какие блоки использовать правильно?
Код поиска канала стоит в сетап и выполняется при включении или перезагрузке ESP.DanilaWERT писал(а): ↑20.01.2021{, 23:44}Раз передатчик определяет канал,он не может определить что канал,к которому он успешно подключился - пропал?и выполнить новый поиск.
так он не может понять что канал утерян?
А зачем?У меня почему то и так все работает.
можно попросить вас сделать еще один ролик добавления переменных по блоку ESP_NOW EXCHANGE DATA для 2х сторонней связи который идет в новом редакторе 7хх .
Код: Выделить всё
#include <ESP8266WiFi.h>
#include <espnow.h>
uint8_t broadcastAddress1[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
extern "C"
{
#include "user_interface.h"
}
int Out_99814437_83074444;
float Out_16324584_83074444;
float Out_92004136_83074444;
float Out_127911194_83074444;
float Out_262202820_83074444;
float Out_266907993_83074444;
String Out_153177633_83074444;
bool Out_241095515_83074444;
String str;
char char_array[32];
typedef struct struct_message
{
char a[32];
int b;
float c;
float f;
float g;
float o;
float p;
bool e;
}
struct_message;
struct_message myData;
struct_message _myData;
void setup()
{
Serial.begin(115200);
WiFi.mode(WIFI_STA);
WiFi.disconnect ();
if (esp_now_init() != 0)
{
Serial.println("Error initializing ESP-NOW");
return;
}
esp_now_set_self_role(ESP_NOW_ROLE_CONTROLLER);
esp_now_register_send_cb(OnDataSent);
esp_now_add_peer(broadcastAddress1, ESP_NOW_ROLE_SLAVE, 1, NULL, 0);
esp_now_set_self_role(ESP_NOW_ROLE_SLAVE);
}
void loop()
{
if ((0))
{
esp_now_register_recv_cb(OnDataRecv);
}
if ((0))
{
str = (String(""));
str.toCharArray(char_array, str.length() + 1);
strcpy(myData.a, char_array);
myData.b =(0);
myData.c =(0);
myData.f =(0);
myData.g =(0);
myData.o =(0);
myData.p =(0);
myData.e =(0);
esp_now_send(broadcastAddress1, (uint8_t *) &myData, sizeof(myData));
}
//Плата:1
}
bool _isTimer(unsigned long startTime, unsigned long period)
{
unsigned long currentTime;
currentTime = millis();
if (currentTime>= startTime)
{
return (currentTime>=(startTime + period));
}
else
{
return (currentTime >=(4294967295-startTime+period));
}
}
void OnDataSent(uint8_t *mac_addr, uint8_t sendStatus)
{
Serial.print("Last Packet Send Status: ");
if (sendStatus == 0)
{
Serial.println("Delivery success");
}
else
{
Serial.println("Delivery fail");
}
}
void OnDataRecv(uint8_t * mac, uint8_t *incomingData, uint8_t len)
{
memcpy(&myData, incomingData, sizeof(myData));
Serial.print("Bytes received: ");
Serial.println(len);
Serial.println();
Out_153177633_83074444 = String (myData.a);
Out_99814437_83074444 = myData.b;
Out_16324584_83074444 = myData.c;
Out_92004136_83074444 = myData.f;
Out_127911194_83074444 = myData.g;
Out_262202820_83074444 = myData.o;
Out_266907993_83074444 = myData.p;
Out_241095515_83074444 = myData.e;
}