А саму схему сенсора расхода воды как можно увидеть ?serghei писал(а):Продолжаем подключать оборудование к сенсору для измерения расхода воды. Использую датчик YF-S201.
Промежуточный результат на АМС на картинке.
.
Подключение железа к AMS
Модератор: Alex
-
- Сообщения: 230
- Зарегистрирован: Чт фев 12, 2015 2:34 pm
- Благодарил (а): 36 раз
- Поблагодарили: 6 раз
Re: Подключение железа к AMS
server i5, OS-Ubuntu Server 16., 1-wire
php 7, AMS,broadlink rm2,rm3 mini.
php 7, AMS,broadlink rm2,rm3 mini.
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: Подключение железа к AMS
В смысле как подключить датчик к сенсору? Я использую NANO 3 и датчик на фото. У него 3 вывода . Черный на корпус (0),
красный на +5 вольт , желтый на D3 (в скетче написано). Внутри счетчика стоит датчик холла и всё. Не проверял работу на 3.3
вольта. Судя по паспорту работает до 24 вольт.
Пара замечаний. При хорошем напоре воды гремит как паровоз))). Скорости считать хватает. В интернете гуляет стандартный скетч под него. ( По запросу " расход воды на ардуино" ) Его не использовал , потому что меня интересует количество литров,
а не расход литров в минуту. Хотя памяти остается и для зтого. Сейчас вырезал из скетча измерение температуры и пробую
прикрутить второй счетчик воды. Пока не могу написать процедуру передачи данных от сенсора к АМС так,чтобы передача литров была только при изменении на 1 литр ,ну и по запросу базы. Изучаю протокол для подключения второго и третьего сенсора.
красный на +5 вольт , желтый на D3 (в скетче написано). Внутри счетчика стоит датчик холла и всё. Не проверял работу на 3.3
вольта. Судя по паспорту работает до 24 вольт.
Пара замечаний. При хорошем напоре воды гремит как паровоз))). Скорости считать хватает. В интернете гуляет стандартный скетч под него. ( По запросу " расход воды на ардуино" ) Его не использовал , потому что меня интересует количество литров,
а не расход литров в минуту. Хотя памяти остается и для зтого. Сейчас вырезал из скетча измерение температуры и пробую
прикрутить второй счетчик воды. Пока не могу написать процедуру передачи данных от сенсора к АМС так,чтобы передача литров была только при изменении на 1 литр ,ну и по запросу базы. Изучаю протокол для подключения второго и третьего сенсора.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: Подключение железа к AMS
Да, еще одно замечание. Залил скетч в другую NANO 3 и заметил,что не правильно передается имя сенсора. Вместо названия в сериале русские Я и на веб странице ??????????? . Вылечилось прописыванием нулей в EEPROM из стандартных примеров.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 230
- Зарегистрирован: Чт фев 12, 2015 2:34 pm
- Благодарил (а): 36 раз
- Поблагодарили: 6 раз
Re: Подключение железа к AMS
Меня интересует сенсор, каким образом АМС контактирует с сенсором?
какой скетч у сенсора?
какой скетч у сенсора?
server i5, OS-Ubuntu Server 16., 1-wire
php 7, AMS,broadlink rm2,rm3 mini.
php 7, AMS,broadlink rm2,rm3 mini.
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: Подключение железа к AMS
По терменологии, сложившейся на форуме под сенсором понимается некое устройство ,передающее данные на АМС_015 с помощью радио модулей NRF24. По дефакту используется ардуино про мини + nrf24. Протокол и принцип работы расписаны на официальном сайте АМС http://hi-lab.ru/arduino-mega-server/do ... less/nrf24 . Я использую ардуино nano3. скачиваем правильный скетч для сенсора и видим вкладку yfs201. Каждая строчка подробно прокомментирована.
Нас интересует переменная vol1 , это значение литров. В остальных вкладках написана процедура передачи этого числа на АМС.
На стороне МегаСервера происходит прием числа литров и вывод на полноэкранное демо. Для этого на карту SD надо добавить два файла FULL5.JS и FULL5.HTM и внести изменения в файл SCRIPT.JS. Там же в файлах FULL4 выведен датчик температуры с сенсора. Если не хотите использовать связь по радио, можно вкладку yfs201 вставить непосредственно в АМС. Но такой вариант я не проверял.Надо уточнить сколько прерываний и на каких выводах у МЕГИ .
На стороне АМС надо дописать код для литров по образу и подобию температуры
Код не доделан ,но все работает на АМС_015 для Дуи. На МЕГЕ не проверял,но думаю все аналогично будет
Нас интересует переменная vol1 , это значение литров. В остальных вкладках написана процедура передачи этого числа на АМС.
На стороне МегаСервера происходит прием числа литров и вывод на полноэкранное демо. Для этого на карту SD надо добавить два файла FULL5.JS и FULL5.HTM и внести изменения в файл SCRIPT.JS. Там же в файлах FULL4 выведен датчик температуры с сенсора. Если не хотите использовать связь по радио, можно вкладку yfs201 вставить непосредственно в АМС. Но такой вариант я не проверял.Надо уточнить сколько прерываний и на каких выводах у МЕГИ .
СпойлерПоказать
Код: Выделить всё
/*
YF-S201 Hall Effect Water Flow Meter / Sensor
http://www.hobbytronics.co.uk/yf-s201-water-flow-meter
Read Water Flow Meter and output reading in litres/hour
Тупо регистрируем замыкания контактов
*/
#ifdef YFS201_FEATURE
int pin = 3; // 3-й цифровой пин, первое прерывание
long counter = 0; // счётчик импульсов
void yfs201Init()
{
// Настраиваем последовательный интерфейс, для вывода информации
Serial.begin(9600);
//Настраиваем цифровой вход
pinMode(pin, INPUT); // Сюда будем подключать подтягивающий резюк
digitalWrite(pin, HIGH); // "Подключаем" подтягивающий резистор (реализован внутри ATmega)
attachInterrupt(1, count, FALLING); // задаём обработчик прерывания 1 (3-й пин).
// прерывание будет при изменении уровня с HIGHT на LOW
// вызывать функицю count
}
void yfs201Works ()
{
// основной рабочий цикл
vol1 = (counter / 430); //430 оборотов на литр
/*
#ifdef YFS201_FEATURE
if (vol1NeedSend) {
sendPacket(DTA_VOL_1);
}
#endif
*/
checkTemp();
#ifdef SERIAL_PRINT
Serial.print(F("Volume: "));// вывод литров . Надо дописать условие - выволить при изменении на 1 литр
Serial.println(vol1);
Serial.print(F("V: ")); // для проверки работы счетчика
Serial.println(counter);
#endif
}
void count(){
// вызывается прерыванием 1 от 3-го цифрового входа
counter++; // ясен перец, увеличиваем переменную. Утекло ещё 2 грамма
}
#endif
СпойлерПоказать
Код: Выделить всё
#ifdef NRF24_FEATURE
// commands
byte const GET_NAME = 1;
byte const DTA_NAME = 2;
byte const SET_NAME = 3;
byte const GET_ADDR = 4;
byte const DTA_ADDR = 5;
byte const SET_ADDR = 6;
byte const GET_FREE_MEM = 7;
byte const DTA_FREE_MEM = 8;
byte const GET_BATTERY = 9;
byte const DTA_BATTERY = 10;
byte const GET_SELF_TEMP = 11;
byte const DTA_SELF_TEMP = 12;
byte const GET_TEMP_1 = 13;
byte const DTA_TEMP_1 = 14;
//byte const GET_TEMP_2 = 17;
// byte const DTA_TEMP_2 = 18;
byte const GET_HEALTH = 15;
byte const DTA_HEALTH = 16;
byte const GET_VOL_1 = 19;
byte const DTA_VOL_1 = 20;
byte const GET_ID = 100;
byte const DTA_ID = 101;
byte const SET_ID = 102;
byte const GEN_ID = 103;
byte const BAK_ECHO = 200;
// sender structure
typedef struct Sender {
boolean active = false;
boolean required = true;
boolean success = false;
byte type = 0;
byte command = 0;
byte number = 0;
byte tryouts = 0;
int errors = 0;
String result = "";
unsigned long timer = millis();
} sender;
sender sendEcho,
sendGetName, sendGetId, sendGetAddress,
sendGetFreeMem, sendGetBattery, sendGetSelfTemp,
sendGetHealth,sendGetTemp1,sendGetVol1;// передача объема воды
// sendGetTemp2;
- Рейтинг: 1.16%
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 60
- Зарегистрирован: Чт мар 19, 2015 10:27 pm
- Благодарил (а): 8 раз
- Поблагодарили: 22 раза
Re: Подключение железа к AMS
Убил сегодня уйму времени, безуспешно пытаясь подключить DS18B20 к Webmos D1 mini с AMS на борту. Не видела она этот сенсор и все тут, а разгадка была в том, что маркировка пинов в IDE и на плате различается, т.е. порт D2 соответствует GPIO 4 и.т.п.
Ясность внесла эта картинка: https://raw.githubusercontent.com/nodem ... PINMAP.png
Может где-то эта информация уже размещена, но на глаза мне не попадалась...
Датчик был подключен к порту D2, как только прописал ONE_WIRE_BUS 4, все сразу нашлось и заработало.
Ясность внесла эта картинка: https://raw.githubusercontent.com/nodem ... PINMAP.png
Может где-то эта информация уже размещена, но на глаза мне не попадалась...
Датчик был подключен к порту D2, как только прописал ONE_WIRE_BUS 4, все сразу нашлось и заработало.
- Вложения
-
- NODEMCU_DEVKIT_V1.0_PINMAP.png (71.87 КБ) 10506 просмотров
- Рейтинг: 1.16%
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: Подключение железа к AMS
Я пробовал тот-же вариант и заметил ,что если надо активировать какой нибудь дополнительный протокол (например I2C) , происходит конфликт выводов и далласы надо включать на других пинах с заменой пина в скетче
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Подключение железа к AMS
История одной самоделки))
На самом деле получилось не сильно аккуратно, но работает вполне неплохо))
Вот такой конечный вид: Хронология создания под спойлером...думаю описывать здесь что-то - излишне))Всё на фото
Единственный коммент - нужно выдерживать расстояние до пайки на плате с реле...там как никак 220v, если замкнет - не есть хорошо. Для этой цели приспособил куски корпуса шариковой ручки)) благо на работе много пустых валяется))) не знаю на кой они там, но помогли)).
Управляется по витой паре...т.к. у платы реле всего 6 контактов - остаётся пару свободных проводов. Один использовал под DHT-22, второй пока свободный. Планировал использовать под физические выключатели (на аналоговый вход), но пока не подключал.
Скетч на подключение платы немного косячный... Заабыл выходы в OUTPUT переключить...а без этого напряжения не хватает на перещелкивание реле. В самом AMS прикрутил вот такой интерфейс (по аналогии с кнопками noolite): PS: Пленка, как выяснилось, очень херово клеется к фанере, и по-моему смотрится не очень...скорее всего буду отдирать, шкурить, шпатлевать и красить...
PPS: В общем как то так...сильно не судите))...вдруг кому сама идея пригодится...а сделать можно и по-аккуратнее).
На самом деле получилось не сильно аккуратно, но работает вполне неплохо))
Вот такой конечный вид: Хронология создания под спойлером...думаю описывать здесь что-то - излишне))Всё на фото
ФотоПоказать
Управляется по витой паре...т.к. у платы реле всего 6 контактов - остаётся пару свободных проводов. Один использовал под DHT-22, второй пока свободный. Планировал использовать под физические выключатели (на аналоговый вход), но пока не подключал.
Скетч на подключение платы немного косячный... Заабыл выходы в OUTPUT переключить...а без этого напряжения не хватает на перещелкивание реле. В самом AMS прикрутил вот такой интерфейс (по аналогии с кнопками noolite): PS: Пленка, как выяснилось, очень херово клеется к фанере, и по-моему смотрится не очень...скорее всего буду отдирать, шкурить, шпатлевать и красить...
PPS: В общем как то так...сильно не судите))...вдруг кому сама идея пригодится...а сделать можно и по-аккуратнее).
- За это сообщение автора nick7zmail поблагодарили (всего 2):
- serghei (Пт июл 15, 2016 10:34 am) • Alex (Пт июл 15, 2016 6:40 pm)
- Рейтинг: 2.33%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: Подключение железа к AMS
Мне нравится подход — взял и сделал. Молодец! Особенно нравится, что взял не что-нибудь, а АМСPPS: В общем как то так...сильно не судите))...вдруг кому сама идея пригодится...а сделать можно и по-аккуратнее).
-
- Сообщения: 72
- Зарегистрирован: Пт июл 10, 2015 8:44 pm
- Благодарил (а): 9 раз
- Поблагодарили: 7 раз
Re: Подключение железа к AMS
А меня не похвалил. Взял АМС убрал, всё что лишнее и мне не нужное и ... получился FSBowser из примеров.
Debian GNU/Linux 8 (jessie)
Arduino 1.8.5 / esp32 1.0.1
Arduino 1.8.5 / esp32 1.0.1