Подключение железа к AMS

Модератор: Alex

batihor
Сообщения: 16
Зарегистрирован: Сб май 20, 2017 3:34 pm
Благодарил (а): 12 раз
Поблагодарили: 1 раз

Re: Подключение железа к AMS

Сообщение batihor » Чт май 25, 2017 4:08 pm

Из Меги вырежьте вкладку robotdyn и вставьте к себе.
это о чем это было?
с уровнями все ясно. вот только досада. должен ЕСП на котором работает сервер, отвечать на АТ запросы?
с обычной прошивкой отвечает.
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Подключение железа к AMS

Сообщение serghei » Чт май 25, 2017 4:37 pm

Насколько я понял у Вас есть Мега , на которой крутится код метеостанции без выхода в интернет.Вы хотите по сериалу передавать данные на ЕСП и так получить выход в интернет. Правильно? Для этого есть вариант АМС для ЕСП и Меги , где они соеденены по сериалу и пока передают друг другу только своё состояние. Так вот берите код для ЕСП и заливайте в свою 01 . А из АМС для Меги Вам нужен код для этого. Он во вкладке robotdyn. Добавьте его в свою Мегу. После этого Мега будет передавать свой статус и отображать в Вебе ЕСП. Интерфейс точно такой же , какой Вы запустили.Никаких АТ запросов. Только данные с Меги в Вебе .
Ссылки и код вставить не могу, пишу с планшета.Только ночью или завтра вечером.
За это сообщение автора serghei поблагодарил:
batihor (Чт май 25, 2017 6:41 pm)
Рейтинг: 1.16%
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
batihor
Сообщения: 16
Зарегистрирован: Сб май 20, 2017 3:34 pm
Благодарил (а): 12 раз
Поблагодарили: 1 раз

Re: Подключение железа к AMS

Сообщение batihor » Чт май 25, 2017 6:42 pm

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

Re: Подключение железа к AMS

Сообщение serghei » Чт май 25, 2017 6:52 pm

Если получится разобраться с передачей данных , пожалуйста сбросьте код сюда. Дуя у меня видит уже два сервера. Хочу добавить ещё один. Удачи !
За это сообщение автора serghei поблагодарил:
batihor (Чт май 25, 2017 7:39 pm)
Рейтинг: 1.16%
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Подключение железа к AMS

Сообщение serghei » Ср июл 05, 2017 12:11 am

Сегодня наконец то получилось прикрутить DHT11 к ESP 32.
СпойлерПоказать

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

AMS for ESP32 SD started...
Module Random... started
Module EEPROM (NVS)...
 Name:    ESP32 SD
 ID:      CZN9A-M6HCZ-T35RP
 Address: 186
===========
Module Hardware...
 Arduino IDE:   1.6.5
 SDK version:   v2.0-rc1-803-g1e0710f1
 Chip revision: 0
 Chip ID:       0CE903A4AE30
 CPU freq:      240 MHz
 Free memory:   205980 (72%)
 Flash mode:    2
 Flash speed:   80 MHz
 Flash size:    4194304
 Self temp:     37.8 C
===========
Module Wi-Fi...
 Connecting to mega ..
 WiFi:       connected
 IP address: 192.168.2.70
===========
Module SD...
 Init:  OK
 Type:  SDHC
 Size:  30255 MB
 Check: ..................
 Files: 180
 Total: 19329723 B
 Empty: 3
 Index: found
===========
Module NTP...
 Server: 129.6.15.30
 Port:   123
===========
Module Time...
 Provider:    network
 NTP request: OK
===========
2017-07-04 23:25:36 Module Server... started
2017-07-04 23:25:36 Module Upload... started
2017-07-04 23:25:36 Module Send... started
2017-07-04 23:25:36 Module Contacts... started
2017-07-04 23:25:36 Module PIR... started
2017-07-04 23:25:36 Module LED... started
2017-07-04 23:25:36 Module Keys... started
2017-07-04 23:25:36 Module Robotdyn... started
2017-07-04 23:25:36 Module DHT... started
GLOBAL Init DONE (18s)

AMS WORK
2017-07-04 23:25:36 : 134320 (47%) 134320
?esp=1
due=1
?esp=1
Humidity: 45.00 %     Temperature: 22.00 *C 71.60 *F     Heat index: 21.43 *C 70.57 *FHumidity: 45.00 %     Temperature: 22.00 *C 71.60 *F     Heat index: 21.43 *C 70.57 *F
?esp=1
?esp=1
Humidity: 45.00 %     Temperature: 22.00 *C 71.60 *F     Heat index: 21.43 *C 70.57 *FHumidity: 45.00 %     Temperature: 22.00 *C 71.60 *F     Heat index: 21.43 *C 70.57 *F
?esp=1
?esp=1
Пока вывод значений только в сериал-порт. С Ажаксом буду разбираться позже. Главная проблема при запуске - найти нужные библиотеки. Оригинал статьи нашел ТУТ . Только пришлось опять вставить в библиотеку дополнительный файлик. Подправленная библиотека
DHT.rar
Библиотека
(14.64 КБ) 175 скачиваний
Код для ESP32 ( просто добавить вкладку )
DHT_AMS_ESP32.rar
Код
(1.09 КБ) 177 скачиваний
Ну и не забываем добавить в Setup и Loop
СпойлерПоказать

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

#define FEATURE_DHT

byte moduleDHT = NOT_COMPILLED;

  #ifdef FEATURE_DHT
    initDHT();
  #endif

    #ifdef FEATURE_DHT
      workDHT();
    #endif
Чтобы выкатить готовую сборку , сначала надо вывести в Веб значения. Ну и подумать как прикрутить еще парочку градусников. Аналогия с далласами чего то не прокатила.

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

//char objSens[MAX_TEMP_SENSORS] = {"tempSTR"};             
PS. Чтобы вывести любое число из скетча на Dash-panel в сервер-ажакс добавляем код
СпойлерПоказать
/* Dash
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

void responseDash(WiFiClient cl) {
String s = tagXmlVersion();
s += "\n<inputs>\n";
s += makeModules();
s += makeTag("auth", "", String(authMode));
s += makeTag("uptime", "", uptimeString());
s += makeTag("freeRAM", "", String(freeMem()));
s += makeCpuLoad();
s += makeTag("lifer", "", String(lifer));
s += makeTime();
s += makeTag("day", "", String(day()));
s += makeTag("month", "", String(month()));
s += makeTag("weekday", "", String(weekday()));



s += makeTag("sdSize", "", makeSdSize());


s += makeTag("selfTemp", "", String(selfTemp(), 1));

s += makeTag("humDHT", "", String(dht.readHumidity(), 1)); // придумываем название и вставляем реальную переменную влажности

s += makeTag("tempDHT", "", String(dht.readTemperature(), 1)) // Тоже самое для температуры;
Затем в файле script.js добавляем
СпойлерПоказать
// Temperature
try {
var tempSTR = this.responseXML.getElementsByTagName('tempSTR')[0].childNodes[0].nodeValue;
} catch (err) {
tempSTR = "0";
}


try {
var selfTemp = this.responseXML.getElementsByTagName('selfTemp')[0].childNodes[0].nodeValue;
} catch (err) {
selfTemp = "2";
}

try {
var selfTemp_ = Math.round(selfTemp, 1);
document.getElementById("temp-srv").innerHTML = selfTemp_ + "°";
document.getElementById("temp-srv-hide").innerHTML = selfTemp_ + "°";
} catch (err) { }

// Humidity DHT


try {
var humDht = this.responseXML.getElementsByTagName('humDHT')[0].childNodes[0].nodeValue;
} catch (err) {
humDht = "3";
}

try {
var humDht_ = Math.round(humDht, 1);
document.getElementById("hum-srv").innerHTML = humDht_ + "%";
document.getElementById("hum-srv-hide").innerHTML = humDht_ + "%";
} catch (err) { }


// Temperature DHT


try {
var tempDht = this.responseXML.getElementsByTagName('tempDHT')[0].childNodes[0].nodeValue;
} catch (err) {
tempDht = "4";
}

try {
var tempDht_ = Math.round(tempDht, 1);
document.getElementById("t-srv").innerHTML = tempDht_ + "°";
document.getElementById("t-srv-hide").innerHTML = tempDht_ + "°";
} catch (err) { }
Ну и в конце в файле dash.htm вставляем
СпойлерПоказать
<div class="cell-2-fixed">
<div class="box-dash" title="Важные параметры">
<p>Температура: <span class="value" id="t-srv">...</span> C</p>// посадочное место температуры
<p>Влажность: <span class="value" id="hum-srv">...</span> H</p>// то же для влажности

<p>Сервер: <span class="value" id="temp-srv">...</span> C</p>
<p>Мощность: <span class="value" id="dash-power">...</span> Вт</p>
</div>
</div>
<div class="cell-2-fixed">
В результате получим картинку
СпойлерПоказать
Dash_ESP32.jpg
Dash_ESP32.jpg (88.25 КБ) 5925 просмотров
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Подключение железа к AMS

Сообщение serghei » Ср авг 30, 2017 11:49 pm

Вариантов подключения датчиков DHT к МЕГЕ в сети великое множество , но они не подходят для DUE. Сегодня удалось прикрутить DHT11. Это заготовка , так как нет вывода в МД , но тем не менее работает. Интересно сравнить показания с Далласами. Разница десятые доли градуса. Для этого можно воспользоваться страницей " graf.htm" с модулем Chart.
DHT_DUE.rar
(1012 байт) 195 скачиваний
Надо еще подумать что добавить для нескольких датчиков.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Подключение железа к AMS

Сообщение serghei » Чт сен 28, 2017 12:00 am

По быстрому подключил датчик BME280 к DUE. Меряет температуру , влажность и давление. Работает на шине I2C.
СпойлерПоказать
BME_280.jpg
Датчик
BME_280.jpg (97.88 КБ) 5394 просмотра
Код
rbme.rar
(703 байт) 191 скачивание
Заметил первые проблемы - разница в показаниях влажности с DHT11 около 5 %. Также на форуме упоминалась проблема рассинхронизации времени отображения на графиках HiCharts. Сейчас с этим столкнулся.
СпойлерПоказать
Две влажности.jpg
Две влажности.jpg (86.15 КБ) 5394 просмотра
Заодно размножил вывод до 9 графиков на странице /graf.htm .
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Re: Подключение железа к AMS

Сообщение ser009 » Чт сен 28, 2017 5:21 am

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

Re: Подключение железа к AMS

Сообщение serghei » Чт сен 28, 2017 8:05 am

Погрешность понятно. Датчик сам по себе очень интересный. В библиотеке есть куча настроек для всех трех параметров , вплоть до измерения высоты над уровнем моря (?!). И не понятно пока какую влажность меряет - абсолютную или относительную. Подключил по - быстрому и пример взял из другого проекта.
Глубоко не ковырялся. Надо добавить еще вывод в браузер...
...А заодно посмотрю на какую длину можно отдалить от контроллера.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
yulinn
Сообщения: 9
Зарегистрирован: Пт май 08, 2015 11:36 am
Благодарил (а): 1 раз
Поблагодарили: 2 раза

Re: Подключение железа к AMS

Сообщение yulinn » Вс дек 03, 2017 12:42 pm

В теме "Re: Подключение железа к AMS" я написал, как подключал 7` дисплей Sainsmart к AMS. Выкладываю фото окончательного решения.
Корпус распечатал на 3D принтере.
Вложения
20171203_114500.jpg
20171203_114500.jpg (169.16 КБ) 4971 просмотр
20171203_114444.jpg
20171203_114444.jpg (172.75 КБ) 4971 просмотр
20171203_114419.jpg
20171203_114419.jpg (121.51 КБ) 4971 просмотр
За это сообщение автора yulinn поблагодарили (всего 2):
serghei (Вс дек 03, 2017 12:53 pm) • kalina (Вс дек 03, 2017 5:20 pm)
Рейтинг: 2.33%
Ответить