Страница 3 из 7
Re: esp8266 + AMS + MajorDoMo - ПЕРВЫЕ ШАГИ
Добавлено: Вс июл 08, 2018 4:41 pm
alexsis_76
Прочитать ID датчиков и занести в массив как раз очень просто, а вот отсортировать тот ещё гемор.
Делал так-Режим калибровки-отключаем все датчики-стираем память-подключаем первый-запись адреса-одключаем-подключаем второй-запись адреса и т.д,затем просто читаем адреса с памяти,там они всегда в том порядке в котором записали,можно создать соответствие датчик-имя,если подключаем новый датчик то его адрес можно добавить в хвост.
Re: esp8266 + AMS + MajorDoMo - ПЕРВЫЕ ШАГИ
Добавлено: Вс июл 08, 2018 4:58 pm
serghei
Вот здесь попытка реализации конфига. Особенно пункт 3.1 Но кажется архив поломан . Честно - не разбирался.
Re: esp8266 + AMS + MajorDoMo - ПЕРВЫЕ ШАГИ
Добавлено: Вс июл 08, 2018 5:19 pm
alexsis_76
в ваших библиотеках должна быть функция поиска устройств на шине,видимо использовать ее могут не все.
Re: esp8266 + AMS + MajorDoMo - ПЕРВЫЕ ШАГИ
Добавлено: Вс июл 08, 2018 5:24 pm
serghei
Так поиск есть и работает. Причем находит ВСЕ устройства 1-wire/ И счетчики DS2423 то же. Но всё это надо прописывать руками в скетч.
Re: esp8266 + AMS + MajorDoMo - ПЕРВЫЕ ШАГИ
Добавлено: Пн июл 09, 2018 3:39 am
alexsis_76
Ну оказывается все уже есть,только вместо консоли надо выпихнуть адреса в массив.
Так все и находит,затем фильтруют по коду семейства,так собственно и сделано в оригинальном алгоритме.
Re: esp8266 + AMS + MajorDoMo - ПЕРВЫЕ ШАГИ
Добавлено: Вт июл 10, 2018 10:02 pm
sarstab
Вы вообще красавцы!
Re: esp8266 + AMS + MajorDoMo - ПЕРВЫЕ ШАГИ
Добавлено: Чт июл 12, 2018 9:29 am
sarstab
Так что парни подскажите по моей проблеме с пир датчиком?
Re: esp8266 + AMS + MajorDoMo - ПЕРВЫЕ ШАГИ
Добавлено: Чт июл 12, 2018 10:10 am
eGorka
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); // выводим на светодиод
}
Re: esp8266 + AMS + MajorDoMo - ПЕРВЫЕ ШАГИ
Добавлено: Пт июл 13, 2018 9:32 am
sarstab
не совсем про это))у меня есть скетч но я не знаю как реализовать его в амс
Код: Выделить всё
#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)); // получаем температуру и печатаем
}
Re: esp8266 + AMS + MajorDoMo - ПЕРВЫЕ ШАГИ
Добавлено: Пт июл 13, 2018 9:37 am
sarstab
в амс получается что датчик срабатывает(1) и сразу отсылает что движения нет(0)а вот что бы еще на мосфет посылал сигнал ни как не получается
А так скетч работает без амс но на алису не могу послать с него данные,Сергей сказал что в амс уже сделана отправка данных и там проще все это реализовать,да температура отсылается ,а вот с пир датчиком и датчиком протечки ну никак)).Если кто то делал такое,просьба подскажите