Arduino Mega Server

Модератор: Alex

serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв

Re: Arduino Mega Server

Сообщение serghei »

А что он писал ? Цитату вставьте )).

Нашел. )) Так еще раз говорю - все это уже реализовано.
1. 3 температуры - ЕСТЬ.
2. Датчик давления - КАКОЙ ? Просто читаем аналоговый вход , делаем ремапинг в удобный вид и выводим на страницу. Скетч ser009 тут выкладывал. Пошел искать ( самому надо )).
3 Датчики потребления газа и воды.

Вот с этим сложнее , но опять реализовано.
А. Считаем прерывания . Выводим результат. Глобальный минус такого решения - потеря данных при перезагрузке.
В. Прикручиваем сенсор на NRF24 . Загружаем мой скетч с двумя далласами . DHT и двумя счетчиками. И опять же та же проблема - сброс значений. Костыль - ставим аккумулятор на сутки.
С. Правильный вариант - подключаем DS2423 и забываем о проблеме. ( до 32 000 попугаев ).
Д. Самый извращенный вариант - Подключаем MySensors , загружаем скетч и забываем...
Начните с самого простого - выведите в даш-панель 3 температуры. Библия процесса расписана ТУТ.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
svetozar161
Сообщения: 72
Зарегистрирован: Пт янв 13, 2017 11:48 pm

Re: Arduino Mega Server

Сообщение svetozar161 »

Спасибо за пояснения. Схема своей локалки реализована не полностью, в частности сервер AMS на Mеге2560, для управления котлом только планируется, почему собственно я и задал вопрос. После прочтения пояснений возникли следующие мысли)):
1. АМS поддерживает MQTT? Дело в том, что на сервере с Мажордомо можно поставить брокер и в прошивке моего датчика, с которого нужно читать температуру есть опция MQTT клиента. То есть датчик может слать прямо на AMS через MQTT данные? Или AMS должен будет читать данные с брокера и потом на основе них дрыгать ногой?
2. Либо писать скетч, чтобы АМS каждые 10 секунд стучался через GET например к этому датчику и получив температуру дрыгал ногой...
Как проще? Точнее как будет работать?
svetozar161
Сообщения: 72
Зарегистрирован: Пт янв 13, 2017 11:48 pm

Re: Arduino Mega Server

Сообщение svetozar161 »

2. Датчик давления - КАКОЙ ?
Нашел вам скетч для датчика)) Держите. Сам планирую его применить...
датчик.png
датчик.png (96.71 КБ) 3998 просмотров
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв

Re: Arduino Mega Server

Сообщение serghei »

svetozar161 писал(а): Сб сен 08, 2018 11:43 pm 1. АМS поддерживает MQTT?
AMS - это обычная ардуина. И все тысячи датчиков и протоколов она поддерживает. Только это надо написать руками и головой :lol: . Конкретно MQTT nick7zmail уже опубликовал на этом форуме. ( только доделать надо)). Я с этим протоколом не работал, не подскажу. НО он гораздо лучше Гет запросов. И кажется он сам отсылает данные с AMS на МД.
За скетч спасибо )). Попробую приколхозить.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
svetozar161
Сообщения: 72
Зарегистрирован: Пт янв 13, 2017 11:48 pm

Re: Arduino Mega Server

Сообщение svetozar161 »

nick7zmail уже опубликовал на этом форуме
а не ткнете ссылкой, а то что-то не нашел...((
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв

Re: Arduino Mega Server

Сообщение serghei »

Проще продублировать , чем искать )). Вот только не помню -добавлял своё или нет. НЕ компилится - надо доделывать.
ams_MQTT.zip
(47.14 КБ) 184 скачивания
PS/ Нельзя так вставлять картинки со скетчами. Дайте просто ссылку или напишите руками.

PPS / Вот ссылка на обзор. Код не доступен. Придется писать с "бумаги".
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
svetozar161
Сообщения: 72
Зарегистрирован: Пт янв 13, 2017 11:48 pm

Re: Arduino Mega Server

Сообщение svetozar161 »

Выкладываю код

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

01 //_______для измерения давления в системе отопления цикл "manometr"
02 float PresKotel=0;     // <a href="https://mysku.ru/blog/aliexpress/33748.html" title="https://mysku.ru/blog/aliexpress/33748.html" rel="nofollow">https://mysku.ru/blog/aliexpress/33748.html</a> про датчик давления
03 int Val_MIN = 101;     // минимальное значение АЦП при давлении 0(ноль) Bar (0,51В)
04 int Val_MAX = 930;     // максимальное значение АЦП при давлении верха шкалы датчика (4,5В)
05 int Press_MAX = 1200;  // верх шкалы датчика давления в кПа (у меня 1200кПа=1,2МПа)
06
07
08 void manometr() // Цикл "манометр" измерение давления в системе отопления дома
09 // <a href="https://mysku.ru/blog/aliexpress/33748.html" title="https://mysku.ru/blog/aliexpress/33748.html" rel="nofollow">https://mysku.ru/blog/aliexpress/33748.html</a> про датчик давления
10 // покупал тут <a href="https://ru.aliexpress.com/item/New-Electric-Unit-Pressure-Transducer-Sensor-Oil-Fuel-for-Gas-Water-Air-Easy-removal-Carbon-Steel/32673407346.html?spm=a2g0s.9042311.0.0.DtsEna" title="https://ru.aliexpress.com/item/New-Electric-Unit-Pressure-Transducer-Sensor-Oil-Fuel-for-Gas-Water-Air-Easy-removal-Carbon-Steel/32673407346.html?spm=a2g0s.9042311.0.0.DtsEna" rel="nofollow">https://ru.aliexpress.com/item/New-Electric-Unit-Pressure-Transducer-Sen...</a>
11 {
12 int val = analogRead(A5);
13 PresKotel = map(val, Val_MIN, Val_MAX, 0, Press_MAX); // про функцию map <a href="http://arduino.ru/Reference/Map" title="http://arduino.ru/Reference/Map" rel="nofollow">http://arduino.ru/Reference/Map</a>
14 PresKotel = PresKotel/100;    // перевод в Bar (бары 1бар=0,098кгс/см2)
15 }
16
17
18 void alarms()  //______________Цикл "тревожные сигналы"
19 {
20 if (PresKotel < 0.5 && SMSPress==false)
21 { delay(1000); manometr();
22 if (PresKotel < 0.5 && SMSPress==false)  //Отправка СМС о низком давлении в системе отопления
23 { startOneSMS(); Serial2.print("Alarm!Davlenie:"); Serial2.print(PresKotel); Serial2.print("Bar_"); vremya2(); EndSMS();
24 startTwoSMS(); Serial2.print("Alarm!Davlenie:"); Serial2.print(PresKotel); Serial2.print("Bar_"); vremya2(); EndSMS(); SMSPress=true;}
25 }
26 if (PresKotel > 1.2 && SMSPress==true) {SMSPress=false;}
27 }
28
29 //Ну кусок для калибровки нуля и максимального значения... в деле правда не проверял ещё.
30 else if(d=='6'){ int val = analogRead(A5); Val_MIN = val; manometr(); Serial.print(PresKotel); Serial.println("Bar");} // Калибровка нуля датчика давления отопления
31 else if(d=='7'){ int val = analogRead(A5); Val_MAX = val; manometr(); Serial.print(PresKotel); Serial.println("Bar");} // Калибровка верха шкалы датчика давления отопления
svetozar161
Сообщения: 72
Зарегистрирован: Пт янв 13, 2017 11:48 pm

Re: Arduino Mega Server

Сообщение svetozar161 »

Код не доступен. Придется писать с "бумаги".
Код доступен, откуда я его по вашему взял?)) Там в тексте слово "код" является гиперссылкой
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв

Re: Arduino Mega Server

Сообщение serghei »

Отправляет на Дропбокс , а там 404..
Уже лучше. Буду вставлять к себе.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
svetozar161
Сообщения: 72
Зарегистрирован: Пт янв 13, 2017 11:48 pm

Re: Arduino Mega Server

Сообщение svetozar161 »

Скетч тот что вы скинули запускать с файла ams_MQTT.ino? При запуске этого файла IDE просит переместить его в свою папку, открывает, а другие скетчи не подключаются. Как их все вместе в кучу собрать, как в оригинальном амс? Руками прописывать?
Ответить