Adminhs пишет:
На электросчетчиках указано что типа 6400 импульсов - это один квт, вот эту цифру надо вводить в это поле и будет соответсвовать киловатам. По крайней мере так задумывал
Идея хорошая, но сейчас уже некоректный алгоритм заложен. По умолчанию стоит множитель 1000, а должен быть 1. Т.к. чтобы конвертиировать импульсы в киловаты надо 1000 умножить на 6400, а максимальное занчение в этом поле кажется ~55000.
Предложение:
1. Сделать множитель по умолчанию равный единице. И считать импульсы как есть.
Т.к. если сейчас поставить множитель 100, вместо 1000, то кол-во импульсов будет умножено на 10. А чтобы получить киловаты, так вообще надо устанавливать множитель 6 400 000 (при 1кВт = 6400 имп).
2. Добавить режим обнуления переменной счетчика, при отправке значения на сервер.
Объясню почему: Лучше потерять пакет (в случае недоставки пакета серверу) от ESP за N-минут, чем городить огород со сравнением значений на стороне сервера, ведь модуль может отключиться больше одного раза за короткий промежуток времени (перепады напряжения и прочие катаклизмы).
И со стороны сервера все просто, накопительная переменная, которую к тому же очень просто корректировать в случае потери нескольких пакетов.
3. И интерфес вот такой можно сделать:
<html><body>
<div class="blockk"><form method="GET"><b>Counter/alarm input at the GPIO 1</b>
<br><input type="radio" name="inten" value="0" checked="checked">Disable.
<br><input type="radio" name="inten" value="1" >Counter. Divisor: <INPUT size=5 NAME='del' value="1">
<br><input type="radio" name="inten" value="2" >Resettable counter. Divisor: <INPUT size=5 NAME='del' value="1">
<br><input type="radio" name="inten" value="3" >Alarm input.
</form></div></body></html>
Хотелось бы помочь вам в развитии проекта, но в силу того что код закрытый, пока могу делать только предложения