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

Мониторинг температуры через WEB

serenityLA

New member
А 48 строку вы поменяли? И в районе 18-19 одна строка удалена теперь.
Все, теперь работает! Спасибо еще раз, уже в таком виде могу ее установить ).

Как добавить остальные датчики, я примерно понял.

Оставшиеся непонятные моменты.
Если я к одной ESP подключаю несколько датчиков, как быть в таком случае, я знаю как выводить заставить веб сервер выводить их на страницу(уже делал) ? Ведь в данном виде все работает как 1 esp = 1 датчик.

Каким образом можно из БД автоматически в конце дня выгружать показания ?

zJcSNjLAyOQ.jpg - вроде все работает, но данные в БД не заносятся. При ручном обновлении страницы все работает нормально.
 
Последнее редактирование:

gerkimuyda

New member
Если я к одной ESP подключаю несколько датчиков, как быть в таком случае, я знаю как выводить заставить веб сервер выводить их на страницу(уже делал) ? Ведь в данном виде все работает как 1 esp = 1 датчик.
Тут надо будет переделывать php-скрипт, чтобы он искал другие датчики в ответе. Можно имена датчиков не прописывать в массиве, а получать в ответе (как значение температуры). Тогда каждый модуль будет сам называть свои датчики. Если web-доступ к самим модулям не нужен - тогда проще в ответ делать не html, а json - в которой можно запихнуть массив датчиков и в пхп очень просто разгребать его.

Каким образом можно из БД автоматически в конце дня выгружать показания ?
Куда выгружать? Это вы или отдельно делаете скрипт, или в phpMyAdmin делаете экспорт.

вроде все работает, но данные в БД не заносятся. При ручном обновлении страницы все работает нормально.
Разбирайтесь с параметрами. Там надо еще назначить условия запуска (тригеры) - время, по которому будет срабатывать событие. Проверьте строку запуска из командной строки (cmd.exe).
Ошибки смотрите в файле php_errors.log (директивы [inline]error_log = "/server/home/php_errors.log"[/inline] и [inline]error_reporting = E_ALL[/inline] в файле php.ini )
 
Последнее редактирование:

serenityLA

New member
Разбирайтесь с параметрами. Там надо еще назначить условия запуска (тригеры) - время, по которому будет срабатывать событие. Проверьте строку запуска из командной строки (cmd.exe).
Ошибки смотрите в файле php_errors.log (директивы [inline]error_log = "/server/home/php_errors.log"[/inline] и [inline]error_reporting = E_ALL[/inline] в файле php.ini )
Выдает ошибку

Безымянный.png

Я так понимаю проблема, что php не понимает команду. mysqli вроде установлен, если верить информативной странице MAMP
Безымянный.png

в php.ini он тоже добавлен
40aa7353-21d5-4d1c-8e9b-1698eefd28a9.jpg

в php_error.log нет никакой информации за последние 2 дня

при выводе
phpinfo();
40aa7353-21d5-4d1c-8e9b-1698eefd28a9.jpg
тоже показывает, что mysqli работает
Опять не понимаю логику ошибки :mad:

Если напрямую путь к скрипту в самом php.exe прописывать, то ошибок не выдает, но и ничего не происходит. Скрипт по прежнему работает только вручную из браузера.
 
Последнее редактирование:

gerkimuyda

New member
Я так понимаю проблема, что php не понимает команду. mysqli вроде установлен, если верить информативной странице MAMP
в php.ini он тоже добавлен
Посмотреть вложение 5346
Разбирайтесь со своей средой PHP. У вас под apache другие настройки, чем из командной строки. А в php.ini вы как раз показали, что строка с mysqli ЗАКОМЕНТИРОВАНА!!!
выполните скрипт с phpinfo() из командной строки, а не из браузера.
 

serenityLA

New member
что строка с mysqli ЗАКОМЕНТИРОВАНА!!!
Блин, ну я же не знаю синтаксиса.
Во всех остальных мне известных языках "//" и "/*" являются знаками комментирования.

cmd и апаче используют разные ini файлы, видимо в этом проблема. Только я не знаю какой использует cmd
 
Последнее редактирование:

serenityLA

New member
[inline]d:\server\usr\local\apache2\php.exe phpinfo.php >info.txt[/inline]

Содержимое файла phpinfo.php
PHP:
<?php phpinfo(); ?>
И смотрим потом info.txt

Документация по ПХП: PHP: Установка и настройка - Manual
Ну что я могу сказать. Я полнейший идиот.
Надо было просто php.ini-production переименовать в php.ini
Все заработало
Функцию свою выполняет.
Единственное - в cmd выдает такую ошибку
PHP:
PHP Warning:  PHP Startup: Unable to load dynamic library 'C:\MAMP\bin\php\php7.1.5\ext\php_pdo_mysql.dll' - ═х эрщфхэ єърчрээ√щ ьюфєы№.
Прошу прощения, что задавал Вам такие тупые вопросы.
 

gerkimuyda

New member
Pdo вам не надо, вы его не используете. Хотя тоже не понятна причина. У меня он нормально работает.
 

serenityLA

New member
Pdo вам не надо, вы его не используете. Хотя тоже не понятна причина. У меня он нормально работает.
Кст, как можно в скрипте вывода добавить строчку к каждому выводимому сенсору, чтобы вставить в эту ячейку ссылку на график ?

PHP:
   <tr>
       <td>".$sensor."</td>
       <td>".$row['temperature']."</td>
       <td>".$row['humidity']."</td>
       <td>".$row['formatdatetime']."</td>
   </tr>
В данный контекст, я так понимаю, добавлять нельзя, потому что это цикл заполнения, и любые изменения в этом поле он не воспринимает как html код
 

kab

New member
@serenityLA ,@gerkimuyda
Я с таким удовольствием читаю вашу переписку! Я это без иронии! Серьезно!

Ваше общение напомнило мне стиль любимых в детстве книжек: "Радио? Это очень просто!", "Электроника? Это очень просто!". Там всё в аналогичных диалогах...
И появилась мысль - вам надо слегка литературно подработать текст ваших переговоров. Добавить материала по смежным областям, немного разной теории, немного сюжета...

И это будет бестселлер - "Микрокомпьютер - это совсем просто!". Возьму за идею 10% прибыли(кроме идеи - с меня еще общие советы и рекомендации :)). Если прибыль будет :).
 

serenityLA

New member
@serenityLA ,@gerkimuyda
Я с таким удовольствием читаю вашу переписку! Я это без иронии! Серьезно!

Ваше общение напомнило мне стиль любимых в детстве книжек: "Радио? Это очень просто!", "Электроника? Это очень просто!". Там всё в аналогичных диалогах...
И появилась мысль - вам надо слегка литературно подработать текст ваших переговоров. Добавить материала по смежным областям, немного разной теории, немного сюжета...

И это будет бестселлер - "Микрокомпьютер - это совсем просто!". Возьму за идею 10% прибыли(кроме идеи - с меня еще общие советы и рекомендации :)). Если прибыль будет :).

Почему мне стыдно от вашего примечания ))
 

kab

New member
Почему мне стыдно от вашего примечания ))
Ну, у меня уже сложились кое-какие впечатления. Могу поделится, если есть желание:
- Ну, с @gerkimuyda всё ясно- очень знающий и дотошный товарищ (в любом хорошем смысле этого слова ). Ну, просто знающих - на этом сайте до фига. А вот так, чтобы докопаться до сути проблемы задающего вопрос (что, как не странно, зачастую бывает сложно) и реально помочь - тут нужны не только знания, но и "правильный" склад характера. В общем, таких гораздо меньше, чем хотелось бы, и в жизни тоже.

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

Успехов!

ЗЫ! Насчет книги - это была, конечно шутка, но с долей шутки. А переработать материал и изложить по пунктам то, что Вы сделали, в виде отдельной шпаргалки-инструкции, по-моему мнению - было бы полезно и для Вас и для будущих новичков - впервые заглянувших на этот сайт ...
 

gerkimuyda

New member
Кст, как можно в скрипте вывода добавить строчку к каждому выводимому сенсору, чтобы вставить в эту ячейку ссылку на график?
PHP:
   <tr>
       <td>".$sensor."</td>
       <td>".$row['temperature']."</td>
       <td>".$row['humidity']."</td>
       <td>".$row['formatdatetime']."</td>
   </tr>
В данный контекст, я так понимаю, добавлять нельзя, потому что это цикл заполнения, и любые изменения в этом поле он не воспринимает как html код
^^^ Тут идет php команда print, которой передается строка (в двойных кавычках) и конкатенация (точка) переменных и снова строка и т.д. Все что внутри двойных кавычек - текст, который вы можете менять как хотите, он пойдет в формирование html. Все что за кавычками - имена переменных, элементы массива. Склеивается это все оператором конкатенации (точка).

Так, давайте подумаем, вам надо по каждому сенсору график? Тогда можно двумя способами:
1 - для каждого сенсора сделать свой php файл, строящий график и ссылаться на него, или
2 - сделать один универсальный php файл, и ему в параметрах передавать имя сенсора.

А можно просто сделать одну страницу, где будут графики всех пяти сенсоров (более удобный с точки зрения практичности). Далее надо отследить, какие показания наиболее важные и как они контролируются. Может с позиции юзабилити лучше будет соединить пять графиков температур в один и пять графиков влажности - в другой, чтобы наглядно видеть на сопоставлении графиков изменения в той или другой контролируемой области. Или сравнивать надо именно температуру конкретного датчика с его влажностью? Или надо усреднить пять датчиков и вывести общий график с скользящим средним?

Выбирать вам. И вот тут уже я оставлю эту реализацию вам. Работающая основа у вас есть (к которой вы при неудаче можете вернуться и начать с начала), и теперь вы можете изучать php, html, css, javascript, библиотеку Chart.js | Open source HTML5 Charts for your website и делать то, что вам необходимо. Вы сами видели, что если я не спешил с ответом - вы сами через время находили решение своей проблемы :)

пс: по поводу ссылки:
строка 57
[inline] <td>".$sensor."</td>[/inline]
приобретает вид
[inline] <td><a href='graph.php?sensor=".$sensor."'>".$sensor."</a></td>[/inline]
или
[inline] <td><a href='graph-".$sensor.".php'>".$sensor."</a></td>[/inline]

@kab, спасибо :) Просто я решил уйти из фейсбука, который отнимает немеряно времени. А на этом форуме немного реализовываю свою потребность в социальном интернет общении :)

@serenityLA, Я вам дал все необходимое, чтобы начать. Дальше уже ваш путь. За вас все я делать не буду (вы это и так прекрасно понимаете), поэтому с позиции наставника моя миссия окончена. Вы просили совета - я дал вам примеры и объяснения (я показал вам направление, куда копать), понятное дело, что вам понадобится еще много разных небольших изменений, но основная конструкция у вас уже есть. И резервная копия работающего варианта, к которому вы можете откатиться. Дальнейшие мелочи вам придется самому разбираться и пробовать. Слишком много различных сфер тут задействовано, чтобы всему обучать сразу :) Желаю успехов вашему проекту.
пс: А если не захотите самому заниматься этим - есть специальный раздел для поиска оплачиваемого исполнителя на этом сайте (я в нем не принимаю участия), или на других, или на фрилансных площадках.
З Наступаючим Новим Роком!!!
 

gerkimuyda

New member
вам надо слегка литературно подработать текст ваших переговоров. Добавить материала по смежным областям, немного разной теории, немного сюжета...
И это будет бестселлер - "Микрокомпьютер - это совсем просто!".
:D
 

Zigler

New member
Мне нравится Аватар, вообще тема об освоении новых планет очень интересна, а тут ещё и сюжет интересный и пейзажи красочные, качественно снято, смотрел его на разных сайтах: http://sovaclub.icu/ , http://extravideo.club/ , https://ua.kinogo.best/ , https://kinogo.best/ , https://kinokrad.cx/ , https://ua.kinokrad.cx/ везде хорошее качество! Пересматривать можно хоть каждый год!
 
Сверху Снизу