• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Arduino mega2560 sensor shield esp01

Technogrover

New member
Приветствую всех форумчан!
Адаптер к есп01 из али был утерян вместе с платой,по этому пришлось быстро искать замену сему добру,покупалось все у нас,модуль доделывал сам(первая в моей жизни пайка,но вроде успешная).Сам модуль прошивается,но не подключается к вай-фай.Прочитал тут была похожая проблема и возможно дело было в слабом питании платы самого адаптера,могут быть еще какие-либо причины,почему плата не подключается к вайфай?
По этому решил пойти через ардуино,но не уверен,как лучше подключить его к ней?Скажем:rx k tx,tx k rx к штырю vcc на плате,а вот землю и vcc,куда лучше на этом шилде вставить?И правильно ли вообще подключаю?
 

Вложения

nikolz

Well-known member
Приветствую всех форумчан!
Адаптер к есп01 из али был утерян вместе с платой,по этому пришлось быстро искать замену сему добру,покупалось все у нас,модуль доделывал сам(первая в моей жизни пайка,но вроде успешная).Сам модуль прошивается,но не подключается к вай-фай.Прочитал тут была похожая проблема и возможно дело было в слабом питании платы самого адаптера,могут быть еще какие-либо причины,почему плата не подключается к вайфай?
По этому решил пойти через ардуино,но не уверен,как лучше подключить его к ней?Скажем:rx k tx,tx k rx к штырю vcc на плате,а вот землю и vcc,куда лучше на этом шилде вставить?И правильно ли вообще подключаю?
вы что-то кислое с зеленым спутали
подключение к wifi не зависит от адаптера и тем более от того через что вы его к компу подключаете
если адаптер подключили и esp программируется и на терминале вы видите сообщение
то проблема исключительно внутри ESP либо программа либо параметры настройки по умолчанию
 

CodeNameHawk

Moderator
Команда форума
А если умеете залить прошивку в есп, то опишите какую прошивку залили, АТ?

rx k tx,tx k rx к штырю vcc на плате,а вот землю и vcc,куда лучше на этом шилде вставить?И правильно ли вообще подключаю?
rx k tx,tx k rx правильное подключение для работы есп в качестве WiFi модуля, земли модулей надо соединить вместе.
На vcc надо подать такое питание, какое есп плата требует, если на ней есть стабилизатор 3,3В, то можете подать на него +5В, если нет то только 3,3В. и его можно подать от внешнего источника питания, не забыв соединить земли вместе.
 

Technogrover

New member
вы что-то кислое с зеленым спутали
подключение к wifi не зависит от адаптера и тем более от того через что вы его к компу подключаете
если адаптер подключили и esp программируется и на терминале вы видите сообщение
то проблема исключительно внутри ESP либо программа либо параметры настройки по умолчанию
Код:
//#define BLYNK_MAX_SENDBYTES 600
//#define BLYNK_PRINT Serial

#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <TimeLib.h>
#include <WidgetRTC.h>
char currentTime[9];
char startTime[9];
char stopTime[9];
int SThour;
int STmin;
int STsec;
int SPhour;
int SPmin;
int SPsec;
WidgetLED led(V5);



// цвета для светодиодов и цвета букв
#define BLYNK_GREEN     "#23C48E"
#define BLYNK_BLUE      "#04C0F8"
#define BLYNK_YELLOW    "#ED9D00"
#define BLYNK_RED       "#D3435C"
#define BLYNK_DARK_BLUE "#5F7CD8"
#define BLYNK_WHITE     "#FFFFFF"


// Уголок личных данных
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "++++++++++++++++++++++++++";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "HUAEIl";
char pass[] = "neeepass";
BlynkTimer timer;

WidgetRTC rtc;
// Digital clock display of the time
void clockDisplay()
{
  // You can call hour(), minute(), ... at any time
  // Please see Time library examples for details

  String currentTime = String(hour()) + ":" + minute() + ":" + second();
  String currentDate = String(day()) + " " + month() + " " + year();
  Serial.print("Current time: ");
  Serial.print(currentTime);
  Serial.print(" ");
  Serial.print(currentDate);
  Serial.println();

  // Send time to the App
  Blynk.virtualWrite(V1, currentTime);
  // Send date to the App
  Blynk.virtualWrite(V2, currentDate);
}
BLYNK_CONNECTED() {
  // Synchronize time on connection
  rtc.begin();
}
BLYNK_WRITE(GP1) {
  if (param.asInt()) {
    digitalWrite(1, HIGH);
  } else {
    digitalWrite(0, LOW);
  }
}



float B;  // инициализируем пременную для хранения данных с плавоющей точкой Для датчика вариант 1
float C;  // инициализируем пременную для хранения данных с плавоющей точкой Для датчика вариант 2

void readSensorB() // функция для считывания показаний датчика B

{
  //*********Код для получение рандомных значений*******************
  //**************************Начало********************************
  // Эта конструкция интересна, так как это цыкл
  // с частотой прохождения заданным таймером
  static int x = random (100, 200);
  static int i = 2000;
  if (i > -1) {
    i = i + x;
    B = (float)i / 100;
    if (i >= 4000) x = -random (100, 200);    // переключение управления на максимуме
    if (i <= 2000) x = random (100, 200);    // переключение управления на максимуме
  }
  //*********Код для получение рандомных значений*******************
  //**************************Конец*********************************

  //**************************Отправка данных вариант 1******************
  // Отправка данных в Blynk в настройках Виджета
  // находим REDIN RATE и выставляем PUSH. !!!!Только!!!!PUSH!!!!
  // иначе будет вылетать из онлайна
  Blynk.virtualWrite(V11, B);

  //***В зависимости от показаний датчика можно менять цвет и надпись***
  //Serial.println(B); // выводим значения в сериал монитор
  static int hotState = 0;
  if (B > 32 && hotState != 1)
  { hotState = 1; // благодаря этому мы один раз отправим изменения
  }
  else if (B <= 32 && hotState != 2)
  { hotState = 2; // благодаря этому мы один раз отправим изменения
  }
}
//Суть в том что в этом случае мы обнавляем данные с той частотой которую прописали
//в таймере в. Эта строка находится в
//void setup()
//timer.setInterval(1000L, readSensorB);
//тоесть обновлением данных в виджете управляет Наше железо (ESP8266)
//**Конец********************Отправка данных вариант 1******************



//**Начало*****************Отправка данных вариант 2******************
// Отправка данных в Blynk. В настройках Виджета
// находим REDIN RATE и выставляем !!!!!ВСЕ КРОМЕ PUSH!!!!
// Например раз в секунду
BLYNK_READ(V12) // Отправляем данные в виджет Labeled Value
{
  static int x = random (100, 200);
  static int i = 2000;
  if (i > -1) {
    i = i + x;
    C = (float)i / 100;
    if (i >= 4000) x = -random (100, 200);    // переключение управления на максимуме
    if (i <= 2000) x = random (100, 200);    // переключение управления на максимуме
  }
  Blynk.virtualWrite(V12, C);
}
//Суть в том что функцию обновления данных в данном случае дергает виджет
//И данные будут вычисляться и обновляться, только если будет свзь с
//мобильным устройством насколько я смог понять
//***Конец*****************Отправка данных вариант 2******************

void setup()
{
  timer.setInterval(1000L, readSensorB);
  // Debug console
  Serial.begin(115200);
  Serial.println(" ");
  Serial.println("Launch");
  Blynk.config(auth);
  Blynk.disconnect();
  Blynk.connect();
  setSyncInterval(10 * 60); // Sync interval in seconds (10 minutes)

  // Display digital clock every 10 seconds
  timer.setInterval(10000L, clockDisplay);
}

void loop()
{
  Blynk.run(); // Запускаем Блинк
  timer.run(); // Запускаем таймер
}
BLYNK_WRITE(V4) {
  TimeInputParam t(param);
  {
    if (t.hasStartTime()) {
      led.on();
    }
    if (t.hasStopTime())
      led.off();
  }
}
Кидаю настройки по умолчанию и код.Код - сборная солянка,но рабочим был на предыдуще
 

Вложения

nikolz

Well-known member
вот эта куча, которую Вы собрали - ее кто-то отлаживал?
------------------------
Возьмите простейший скетч,
который соединяется с вашим роутером как станция
и посмотрите сообщения в терминале
 

Technogrover

New member
вы что-то кислое с зеленым спутали
подключение к wifi не зависит от адаптера и тем более от того через что вы его к компу подключаете
если адаптер подключили и esp программируется и на терминале вы видите сообщение
то проблема исключительно внутри ESP либо программа либо параметры настройки по умолчанию
Код:
//#define BLYNK_MAX_SENDBYTES 600
//#define BLYNK_PRINT Serial

#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <TimeLib.h>
#include <WidgetRTC.h>
char currentTime[9];
char startTime[9];
char stopTime[9];
int SThour;
int STmin;
int STsec;
int SPhour;
int SPmin;
int SPsec;
WidgetLED led(V5);



// цвета для светодиодов и цвета букв
#define BLYNK_GREEN     "#23C48E"
#define BLYNK_BLUE      "#04C0F8"
#define BLYNK_YELLOW    "#ED9D00"
#define BLYNK_RED       "#D3435C"
#define BLYNK_DARK_BLUE "#5F7CD8"
#define BLYNK_WHITE     "#FFFFFF"


// Уголок личных данных
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "++++++++++++++++++++++++++";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "HUAEIl";
char pass[] = "neeepass";
BlynkTimer timer;

WidgetRTC rtc;
// Digital clock display of the time
void clockDisplay()
{
  // You can call hour(), minute(), ... at any time
  // Please see Time library examples for details

  String currentTime = String(hour()) + ":" + minute() + ":" + second();
  String currentDate = String(day()) + " " + month() + " " + year();
  Serial.print("Current time: ");
  Serial.print(currentTime);
  Serial.print(" ");
  Serial.print(currentDate);
  Serial.println();

  // Send time to the App
  Blynk.virtualWrite(V1, currentTime);
  // Send date to the App
  Blynk.virtualWrite(V2, currentDate);
}
BLYNK_CONNECTED() {
  // Synchronize time on connection
  rtc.begin();
}
BLYNK_WRITE(GP1) {
  if (param.asInt()) {
    digitalWrite(1, HIGH);
  } else {
    digitalWrite(0, LOW);
  }
}



float B;  // инициализируем пременную для хранения данных с плавоющей точкой Для датчика вариант 1
float C;  // инициализируем пременную для хранения данных с плавоющей точкой Для датчика вариант 2

void readSensorB() // функция для считывания показаний датчика B

{
  //*********Код для получение рандомных значений*******************
  //**************************Начало********************************
  // Эта конструкция интересна, так как это цыкл
  // с частотой прохождения заданным таймером
  static int x = random (100, 200);
  static int i = 2000;
  if (i > -1) {
    i = i + x;
    B = (float)i / 100;
    if (i >= 4000) x = -random (100, 200);    // переключение управления на максимуме
    if (i <= 2000) x = random (100, 200);    // переключение управления на максимуме
  }
  //*********Код для получение рандомных значений*******************
  //**************************Конец*********************************

  //**************************Отправка данных вариант 1******************
  // Отправка данных в Blynk в настройках Виджета
  // находим REDIN RATE и выставляем PUSH. !!!!Только!!!!PUSH!!!!
  // иначе будет вылетать из онлайна
  Blynk.virtualWrite(V11, B);

  //***В зависимости от показаний датчика можно менять цвет и надпись***
  //Serial.println(B); // выводим значения в сериал монитор
  static int hotState = 0;
  if (B > 32 && hotState != 1)
  { hotState = 1; // благодаря этому мы один раз отправим изменения
  }
  else if (B <= 32 && hotState != 2)
  { hotState = 2; // благодаря этому мы один раз отправим изменения
  }
}
//Суть в том что в этом случае мы обнавляем данные с той частотой которую прописали
//в таймере в. Эта строка находится в
//void setup()
//timer.setInterval(1000L, readSensorB);
//тоесть обновлением данных в виджете управляет Наше железо (ESP8266)
//**Конец********************Отправка данных вариант 1******************



//**Начало*****************Отправка данных вариант 2******************
// Отправка данных в Blynk. В настройках Виджета
// находим REDIN RATE и выставляем !!!!!ВСЕ КРОМЕ PUSH!!!!
// Например раз в секунду
BLYNK_READ(V12) // Отправляем данные в виджет Labeled Value
{
  static int x = random (100, 200);
  static int i = 2000;
  if (i > -1) {
    i = i + x;
    C = (float)i / 100;
    if (i >= 4000) x = -random (100, 200);    // переключение управления на максимуме
    if (i <= 2000) x = random (100, 200);    // переключение управления на максимуме
  }
  Blynk.virtualWrite(V12, C);
}
//Суть в том что функцию обновления данных в данном случае дергает виджет
//И данные будут вычисляться и обновляться, только если будет свзь с
//мобильным устройством насколько я смог понять
//***Конец*****************Отправка данных вариант 2******************

void setup()
{
  timer.setInterval(1000L, readSensorB);
  // Debug console
  Serial.begin(115200);
  Serial.println(" ");
  Serial.println("Launch");
  Blynk.config(auth);
  Blynk.disconnect();
  Blynk.connect();
  setSyncInterval(10 * 60); // Sync interval in seconds (10 minutes)

  // Display digital clock every 10 seconds
  timer.setInterval(10000L, clockDisplay);
}

void loop()
{
  Blynk.run(); // Запускаем Блинк
  timer.run(); // Запускаем таймер
}
BLYNK_WRITE(V4) {
  TimeInputParam t(param);
  {
    if (t.hasStartTime()) {
      led.on();
    }
    if (t.hasStopTime())
      led.off();
  }
}
Кидаю настройки по умолчанию и код.Код - сборная солянка,но рабочим был на предыдущей плате,не знаю,чего я упускаю?
 

Technogrover

New member
вот эта куча, которую Вы собрали - ее кто-то отлаживал?
------------------------
Возьмите простейший скетч,
который соединяется с вашим роутером как станция
и посмотрите сообщения в терминале
Сам и отлаживал.На фотографии видно,что все работало как часы.Конечно,на последнем этапе,я бы все лишние и не нужное стер бы.Просто логику старался понять.
Диодиком мигал,но сколько можно то им мигать?На фотке видно,что и им мигаю,он самым первым был.Вы видите,что что-то в коде не так сделано?Повторюсь,что на предыдущей такой же плате,все было тип-топ
 

Вложения

Technogrover

New member
А если умеете залить прошивку в есп, то опишите какую прошивку залили, АТ?


rx k tx,tx k rx правильное подключение для работы есп в качестве WiFi модуля, земли модулей надо соединить вместе.
На vcc надо подать такое питание, какое есп плата требует, если на ней есть стабилизатор 3,3В, то можете подать на него +5В, если нет то только 3,3В. и его можно подать от внешнего источника питания, не забыв соединить земли вместе.
Код кинул в предыдущем сообщении,с АТ не работал.Еще кинул логи загрузки,все грузится вроде правильно,но почему к вайфаю не хочет подключатся через код?
 

Вложения

nikolz

Well-known member
Сам и отлаживал.На фотографии видно,что все работало как часы.Конечно,на последнем этапе,я бы все лишние и не нужное стер бы.Просто логику старался понять.
Диодиком мигал,но сколько можно то им мигать?На фотке видно,что и им мигаю,он самым первым был.Вы видите,что что-то в коде не так сделано?Повторюсь,что на предыдущей такой же плате,все было тип-топ
нет я код ваш не проверял.
поясните подробнее что было и что изменилось
вы заливаете в новый модуль или в старый в котором все работало и как давно это все работало
возможно очень давно
возможно надо залить начальные параметры Wifi в верхние сектора флеш
подключите терминал и покажите сообщения модуля
 

Technogrover

New member
А если умеете залить прошивку в есп, то опишите какую прошивку залили, АТ?


rx k tx,tx k rx правильное подключение для работы есп в качестве WiFi модуля, земли модулей надо соединить вместе.
На vcc надо подать такое питание, какое есп плата требует, если на ней есть стабилизатор 3,3В, то можете подать на него +5В, если нет то только 3,3В. и его можно подать от внешнего источника питания, не забыв соединить земли вместе.
Код кинул в предыдущем сообщении,с АТ не работал.Еще кинул логи загрузки,все грузится вроде правильно,но почему к вайфаю не хочет подключатся через код?
нет я код ваш не проверял.
поясните подробнее что было и что изменилось
вы заливаете в новый модуль или в старый в котором все работало и как давно это все работало
возможно очень давно
возможно надо залить начальные параметры Wifi в верхние сектора флеш
подключите терминал и покажите сообщения модуля
Была абсолютно такая же плата с адаптером под нее с переключателем прог-уарт,но сгинула,недавно получил такую же и адаптер,который пришлось немного доработать,доработал,залил скетч,прошла загрузка как на фото,но к дочке доступа не коннектиться почему-то,вот и задаюсь вопросом - а почему?

"параметры Wifi в верхние сектора флеш
подключите терминал и покажите сообщения модуля" - можете по подробней как это сделать и,что,в принципе,это даст,если не затруднит,конечно?
 

Technogrover

New member
А если умеете залить прошивку в есп, то опишите какую прошивку залили, АТ?


rx k tx,tx k rx правильное подключение для работы есп в качестве WiFi модуля, земли модулей надо соединить вместе.
На vcc надо подать такое питание, какое есп плата требует, если на ней есть стабилизатор 3,3В, то можете подать на него +5В, если нет то только 3,3В. и его можно подать от внешнего источника питания, не забыв соединить земли вместе.
Как видите на картинке у меня есть спец.модуль для работы арудины и есп01,думаю,что со всеми стабами она,сами рх и тх перекрестно я ставлю на vcc на сенсор шилд,правильно?Но у модуля есть еще отдельно vcc и gnd,вот куда их воткнуть на этом шилде?Как думаете?
 

Вложения

nikolz

Well-known member
Как видите на картинке у меня есть спец.модуль для работы арудины и есп01,думаю,что со всеми стабами она,сами рх и тх перекрестно я ставлю на vcc на сенсор шилд,правильно?Но у модуля есть еще отдельно vcc и gnd,вот куда их воткнуть на этом шилде?Как думаете?
землю на землю
а Vcc через стабилизатор на 3.3 в например 1117 на 5 вольт
но стабилизатор обязательно
и Rx Tx желательно через резисторы
 

Technogrover

New member
А если умеете залить прошивку в есп, то опишите какую прошивку залили, АТ?


rx k tx,tx k rx правильное подключение для работы есп в качестве WiFi модуля, земли модулей надо соединить вместе.
На vcc надо подать такое питание, какое есп плата требует, если на ней есть стабилизатор 3,3В, то можете подать на него +5В, если нет то только 3,3В. и его можно подать от внешнего источника питания, не забыв соединить земли вместе.
Как видите на картинке у меня есть спец.модуль для работы арудины и есп01,думаю,что со всеми стабами она,сами рх и тх перекрестно я ставлю на vcc на сенсор шилд,правильно?Но у модуля есть еще отдельно vcc и gnd,вот куда их воткнуть на этом шилде?Как думаете?
землю на землю
а Vcc через стабилизатор на 3.3 в например 1117 на 5 вольт
но стабилизатор обязательно
и Rx Tx желательно через резисторы
А на какую землю,если по точнее?У 18 и 19 пина есть земля,сигнальный пин нужно задействовать?Само соединение рх и тх на этих пинах через vcc делать?А vсс u gnd на модуле,куда присоединить на этом шилде?
 

CodeNameHawk

Moderator
Команда форума
Попробуйте в настройках выставить так
Untitled.png

Возьмите простой пример из ардуиноиде для работы с сетью и проверьте как там насчет соединения с сетью.
Вручную добавьте в скетч отключение от сети.
 

nikolz

Well-known member
Как видите на картинке у меня есть спец.модуль для работы арудины и есп01,думаю,что со всеми стабами она,сами рх и тх перекрестно я ставлю на vcc на сенсор шилд,правильно?Но у модуля есть еще отдельно vcc и gnd,вот куда их воткнуть на этом шилде?Как думаете?

А на какую землю,если по точнее?У 18 и 19 пина есть земля,сигнальный пин нужно задействовать?Само соединение рх и тх на этих пинах через vcc делать?А vсс u gnd на модуле,куда присоединить на этом шилде?
я не понял это о чем: "Само соединение рх и тх на этих пинах через vcc делать?"
соединение rx c tx делаете проводом -один конец к rx другой tx.
-------------------------------------
вот тут про вашу плату
-------------------------------
т е это плата специально для меги
для esp это как корове седло
без омеги это просто набор отдельных штырей
------------------
поэтому сначала решите нужен ли вам этот шилд
 

nikolz

Well-known member
если вы хотите работать лишь с ESP то у вас есть адаптер (фото выше)
у него четыре контакта полагаю +5в GND и Rx Tx
берете две кнопки и стабилизатор AM1117
припаиваете стабилизатор к +5 и земле и получаете 3.3 вольта
ESP подключаете GND на GND
Vcc на выход AM1117
GPIO0 через кнопку к GND
CH_PD — к VCC+3.3В.

URxD ESP на Tx адаптера через резистор 200 ом
UTxD ESP на Rx адаптера через резистор 200 ом
-------------
подключаете к USB компьютера
запускаете программу терминал Tera Term и устанавливаете скорость 74880
нажимаете на кнопку RST и отпускаете ее
на экране наблюдаете сообщение ESP
это режим работы программы
----------------------------
для программирования
нажимаете на кнопку GPIO0 и держите ее
нажимаете на кнопку RST отпускаете ее
отпускаете кнопку GPIO0
ESP перешло в режим программирования
запускаете программу прошивки и пишите в ESP
после окончания записи нажимаете и отпускаете кнопку RST
смотрите в терминал
-----------------------
 

Technogrover

New member
А если умеете залить прошивку в есп, то опишите какую прошивку залили, АТ?


rx k tx,tx k rx правильное подключение для работы есп в качестве WiFi модуля, земли модулей надо соединить вместе.
На vcc надо подать такое питание, какое есп плата требует, если на ней есть стабилизатор 3,3В, то можете подать на него +5В, если нет то только 3,3В. и его можно подать от внешнего источника питания, не забыв соединить земли вместе.
Как видите на картинке у меня есть спец.модуль для работы арудины и есп01,думаю,что со всеми стабами она,сами рх и тх перекрестно я ставлю на vcc на сенсор шилд,правильно?Но у модуля есть еще отдельно vcc и gnd,вот куда их воткнуть на этом шилде?Как думаете?
землю на землю
а Vcc через стабилизатор на 3.3 в например 1117 на 5 вольт
но стабилизатор обязательно
и Rx Tx желательно через резисторы
А на какую землю,если по точнее?У 18 и 19 пина есть земля,сигнальный пин нужно задействовать?Само соединение рх и тх на этих пинах через vcc делать?А vсс u gnd на модуле,куда присоединить на этом шилде?
Попробуйте в настройках выставить так
Посмотреть вложение 7702

Возьмите простой пример из ардуиноиде для работы с сетью и проверьте как там насчет соединения с сетью.
Вручную добавьте в скетч отключение от сети.
Простой пример расставил все точки,все работает как и раньше,правда нужно теперь все восстановить,например,тоже время,чтобы эвентор правильно работал.
А вот настройки,которые скинули,что они дают?У меня v2 lower memory установлен,чем хуже?
 

Technogrover

New member
я не понял это о чем: "Само соединение рх и тх на этих пинах через vcc делать?"
соединение rx c tx делаете проводом -один конец к rx другой tx.
-------------------------------------
вот тут про вашу плату
-------------------------------
т е это плата специально для меги
для esp это как корове седло
без омеги это просто набор отдельных штырей
------------------
поэтому сначала решите нужен ли вам этот шилд
Если посмотреть на плате,то там на каждом пине есть три штыря сверху,по середине и снизу(земля,питание и сигнал) и у модуля есть рх,тх,питание и земля.Так вот,как правильно было бы эту плату подключить к арудине?рх и тх перекрестно на питание(vcc),как на третьей фотке,а тогда vcc u gnd на модуле к каким правильней контактам нужно присоединить?
 

Вложения

Сверху Снизу