Jump to content

Нужна помощь в реализации проекта на Ардуино \Esp32


Recommended Posts

         Нужна  помощь  в написании  скетча  .

 Имею  удаленно расположенный бокс с  реверсивной  каплей .За  время  эксплуатации выявились ряд  проблем  которые  я   попытался  решить  год  назад . Были  случаи  когда  я  проебывал  уровень  воды  в баке( ведре) или  же  забивалась  система  и   не  было  полива от  чего  сильно  страдали растения...Дистанционно  ничего  сделать  нельзя и я  пришел  к выводу  что  нужно  делать  систему  "аварийного оповещения о  не исправности"  и  одновременно  контролировать  работу   системы  . Обычно  люди  используют  видиокамеры.  я  не  сильно вникая  подробности  купил  ЕСР32  САМ   на  чем  и  хочу  реализовать  свой  проект

Програмированием    не  владею, позанимался  не много ,  получил  некоторые  результаты,  успокоился  и  отложил  на  дальнюю  полку. Сейчас  решил  до делать , но  понял  что  все  нужно  начинать  сначала поэтому  и решил  просить  помощи .

В  общем  проект  вкратце  такой 

 ЕСП 32 на  нем 3 датчика  связь с  инетом  по  вафле...

освещенности  ( аналоговый  вход  фоторезистор настройка  программно)

аварийнно  низкий  уровень  воды  в  баке  ( контакты  1  или 0 но дребезгом)

3 датчик  сухости  субстрата   аналоговый  настраеваемый    на  выходе   1 или 0  

 При  срабатывании датчика  на  емаил \ или  телеграмм\ шлется   соответствующее  сообщение

 по  1  датчику  мы  контролируем   именно  свет (исправность) и  время 

  если  сработал  2 или  3  бросаем  все дела и  мчимся  к  босу  разбирается  в  чем  проблема

 есть  у  меня  на  работки  но они  "не  правильные" могу  выложить..

правильнее было бы   использовать  прерывание  при  срабатывании датчика и  все  время находиться  в  состоянии  низкого  потребления.


 

Скрытый текст

 

#include "WiFi.h"
#include "Mail.h"

#define pin_Level_1 13 // пин кнопки - ставь. какой удобно
#define pin_Level_2 14
#define pin_LED 2 // пин светодиода

const char* const staSSID = "   ";
const char* const staPass = "";

const char* const smtpHost = "smtp.yandex.ru";
const uint16_t smtpPort = 465;
const char* const smtpUser = "   ";
const char* const smtpPass = "   ";
const char* const mailTo = "   ";
const char* const mailSubject = "включилось  устройство";
const char* const mailSubject1 = "сработал        датчик 1";
const char* const mailSubject2 = "сработал        датчик 2";
const char* const mailMessage1 = "нажали кнопку 1";
const char* const mailMessage2 = "нажали кнопку 2";
void setup() {
//pinMode(pin_Level_1, INPUT); // установка пина датчика 1, как входа
//или с програмной подтяжкой, если плата позволяет
pinMode(pin_Level_1, INPUT_PULLUP); // установка пина датчика 1, как входа с подтяжкой
pinMode(pin_LED, OUTPUT); // установка пина датчика 1, как входа с подтяжкой
pinMode(pin_Level_2, INPUT_PULLUP); // установка пина датчика 2, как входа с подтяжкой

Serial.begin(115200);
Serial.println();

Serial.print(F("Connecting to \""));
Serial.print(staSSID);
Serial.print('"');

WiFi.begin(staSSID, staPass);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print('.');
}
Serial.print(' ');
Serial.println(WiFi.localIP());

delay(3000);


Serial.println();
if (sendMail(smtpHost, smtpPort, smtpUser, smtpPass, mailTo, mailSubject, F("Запустили программу"))) {
delay(10000);
}

//WiFi.disconnect();
}

void mailing1(){
Serial.println();
if (sendMail(smtpHost, smtpPort, smtpUser, smtpPass, mailTo, mailSubject1, mailMessage1)) {

delay(10000);
}

}

void mailing2(){
Serial.println();
if (sendMail(smtpHost, smtpPort, smtpUser, smtpPass, mailTo, mailSubject2, mailMessage2)) {
Serial.print(F("Mail sended through "));
Serial.println(smtpHost);
delay(10000);
}


}

void loop() {
if (digitalRead(pin_Level_1)==false){
mailing1();} //запускаем отправку по нажатию кнопки 1 (пин кратковременно на землю)
if (digitalRead(pin_Level_2)==false){
mailing2(); //запускаем отправку по нажатию кнопки 2(пин кратковременно на землю)

delay(500);
}
else{
digitalWrite(pin_LED, 0);
}

}

 

 

 

 

 

 вот пример ,  при  включении  отсылает  на  мыло  сообщение "включилось  устройство"

Скрытый текст

 

#include "WiFi.h"
#include "Mail.h"

const char* const staSSID = "";
const char* const staPass = "";

const char* const smtpHost =  "smtp.yandex.ru";
const uint16_t smtpPort = 465;
const char* const smtpUser =  "@yandex.ua";
const char* const smtpPass =  "";
const char* const mailTo = "@ukr.net";
const char* const mailSubject = "включилось устройство";

void setup() {
  Serial.begin(115200);
  Serial.println();

  Serial.print(F("Connecting to \""));
  Serial.print(staSSID);
  Serial.print('"');

  WiFi.begin(staSSID, staPass);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print('.');
  }
  Serial.print(' ');
  Serial.println(WiFi.localIP());

  delay(3000);

{
    Serial.println();
    if (sendMail(smtpHost, smtpPort, smtpUser, smtpPass, mailTo, mailSubject, F("сработал датчик 1"))) {
      Serial.print(F("Mail sended through "));
      Serial.println(smtpHost);
      delay(10000);
    } else {
      Serial.print(F("Error sending mail through "));
      Serial.print(smtpHost);
      Serial.println('!');
    }
  }

  //WiFi.disconnect();
}

void loop() {

}

 

 

Edited by безгашиша

Семена  конопли  Донецк + РФ  https://jahforum.org/topic/56910-semena-konopli-doneck/

 

Share this post


Link to post
Share on other sites
  • безгашиша changed the title to Нужна помощь в реализации проекта на Ардуино \Esp32

@безгашиша  здесь мало кто разбирается с ардуино, тем более с программированием. Лучше обратиться на тематические форумы (то что знаю, это форум ютубера который специализируется на ардуино - AlexGyver)

Share this post


Link to post
Share on other sites

@Kocherga  есть  кто  занимается но  видать они  еще  не  прочитали

 на  специфическом  форуме    результата   не будет. надают  ссылок . мол  кури..

Семена  конопли  Донецк + РФ  https://jahforum.org/topic/56910-semena-konopli-doneck/

 

Share this post


Link to post
Share on other sites
  • 2 weeks later...

Прикольно. Реально всё сделать. Только плату бы такую же))) хз что получится, на одной пллате бывает прошивка норм работает, на другой виснет

Отправлено с моего M2007J20CG через Tapatalk

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...