Страница 1 из 7

esp8266 + AMS + MajorDoMo - ПЕРВЫЕ ШАГИ

Добавлено: Пт июл 06, 2018 8:42 am
sarstab
Многоуважаемые форумчане, будьте добры подсказать последовательные шаги для передачи данных от esp8266 к AMS,а с AMS к MajorDoMo. На данный момент есть esp с подключенными датчиками: датчик дождя(использовать ка датчик протечки который в случаи протечки подаст сигнал на светодиод),датчик температуры DS18B20(использовать для определения фактической температуры на улице),датчик движения (использовать для обнаружения движения,который подает сигнал на мосфет транзистор для включения светодиодной ленты 12в). Имеется скетч для обработки этих датчиков

Код: Выделить всё

#include <ESP8266WiFi.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_PIN 13 // номер пина для 1-wire линии
#define fadePin 5 //пин управления MOSFET транзистором
OneWire ds(ONE_WIRE_PIN);  // создаем объект ds для работы с датчиком 
DallasTemperature sensors(&ds);  // передаем ссылку на ds в объект sensors, через который будем управлять датчиком

int pirPin = 12;  //пин подключения управляющего сигнала PIR датчика
int light;       //переменная для хранения состояния света (вкл/выкл)
int rainSensor = A0;
int rainLED = 14;
int dryLED = 4;
int sensorVal;
int sensortrigger = 250;

const char* ssid = "****"; //Название сети
const char* password = "*****"; //пароль
WiFiClient espClient; //инициализация WiFi клиента

void setup(){
  Serial.begin(9600);
  Serial.println("DS18B20");
   WiFi.begin(ssid, password);                //подключаемся к WiFi
  pinMode(pirPin, INPUT);  //настариваем 12 пин как вход для сигналов с датчика
  pinMode(fadePin, OUTPUT);// 5 пин на выход, для управления транзисотором
  pinMode(rainSensor, INPUT);
  pinMode(rainLED, OUTPUT);
  pinMode(dryLED, OUTPUT);
  digitalWrite(rainLED, LOW);
  digitalWrite(dryLED, LOW);
  light = 0;     //устанаваливаем переменную для первого включения света
  sensors.begin();
}

 
void loop(){
   
  if(digitalRead(pirPin) == HIGH )  //если сигнал с датчика высокого уровня(т.е. есть движение)
   {
     if(light == 0)   //и если свет не был включен
     {
       for(int i=0; i<=150; i++)  //то плавно включаем свет
       {
       analogWrite(fadePin, i); 
       delay(100);   //каждые 10мс увелияение на 1
       } 
       light = 1; //и передаем значение переменной, что свет включен
     }
   } 
   else  //иначе
   {
     if(light == 1) //если свет включен
     {
       for(int i=150; i>=0; i--)//плавно гасим его
       {
       analogWrite(fadePin, i);
       delay(100);
       } 
       light = 0; //и передаем значение переменной, что свет выключен
     }
   }
int sensorVal = analogRead(rainSensor);
  Serial.print(sensorVal);
if(sensorVal < sensortrigger){
    Serial.println("Water Detected!");
    digitalWrite(dryLED, LOW);
    digitalWrite(rainLED, HIGH);
   }
  else {
    Serial.println("No Water Detected!");
    digitalWrite(rainLED, LOW);
    digitalWrite(dryLED, HIGH);
   }
  delay(750); 


  Serial.print(" Requesting temperatures...");
  sensors.requestTemperatures(); // запрос на получение данных
  Serial.println("DONE");
  Serial.print("Temperature for Device 1 is: ");
  Serial.print(sensors.getTempCByIndex(0)); // получаем температуру и печатаем
}
. Подскажите последовательные шаги что мне делать дальше для отображения всего моего хозяйства :D в MajorDoMo.

Re: esp8266 + AMS + MajorDoMo - ПЕРВЫЕ ШАГИ

Добавлено: Пт июл 06, 2018 9:07 am
serghei
Для начала надо просто запустить дистрибутив " как есть" на платформе 8266. Кстати , какая плата у тебя ? Для экспериментов идеально подходит NodeMCU V3 с суппортом. Куча разного мощного питания для датчиков. Выстави свою сеть , название, IP адрес и пароль. Получи картинку в браузере. Потом будем добавлять датчики.
На работе пишу с планшета , ссылки вставить проблематично.

PS/ ESP8266 c загруженным кодом это и есть AMS. Из коробки он многое умеет. И первым делом отдает свой статус в МД и значение температур.

Re: esp8266 + AMS + MajorDoMo - ПЕРВЫЕ ШАГИ

Добавлено: Пт июл 06, 2018 9:20 am
sarstab
плата esp8266-12е, AMS установил,в браузере отображается,питание организовано на транзисторах 7805(датчики) и 1117(есп),на вкладке пир датчика установил пин к которому он припаян.Где в МЖД посмотреть что АМС что то отдает?

Re: esp8266 + AMS + MajorDoMo - ПЕРВЫЕ ШАГИ

Добавлено: Пт июл 06, 2018 9:48 am
serghei
Пока это можно увидеть только в сериале :D . Раскоментируй вкладку

Код: Выделить всё

#define FEATURE_SEND
#define FEATURE_MAJOR
или как она там правильно называется ( пишу в слепую - код дома ). Выстави адрес Алисы и в сериале увидишь Гет запросы.

Код: Выделить всё

/* ----------------------------------------------
  Module MajorDoMo
  part of Arduino Mega Server project
------------------------------------------------- */

#ifdef FEATURE_MAJOR

byte MAJOR_IP[] = {192, 168, 2, 8};
int  MAJOR_PORT = 80;
Скинь вывод в сериал сюда.
Найду файлы - расскажу дальше )).

Re: esp8266 + AMS + MajorDoMo - ПЕРВЫЕ ШАГИ

Добавлено: Пт июл 06, 2018 10:14 am
sarstab
это было сделано давно по инструкции делал :D

Re: esp8266 + AMS + MajorDoMo - ПЕРВЫЕ ШАГИ

Добавлено: Пт июл 06, 2018 10:27 am
serghei
Дальше смотри Это сообщение. Только поправь на свои названия.
Вообще много раз про это писал.

Re: esp8266 + AMS + MajorDoMo - ПЕРВЫЕ ШАГИ

Добавлено: Сб июл 07, 2018 8:15 pm
sarstab
я в шоке :D убрал есп от компа на плату ,перестал в браузере отображаться страница).Короче начал все сначала,заново залил амс,запаял толь датчик температуры(сначала использовал стандартный пример-температура отображается)потом залил амс, в скетче указал шину .И вуаля не работает :lol: :lol: :lol: .я так понял в скетче указаны датчики по ид номеру и автоматом не цепляет другие датчики кроме тех которые там прописаны,пробовал заменить ид на свой и снова потерпел фиаско :D Срочный ХЕЛП

Re: esp8266 + AMS + MajorDoMo - ПЕРВЫЕ ШАГИ

Добавлено: Сб июл 07, 2018 8:51 pm
serghei
Что значит
sarstab писал(а):
Сб июл 07, 2018 8:15 pm
убрал есп от компа на плату ,перестал в браузере отображаться страница).
Какая версия AMS , какая плата и выложи вывод в сериал старт до первой температуры. Для ESP надо даллас подключить по паразитному питанию с подтягивающим резистором в 470 ом. И не ошибиться с пином ( кажется D4 ) для платы NodeMcu V3 .

Re: esp8266 + AMS + MajorDoMo - ПЕРВЫЕ ШАГИ

Добавлено: Сб июл 07, 2018 9:37 pm
eGorka
serghei писал(а):
Сб июл 07, 2018 8:51 pm
... Для ESP надо даллас подключить по паразитному питанию с подтягивающим резистором в 470 ом. ...
???

Re: esp8266 + AMS + MajorDoMo - ПЕРВЫЕ ШАГИ

Добавлено: Сб июл 07, 2018 9:48 pm
serghei
Проходил я это - со стандартным 4.7 ком показывало 85 С.