• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Помогите создать сценарий

glory24

Member
Вячеслав, какую получили точность девайса и диапазон расстояний?
Судите сами
на расстоянии 30 см.
вот показания с панели управления
1597046770974.png Вот расположение девайса Снимок.JPG

на расстоянии 50 см.
1597047200520.png девайс Снимок.JPG

расстояние 100 см.
1597047658981.png девайс Снимок.JPG


Ну и точность, вероятно, еще зависит от поверхности отражения сигнала. Она у меня не слишком идеальная.
Снимок.JPG
 

nikolz

Well-known member
Вроде как 4 метра.
расстояние зависит от напряжения питания передатчика
В старых модулях использовался умножитель напряжение и расстояние было 6 метров
В новых - 4 метра
Теоретически можно на этом излучателе получить примерно 40 метров
Для этого надо поднять напряжение передатчика до 160 вольт и использовать код Баркера
либо алгоритм Goertzel в приемнике
 

glory24

Member
Теоретически можно на этом излучателе получить примерно 40 метров
Слабо себе представляю расстояние до чего так можно измерять. Там ведь фронт охвата сигналом, при 15 град., получается здоровенный.
1597146442351.png
Для этого надо поднять напряжение передатчика до 160 вольт
Два дня думал как это возможно сделать если ESP8266 оперирует только 3.3 вольтами. То есть, отравляет сигнал 3.3в с одной GPIO и надеется что таки получит в ответ на другой GPIO, не более чем 3.3в
И похоже, что таки придумал :)
Ну в таком случае, может быть устройство можно было бы использовать, как датчик обнаружения движения? :)
 

nikolz

Well-known member
Слабо себе представляю расстояние до чего так можно измерять. Там ведь фронт охвата сигналом, при 15 град., получается здоровенный.
Посмотреть вложение 9734

Два дня думал как это возможно сделать если ESP8266 оперирует только 3.3 вольтами. То есть, отравляет сигнал 3.3в с одной GPIO и надеется что таки получит в ответ на другой GPIO, не более чем 3.3в
И похоже, что таки придумал :)
Ну в таком случае, может быть устройство можно было бы использовать, как датчик обнаружения движения? :)
большое напряжение как правило требуется при сканирование в водной среде (например когда не помнишь что съел, то можно посмотреть сканером) либо где какая рыба водится.
Но прежде, чем подать 160 вольт на пьезоизлучатель посмотрите его паспорт.
Там указано допустимый размах напряжения.
-----------------------
Недавно прочитал про испытания роботов на комбайнах на уборке в Краснодарском крае
Удивился что они не поставили ультразвуковой датчик расстояния и поэтому вынуждены были останавливаться при движении в колонне в пыли.
в этом случае надо метров 10 и более
Поставить лидар им дорого а камера в пыли ничего не видит.
 

glory24

Member
Появилась новая задача: нужно в Телеграм отправлять сообщение об изменении веса улья на 200 г. в большую или меньшую сторону.
Вес измеряем этим устройством.
Измеренный вес выводится в Переменную_1
1601823489985.png
далее эту переменную сравниваем в сценарии Телеграм бота
1601823675169.png
(кстати, прошу проверить на корректность это сравнение)
А далее как интегрировать это сравнение в уже существующий сценарий?
 

glory24

Member
Это резкое изменение или за промежуток времени?
Лучше конечно за промежуток времени. Обычно это начало "взятка", его окончание, но бывает и подкормка осенняя (когда в кормушке заливают сироп). Ну или просто улий стырить могут 😁
 

glory24

Member
Сделал вот такую вставку с логическим модулем, но это мне не слишком помогло :)
1601826881598.png
 

glory24

Member
Это резкое изменение или за промежуток времени?
А ведь вопрос хорош 😁 Я его вчера весь остаток дня думал 😁 Спасибо, Виталий 😊
Это же я тут
1601826881598.png
сравниваю одни и тот же вес, в одно и тоже время, в надежде, что он сам от себя отличаться будет 😁
Видимо нужно сохранить вес в свободную переменную, выждать желаемое время, а потом сравнить его с текущим значением Переменной_1
Теперь нужно выбрать какого устройства переменные использовать для этой цели: переменные "Контроллера улья", или Телеграм Бота.
Есть по этому поводу мысли у кого-то? :)
 

antenna-krsk

Active member
Нужен счетчик и завязывание на таймер . Меня семья поглотила, как освобожусь, попробую что нибудь слепить
 

PeterPK

Active member
Посмотреть вложение 9933
(кстати, прошу проверить на корректность это сравнение)
Гхм. Переменная_1 всегда больше чем "Переменная_1 - 0.2".
Так некорректно сравнивать.

Во-первых как справедливо указали нужно сравнивать через какое-то время.
Например каждые 10 минут, или раз в сутки.
Как быстро может меняться вес улья?

Во-вторых может быть правильным сравнивать средний вес за какое-то время, а не мгновенный. Может разом вернуться 100-200 пчел и резко увеличить вес улья?

Например, я слежу за температурой в доме.
Но она может некорректно меняться.
Сам датчик температуры шумит.
Кто-то открыл форточку и в комнате резко похолодало.
На плите стали готовить обед все 4 комфорки - резко пошло тепло.
Мне не нужно чтобы котел панически реагировал на любые изменения и клапан постоянно крутился бы туда сюда, к тому же это может привести к раскачке температуры в доме.
Я считаю среднюю температуру за 10 минут и сравниваю полученное значение с предыдущим (или заданным).
Avrg.png

Я 10 минут суммирую температуру в TSumm, а когда счетчик достигает 600, делю сумму на 600 и получаю среднее.

И программа потом делает какие-то действия на основе сравнения TOldCurrent, TCurrent и целевой температуры.

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

glory24

Member
Нужен счетчик и завязывание на таймер
Так и есть :)
Как быстро может меняться вес улья?
Сейчас может меняться в случае осенней подкормки, То есть раз в сутки (и ли раз в двое суток), обычно вечером, в кормушку заливается сахарный сироп (примерно 2-4 кг., в зависимости от размера кормушки). Или как я уже писал могут просто стырить улей. И в том и другом случае - это практически мгновенное изменение веса. Правда контроллер на него реагирует достаточно медленно примерно так
1601914215472.png
то есть вес стабилизируется примерно в течении минуты.
Во-первых как справедливо указали нужно сравнивать через какое-то время.
Например каждые 10 минут, или раз в сутки.
Раз в сутки станет актуальным следующим летом в период "Главного взятка" - это тогда когда пчелы приносят в день по нескольку кг. нектара. Тогда станет актуальным измерение веса утром и вечером, вычисление разницы и отправки результата расчета в Телеграм. Но это все уже в следующем году.
А сейчас Валера решил эту задачу вот так
Безымянный.png
Все как Вы и описывали, завел три переменные и счетчик.
Всем спасибо за проявленное участие :)
Сообщение в Телеграм выглядит так
1601916342935.png
 

antenna-krsk

Active member
Так и есть :)

Сейчас может меняться в случае осенней подкормки, То есть раз в сутки (и ли раз в двое суток), обычно вечером, в кормушку заливается сахарный сироп (примерно 2-4 кг., в зависимости от размера кормушки). Или как я уже писал могут просто стырить улей. И в том и другом случае - это практически мгновенное изменение веса. Правда контроллер на него реагирует достаточно медленно примерно так
Посмотреть вложение 9940
то есть вес стабилизируется примерно в течении минуты.

Раз в сутки станет актуальным следующим летом в период "Главного взятка" - это тогда когда пчелы приносят в день по нескольку кг. нектара. Тогда станет актуальным измерение веса утром и вечером, вычисление разницы и отправки результата расчета в Телеграм. Но это все уже в следующем году.
А сейчас Валера решил эту задачу вот так
Посмотреть вложение 9941
Все как Вы и описывали, завел три переменные и счетчик.
Всем спасибо за проявленное участие :)
Сообщение в Телеграм выглядит так
Посмотреть вложение 9942
Пара моментов:
1. После сообщения бот встанет в ступор на 60 секунд и в течение их ничего проверять и делать не будет.
2. В сообщении информативно видеть насколько изменился вес улья или прежнее состояние
 

glory24

Member
1. После сообщения бот встанет в ступор на 60 секунд и в течение их ничего проверять и делать не будет.
Да. Это сделано умышленно, иначе бот отправляет несколько сообщений на одно событие, так как вес стабилизируется в течении примерно 40 сек.
2. В сообщении информативно видеть насколько изменился вес улья или прежнее состояние
Совершенно согласны с этим. Но уже довольны, что хот это сообщение отправляет. :) Большего пока не нужно. "Весы" живут под учебным ульем в сельскохозяйственной академии. На них из соседних кафедр ходят смотреть как на экскурсию :)

Снимок.JPG
Его панель
 

antenna-krsk

Active member
Совершенно согласны с этим. Но уже довольны, что хот это сообщение отправляет. :) Большего пока не нужно. "Весы" живут под учебным ульем в сельскохозяйственной академии. На них из соседних кафедр ходят смотреть как на экскурсию :)
А ветер?
 

glory24

Member
Снова нужна помощь в редактировании сценария.
Дано:
Устройство, которое управляет газовым котлом.
Одной из задач устройства - включать реле при понижении температуры на Датчике_1 (Столовая) ниже температуры 5 град. С ( в режиме "Антифриз")
1602674983366.png
И как видно по состоянию реле, которое в данный момент выключено, устройство с этой задачей справляется.
1602675239632.png
Сценарий обеспечивающий такую работу устройства, выглядит так
1602675497424.png
Для Параметра_1 выбрано его 3-е состояние (Антифриз), для этого состояния сравниваем текущую температуру на Датчике_1 (18,1 град.) сравниваем с Параметром_1 (5 град.) и в результате поддерживаем реле в выключенном стоянии.
Все тоже самое получаем, если вместо Датчика_1 подставим Датчик_3
1602676090156.png
1602676158169.png
Реле по-прежнему выключено. И это хорошо.
А вот если попробуем заставить устройство сравнивать температуру сразу с обоих датчиков с заданным Параметром_1 (5 град),
1602676625803.png
то несмотря на то что на Датчике_1 (18,0 град.) на Датчике_2 (18,6 град.), то есть значительно больше чем 5 град., устройство упорно включает реле. :confused:
1602676764128.png
Как исправить сценарий таким образом, что бы управление устройством осуществлялось по обоим датчикам?
 
Сверху Снизу