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

Модератор: Alex

alexsis_76
Сообщения: 791
Зарегистрирован: Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

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

Сообщение alexsis_76 » Вс июл 08, 2018 4:41 pm

Прочитать ID датчиков и занести в массив как раз очень просто, а вот отсортировать тот ещё гемор.
Делал так-Режим калибровки-отключаем все датчики-стираем память-подключаем первый-запись адреса-одключаем-подключаем второй-запись адреса и т.д,затем просто читаем адреса с памяти,там они всегда в том порядке в котором записали,можно создать соответствие датчик-имя,если подключаем новый датчик то его адрес можно добавить в хвост.
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

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

Сообщение serghei » Вс июл 08, 2018 4:58 pm

Вот здесь попытка реализации конфига. Особенно пункт 3.1 Но кажется архив поломан . Честно - не разбирался.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
alexsis_76
Сообщения: 791
Зарегистрирован: Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

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

Сообщение alexsis_76 » Вс июл 08, 2018 5:19 pm

в ваших библиотеках должна быть функция поиска устройств на шине,видимо использовать ее могут не все.
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

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

Сообщение serghei » Вс июл 08, 2018 5:24 pm

Так поиск есть и работает. Причем находит ВСЕ устройства 1-wire/ И счетчики DS2423 то же. Но всё это надо прописывать руками в скетч.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
alexsis_76
Сообщения: 791
Зарегистрирован: Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

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

Сообщение alexsis_76 » Пн июл 09, 2018 3:39 am

Ну оказывается все уже есть,только вместо консоли надо выпихнуть адреса в массив.

Так все и находит,затем фильтруют по коду семейства,так собственно и сделано в оригинальном алгоритме.
sarstab
Сообщения: 66
Зарегистрирован: Ср апр 26, 2017 10:21 pm
Благодарил (а): 19 раз
Поблагодарили: 1 раз

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

Сообщение sarstab » Вт июл 10, 2018 10:02 pm

Вы вообще красавцы!
sarstab
Сообщения: 66
Зарегистрирован: Ср апр 26, 2017 10:21 pm
Благодарил (а): 19 раз
Поблагодарили: 1 раз

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

Сообщение sarstab » Чт июл 12, 2018 9:29 am

Так что парни подскажите по моей проблеме с пир датчиком?
eGorka
Сообщения: 182
Зарегистрирован: Чт ноя 24, 2016 10:47 am
Благодарил (а): 5 раз
Поблагодарили: 25 раз

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

Сообщение eGorka » Чт июл 12, 2018 10:10 am

sarstab писал(а):
Чт июл 12, 2018 9:29 am
Так что парни подскажите по моей проблеме с пир датчиком?
Если про это
И как мне заставить светится светодиод при срабатывании датчика?

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

int ledPin = 4;  // светодиод
int inPin = 5;   // пир
int val = 0;     // переменная для хранения считанного значения
void setup(){
  pinMode(ledPin, OUTPUT);
  pinMode(inPin, INPUT);
}
void loop(){
  val = digitalRead(inPin);   // считываем значение со входа
  digitalWrite(ledPin, val);  // выводим на светодиод
}
sarstab
Сообщения: 66
Зарегистрирован: Ср апр 26, 2017 10:21 pm
Благодарил (а): 19 раз
Поблагодарили: 1 раз

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

Сообщение sarstab » Пт июл 13, 2018 9:32 am

не совсем про это))у меня есть скетч но я не знаю как реализовать его в амс

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

#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 = "ASUS dom"; //Название сети
const char* password = "333444555"; //пароль
WiFiClient espClient; //инициализация WiFi клиента

void setup(){
  Serial.begin(9600);
  Serial.println("DS18B20");
   WiFi.begin(ssid, password);                //подключаемся к WiFi
  pinMode(pirPin, INPUT);  //настариваем 2 пин как вход для сигналов с датчика
  pinMode(fadePin, OUTPUT);// 3 пин на выход, для управления транзисотором
  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)); // получаем температуру и печатаем
}
sarstab
Сообщения: 66
Зарегистрирован: Ср апр 26, 2017 10:21 pm
Благодарил (а): 19 раз
Поблагодарили: 1 раз

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

Сообщение sarstab » Пт июл 13, 2018 9:37 am

в амс получается что датчик срабатывает(1) и сразу отсылает что движения нет(0)а вот что бы еще на мосфет посылал сигнал ни как не получается
А так скетч работает без амс но на алису не могу послать с него данные,Сергей сказал что в амс уже сделана отправка данных и там проще все это реализовать,да температура отсылается ,а вот с пир датчиком и датчиком протечки ну никак)).Если кто то делал такое,просьба подскажите
Ответить