| Ваш IP: 35.175.182.106 | Online(28) - гости: 20, боты: 8 | Загрузка сервера: 1.15 ::::::::::::

wi-fi модуль NodeMcu v3 с чипом ESP8266 (ESP-12e) — отправка GET запроса с сохранением в базу данных

На базе wi-fi модуля NodeMcu v3 с чипом ESP8266 (ESP-12e) можно сделать (для примера) термометр на цифровом датчике 18B20, информация об температуре при помощи GET запроса будет отправятся в базу данных MySQL.

Следующий скетч позволяет отправлять GET запросы на указанную страницу, в моем случае это test.php.

#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
 
#include <OneWire.h>
#include <DallasTemperature.h>
OneWire oneWire(14);// D5 вход датчика 18b20
DallasTemperature t(&oneWire);
 
const char* ssid = "******"; // имя сети
const char* password = "******"; // пароль сети
int temper;
 
void setup () {
  Serial.begin(115200);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting..");
  }
  Serial.println("OK");
  Serial.print("IP: ");
  Serial.println( WiFi.localIP().toString() );
  t.begin();
  t.setResolution(10);//10 бит 18B20
}
 
void loop() {  
  t.requestTemperatures();
  temper = t.getTempCByIndex(0)*100; // опрос датчика 18B20
 
  if (WiFi.status() == WL_CONNECTED) {
    Serial.print(WiFi.RSSI());
    Serial.println(" dBm");
    Serial.println(temper);
    HTTPClient http;  
    http.begin("http://rcl-radio.ru/test.php/?temp=" + (String)temper);  
    delay(10000);
    int httpCode = http.GET();                                                                 
    if (httpCode > 0) { 
    Serial.print("HTTP ");
    Serial.print(httpCode); 
    if(httpCode==200){Serial.println(" OK");}else{Serial.println(" Error");}
    }                                                                
    http.end();   
  }
}

Файл test.php содержит следующий код:

<?php
 mysql_connect("localhost","имя_пользователя", "пароль") or die("Could not connect: " . mysql_error());
 mysql_select_db("имя_базы_данных") or die("Could not select database");
 mysql_query("SET NAMES utf8");
 
if(!empty($_GET["temp"])){
$temp = $_GET["temp"]/100;
$query = "INSERT INTO test (temp) VALUES ('$temp')";  
mysql_query($query);
}
?>

Файл test.php позволяет записывать данные от температуре в базу данных каждые 10 секунд.

В сервере MySQL необходимо создать базу банных, далее создайте таблицу test,  в ней будут всего два столбца, это id и test.

Столбцы содержат следующую структуру:

После создания таблицы столбцы будут заполнятся данными о температуре:

В мониторе порта можно увидеть следующую информацию:

Данные монитора порта содержать информацию об уровне сигнала, значение температуры и статус страницы.

На данном примере можно можно сконструировать уст-во которое будет передавать на сервер различную информацию с различных датчиков.

Добавить комментарий

Случайные статьи

  • Индикатор магнитного поля — детектор скрытой проводки

    Вокруг проводников, по которым протекает переменный ток, создается не только переменное электрическое поле, но и переменное магнитное поле. Поэтому для обнаружения скрытой проводки можно регистрировать переменное магнитное поле. Индикатор магнитного поля содержит датчик магнитного поля В1, усилитель переменного тока на ОУ DA1 и компаратор напряжения на ОУ DA2. Если датчик …Подробнее...
  • Усилитель мощности низкой частоты с эффективной мощностью 125Вт

    Усилитель мощности низкой частоты с эффективной мощностью 125Вт

    Главные достоинство этого усилителя — относительная простота и малые габариты. Сдвоенный ОУ в режиме инвертирующего усилителя обеспечивает усиление 26дБ и размах выходного сигнала в +/-19В(при питающем напряжении +/-20В) между выводами 1 и 7 при полосе частот до 100кГц. Мостовой выходной каскад на  ДМОП-транзисторах с каналами n- и  p-  типов обеспечивают …Подробнее...
  • Маркировка резисторов с проволочными выводами

    Резисторы, в особенности малой мощности — чрезвычайно мелкие детали, резистор мощностью 0,125Вт имеет длину несколько миллиметров и диаметр порядка миллиметра. Прочитать на такой детали номинал с десятичной запятой невозможно. Поэтому, при указании номинала вместо десятичной точки пишут букву, соответствующую единицам измерения (К — для килоомов, М — для мегаомов, E …Подробнее...
  • Проводники, полупроводники и непроводники

    Проводники, полупроводники и непроводники

    ВСЁ ДЛЯ РАДИОЛЮБИТЕЛЕЙ: http://www.dessy.ru/index.html?partne… В этом выпуске: что такое проводник, что такое полупроводник, что такое непроводник, что такое изолятор или диэлектрик.Подробнее...
  • Автогенераторы на элементах ТТЛ

    Автогенераторы на элементах ТТЛ

    При помощи элементов ТТЛ можно изготовить автогенераторы у которых выходная частота превышает 30 МГц. Для того чтобы автогенератор быстро возбуждался и работал стабильно во всем диапазоне внешних воздействий, усилительная линейка должна быть не инвертирующей с большим коэффициентом усиления Ku, который по возможности следует стабилизировать. Схемы простых автогенераторов показаны на рисунках …Подробнее...