Предлагаю рассмотреть возможность включить отработку Netaction для входа типа iB при прописанном и доступном сервере в том случае, если стоит отметка напротив поля Act, т.е. когда контроллер не ждёт решения сервера, а действует самостоятельно, разумеется, только если ключ совпадает со значением в закладке "iB Keys".Andrey_B писал(а): ↑12 фев 2018, 16:05Если сервер не прописан, Net вызывается только тогда, когда ключ прописан в закладке iB Keys. Это, вроде бы, логично.
Но если сервер прописан, то по идее именно он должен определять, корректный ключ или нет, иначе получится, что сервер решит не пускать, а Net сработает и пустит...
Вот, почему работа функции Net заблокирована для iB в случае, если используется сервер.
Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
У тех, кто использует Linux и не боится командной строки, обычно проблем не возникает.
Поэтому скрипт-обертка не слишком облегчит жизнь тем, у кого есть трудности в установке PHP на Windows.
Пользователи учатся и в конечном итоге все получается со скриптом, но поначалу это вызывает сложности.
Тут была однажды попытка написать графическое приложение для Windows, которое должно было уметь все, но в процессе отладки уже более-менее работающей программы человек неожиданно пропал. Жаль.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
hawkeye, как-то уж слишком мудрено получается. Может быть, сделать обработку Net по записанным ключам независимо от мнения сервера?
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Немного поразбирался. Что-то не понимаю где есть косяк. Смысл в том, что не могу с 2 шт. MH-Z14A, лежащих рядом но подключенных к разным АЦП (P36 на MegaD и 0 канал на ADS1115) получить одинаковые показания. Шина 3.3В в MegaD имеет напряжение 3485мВ, соответственно все показания АЦП MegaD умножаю на коэффициент 3.4 (3485/1024). ADS1115 подключен к той же шине, значит коэффициент должен быть 0,106 (3485/32767). ОК, но показания получаются следующими:
Код: Выделить всё
Обработка данных с порта MegaD (коэффициент 3.4):
13.02.2018 21:55:45 run script: val=238 depo={ res: [ 239, 236, 236, 235 ] }
13.02.2018 21:55:45 script return:{ val: 1265.625, reqsek: 300 } depo={ res: [] }
13.02.2018 21:55:45 Address 36. Shift request interval: 300 sek.
13.02.2018 21:55:45 MG3?36=1265.625&
Обработка данных с порта ADS1115 (коэффициент 0.106):
13.02.2018 21:55:45 run script: val=12355 depo={ res: [ 12481, 12480, 12446, 12461 ] }
13.02.2018 21:55:45 script return:{ val: 2878.125, reqsek: 300 } depo={ res: [] }
13.02.2018 21:55:45 Address 37. Shift request interval: 300 sek.
13.02.2018 21:55:45 MG3?37=2878.125&
На порте 0 ADS1115 - выход MH-Z14A (показания на данный момент 12400-12500 у.е.)
На порте 1 ADS1115 - GND (показания 4294967258 - почему???)
На порте 2 ADS1115 - Vdd (показания 32767 - 15bit-1)
Вопросы:
1. Что где не так?
2. Подключение к MegaD ADS1115 - это по сути замена "шила на мыло", поскольку внутри у нее нет ИОН с каким-то стандартным номиналом напряжения? Либо надо питать ADS1115 настоящим ИОН...
PS: коллеги! Неужели больше никому не нужна поддержка АЦП ADS1115 со стороны MegaD??? Кто-нибудь этой возможностью уже воспользовался?
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Счастье в виде новой фичи в прошивке прилетело неожиданно.
Заказал ADS1115. Посылка все еще летит из Китая.
Но мне нужно было для датчиков влажности в почву, так что, мне точность не особо критична.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Ну так оно раньше же и было - netact выполнялся всегда. В таком случае действительно некий конфликт возможен.
Предлагаю проще - всего навсего выставляется только одна галка - или act или netact, но не одновременно - в таком случае - всё как обычно:
- сервера нет, галки стоят как угодно - как обычно выполняется act и netact
- сервер есть, галка netact - установлена, act - снята - как обычно выполняется команда сервера, не выполняются act и netact
- сервер есть, галка netact - снята, act - установлена - контроллер выполняет act и netact сам, команда сервера игнорируется
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Может проще к одному контроллеру и считыватель и замок повесить и пользоваться ACT?
Вот как-то слабо представляется ситуация, когда замок находится не в зоне видимости от считывателя (т.е. есть необходимость подключать это оборудование к разным удаленным друг от друга контроллерам).
Конечно всякую экзотику можно придумать, но для этого есть сервер.
Вот как-то слабо представляется ситуация, когда замок находится не в зоне видимости от считывателя (т.е. есть необходимость подключать это оборудование к разным удаленным друг от друга контроллерам).
Конечно всякую экзотику можно придумать, но для этого есть сервер.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
У меня act открывает замок, netact вкл. лампочку. Соответственно контроллеров два, на одном по большей части освещение и кнопки, на втором силовые цепи, замок, подогрев полов, датчики. Изначально делалось, чтобы функция контроллера замка никак не зависела от сервера.
Я просто привык уже) а тут бах.. и оно стало работать иначе. В принципе жить можно, лампочку и сервер можно научить зажигать. Тут скорее у меня берёт верх уже некий перфекционизм и желание некой законченности, простоты и логичности.
Я просто привык уже) а тут бах.. и оно стало работать иначе. В принципе жить можно, лампочку и сервер можно научить зажигать. Тут скорее у меня берёт верх уже некий перфекционизм и желание некой законченности, простоты и логичности.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Смотря что считать событием на входе.
Для обычного входа, это замыкание\размыкание.
Для IB, мне кажется, что логично считать, что это не любой сигнал со считывателя, а событие положительной верификации кода карты.
Если карта прошла проверку, то отрабатывают ACT и NET с аналогичной обычному входу логикой.
Если карта не прошла проверку, то ACT и NET не исполняются.
Если прописан сервер, то отправляем на него всю поступающую со считывателя информацию, пусть он сам принимает решение.
Если пользователь напорол с логикой между действиями сервера и контроллера, это его проблемы Это можно легко сделать и с обычными входами с ACT с галкой.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Ну, одинаковые значения получить, вероятно, и не получится.
По умолчанию в ADS1115 включен gain 2x (+-2.048V).
Для нашего устройства с точки зрения универсальности это, наверное, неправильно. Правильнее будет gain 1x (+-4.096V)
Вот, попробуйте.
https://ab-log.ru/files/File/megad-2561 ... a2-hex.zip
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
А почему нет? Принцип оцифровки вроде один:) Я, честно, первый раз вижу такой "неконкретный" даташит - написан не профессионалами. Примеров расчета входного напряжения нет...как вообще этим АЦП Ардуинщики пользуются?
Вот в данном случае Ку я понимаю что это такое, а вот уровни +-4.096В - это максимальная амплитуда, которая "растягивается на 16 бит? При максимальном напряжении питания АЦП +3.6В....вот тут у меня диссонанс...
Если делаете gain=1, и используем монополярные входы, то получаем что теперь амплитуда +4.096В "растягивается" на 15 бит?
Если я теперь правильно все понимаю, то даже с gain=2 коэффициент для расчета напряжения равен 2.048/32767=0.0625. При моих "входных" показания АЦП получаем ~779мВ, соответствует 1184ppm - довольно близко к 1265ppm, соответствующим показаниям с MegaD. Правда разброс все равно значительный, поскольку с АЦП MegaD разница между двумя датчиками была небольшой - 10-20 ppm!
И главное, теперь могу ответить на свой 2-й вопрос! В ADS1115 действительно есть свой опорный ИОН, поэтому коэффициент перерасчета значений АЦП в напряжение не привязан к питающему напряжению, а привязан косвенно к gain и прямо к максимальной амплитуде входных напряжений АЦП при соответствующем значении gain.
PS: сейчас в системе применил новый коэффициент 0.0625 для gain=2, посмотрю поведение кривых СО2 . Единственное что сейчас вижу по кривым и что замечал при запросе показаний АЦП через браузер - значения АЦП как-то периодически скачут. Чуть позже прикреплю к этому посту графики.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
https://ab-log.ru/files/File/megad-2561 ... a3-hex.zip
- Если ключ (пока только для iB) прописан в iB Keys, то Net выполняется.
- Если ключ (пока только для iB) прописан в iB Keys, то Net выполняется.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
По питанию скорее всего помехи идут, попробуйте на питание прямо на платку с АЦП повесить электролит и маленький керамический конденсатор, должно помочь.
P.S. Почитал документацию на АЦП, там в общем то прямым текстом написано в разделе "10.1.5 Analog Input Filtering", что для уменьшения шумов на входе лучше повесить фильтр в виде обычной RC цепочки, чтобы уменьшить наводки. В стандартной схеме для ардуины RC цепочек на входе нет.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Не зная сути проблемы не надо делать скороспелых предположений. Ниже графики: красный - АЦП MegaD (P36), желтый - АЦП ADS1115. В 09:21 был скорректирован коэффициент пересчета дискретного кода в напряжение. Съем показаний каждые 5 минут (5 измерений через 5 секунд каждое, сортировка, отбрасывание крайних, усреднение средних) - выходит что 2 раза нормальные показания, на третий - брехня. Может быть есть какие-то особенности в запросе показаний? Ну это точно ни помеха по питанию (на всякий случай рядом с платой поставил 1мкФ X7R), ни помеха по входу (вход все же подсоединен к выходу MH-Z14A с низким выходным сопротивлением коротким проводом). Еще добавил: зеленый - временной график значений дискретного кода с канала №1 ADS1115, подключенного непосредственно на шину питания. Остальные каналы подтянуты к GND (прошивка самая последняя), часовой график, период опроса 5 секунд:Burst писал(а): ↑15 фев 2018, 14:18По питанию скорее всего помехи идут, попробуйте на питание прямо на платку с АЦП повесить электролит и маленький керамический конденсатор, должно помочь.
P.S. Почитал документацию на АЦП, там в общем то прямым текстом написано в разделе "10.1.5 Analog Input Filtering", что для уменьшения шумов на входе лучше повесить фильтр в виде обычной RC цепочки, чтобы уменьшить наводки. В стандартной схеме для ардуины RC цепочек на входе нет.
Андрей, если есть возможность, то погоняйте ADS1115 запросами (для построения временного графика) - что она у вас выдает?
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
График относительно ровный. Во всяком случае периодических резких отклонений, которые имеют место у вас, точно нет.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Значит какая-то проблема у меня. Вы используете платку ADS1115 с Ali? Кроме ADS1115 что-нибудь еще подключено к этой же шине I2C? Может опрос других датчиков влияет на АЦП? У меня такой сейчас букет:
Код: Выделить всё
0x46 - BH1750
0x78 - SSD1306
0x80 - HTU21D/PCA9685
0x90 - ADS1115
0x94 - MAX44009
0xee - BMP180
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Может посмотреть, как плата ведет себя на другом датчике с более постоянными значениями на выходе?
Датчик СО2 сам по себе не очень постоянен в своих показаниях.
Ко мне вроде доехали ADS1115. Сегодня заберу с почты, на выходных посмотрю, как себя ведут.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Ради эксперимента, подключите батарейку 1,5V , чтоб точно исключить скачки на шине питания.