Оглавление:

Регистрировать данные и строить график онлайн с помощью NodeMCU, MySQL, PHP и Chartjs.org: 4 шага
Регистрировать данные и строить график онлайн с помощью NodeMCU, MySQL, PHP и Chartjs.org: 4 шага

Видео: Регистрировать данные и строить график онлайн с помощью NodeMCU, MySQL, PHP и Chartjs.org: 4 шага

Видео: Регистрировать данные и строить график онлайн с помощью NodeMCU, MySQL, PHP и Chartjs.org: 4 шага
Видео: Топ 3 худших программиста на YouTube! #код #айти #программист 2024, Ноябрь
Anonim
Регистрировать данные и строить график онлайн с помощью NodeMCU, MySQL, PHP и Chartjs.org
Регистрировать данные и строить график онлайн с помощью NodeMCU, MySQL, PHP и Chartjs.org
Регистрировать данные и строить график онлайн с помощью NodeMCU, MySQL, PHP и Chartjs.org
Регистрировать данные и строить график онлайн с помощью NodeMCU, MySQL, PHP и Chartjs.org

В этом руководстве описывается, как мы можем использовать плату Node MCU для сбора данных с нескольких датчиков, отправки этих данных в размещенный файл PHP, который затем добавляет данные в базу данных MySQL. Затем данные можно просмотреть в Интернете в виде графика с помощью chart.js.

Для этого проекта потребуются базовые знания PHP и MySQL, и вам понадобится доступ к веб-хостингу с этими настройками, чтобы иметь возможность создавать и просматривать свои собственные графики. Я также предполагаю, что у вас есть базовые знания об использовании платы Node MCU и загрузке на нее эскизов. (Для этого я использую Arduino IDE)

Шаг 1: построение схемы

Построение схемы
Построение схемы
Построение схемы
Построение схемы
Построение схемы
Построение схемы

Поскольку узел MCU имеет только один аналоговый вывод, мы будем использовать мультиплексирование, чтобы иметь возможность считывать данные с нескольких датчиков. (Ряд инструкций раскрывают эту концепцию более подробно, поэтому я не буду здесь вдаваться в подробности). В этом примере я использовал два датчика (для света и температуры), но вы можете изменить их на все, что захотите, и при необходимости добавить дополнительные датчики. Я использовал светочувствительный резистор, термистор, два выпрямительных диода, резистор 330 Ом, резистор 10 кОм и несколько перемычек. На прилагаемой диаграмме Фритзинга показано, как все они соединены на макетной плате.

Шаг 2: отредактируйте и загрузите эскиз в узел MCU

Используйте этот прикрепленный файл.ino. Вам нужно будет отредактировать это с вашим собственным именем сети Wi-Fi и паролем, чтобы узел MCU мог подключаться к вашей собственной сети.

Внизу этого эскиза линия «задержка (60000);» дает минутную задержку между показаниями датчика, но ее можно настроить в соответствии с вашими требованиями. Однако я бы рекомендовал оставлять не менее 10 секунд для подключения к файлу updater.php каждый раз.

Вам также нужно будет отредактировать путь к месту, где вы будете размещать два файла.php и два необходимых файла javascript. Вы можете скачать их на следующем шаге.

Шаг 3. База данных и веб-файлы

Создайте свою базу данных MySql. Создайте таблицу с именем temp_light (вы можете изменить это, но вам нужно будет отредактировать два файла php, чтобы отразить любые сделанные вами изменения). Дайте таблице четыре поля. Основное поле с автоматическим приращением. Целочисленное поле с названием «temp», целочисленное поле с именем «light» и поле с именем «date_time», которое будет меткой времени и значением по умолчанию «CURRENT_TIMESTAMP».

Теперь скачайте прикрепленный файл.zip и распакуйте его. Это даст вам два файла php и папку с именем «scripts», которая содержит файлы.js, которые я получил с chartjs.org. Два файла.js редактировать не нужно, а папка «scripts» должна находиться в том же месте, что и два ваших php-файла. оба файла php должны быть отредактированы с вашим собственным именем базы данных, паролем и IP-адресом хоста. адрес.

В файле index.php вы увидите строку 50: $ adjust_temp = ($ temp * 0.0623);

Этот расчет предназначен для преобразования показаний температуры в максимально близкие к градусам по Цельсию, полученные методом проб и ошибок и почти наверняка должны быть изменены в соответствии с вашим собственным датчиком температуры.

Теперь разместите оба файла php и папку «scripts», содержащую два файла.js вместе, в одном каталоге. Перейдите в этот каталог, и вы должны увидеть свой собственный график с данными, отправленными с вашей платы Node MCU.

Шаг 4: готовый результат

Изначально я сделал этот проект около двух лет назад, но до сих пор так и не успел написать по нему инструкции. Вы можете увидеть график, созданный моим тестом здесь:

Большой пик на графике - это место, где солнце светило через окно на два датчика, и снова медленное снижение происходило, когда солнце медленно уходило из поля зрения.

Рекомендуемые: