ESP8266 MySQL Veritabanına Veri Ekleme, Arduino ESP8266 php, Arduino ESP8266 PHP get, NodeMCU SQL server, Arduino ESP8266 sql, Esp8266 mysql library, ESP8266 HTTP POST, Esp01 mysql, ESP8266 HTTP GET example, ESP8266 MySQL connector, ESP8266 PHP Web server, SQL server ESP8266, ESP8266 database connection, ESP8266 PHP MySQL, Arduino to MySQL database
XAMPP Programını İndirip Yüklenmesi
XAMPP Programını Çalıştıralım
MySQL phpMyAdmin Açalım
"dbnodemcu" adında yeni bir veri tabanı oluşturalım
"tbdata" adında "5" sütun sayılı tablo oluşturalım
Oluşturduğumuz tabloyo aşağıdaki resimdeki gibi dolduralım
"id" yi A_I(Auto Increment) işaretliyelim
Ve sonra aşağıdaki pencere gelicek "git" diyerek onaylıyalım
Sonra oluşturduğumuz tabloyu kaydelim
Oluşturduğumuz tablo aşağıdaki şekilde olması lazım
ESP8266 MySQL Veritabanına Veri Ekleme Kodları
PHP Kodları
connect.php
<?php
$servername = "localhost";
$username = "root";
$password = "";
try {
$conn = new PDO("mysql:host=$servername;dbname=dbnodemcu", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully";
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
?>
save.php
<?php
include('connect.php');
$sensor1= $_GET['sensor1'];
$sensor2= $_GET['sensor2'];
$sensor3= $_GET['sensor3'];
$sql = "INSERT INTO `tbdata`(`sensor1`, `sensor2`, `sensor3`) VALUES ($sensor1,$sensor2,$sensor1)";
$conn->query($sql);
?>
Arduino IDE ve Kodları
Arduino IDE'ye http://arduino.esp8266.com/stable/package_esp8266com_index.json bu kodu ekliyelim
Arduino NodeMCU_MySQL.ino kodu
#include <ESP8266WiFi.h>
const char* ssid = "BURAYA WİFİ ADI YAZILACAK";
const char* password = "BURAYA WİFİ ŞİFRESİ YAZILACAK";
const char* host = "BUARAYA BİLGİSAYARIN IP ADRESİ 192... İLE BAŞLAYAN";
float sensor1=50;
float sensor2=60;
float sensor3=70;
float sensor4=80;
void setup() {
Serial.begin(9600);
delay(10);
//WiFi ağına bağlanarak başlıyoruz
Serial.println();
Serial.println();
Serial.print("connecting to WiFi ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
// int value = 0;
}
void loop(){
//===============================================
// Sensörleri okumak için ayrılan alan
sensor1=sensor1+ 2;
sensor2+=2;
sensor3+=2;
//===============================================
//delay(5000);
//++value;
Serial.print("connecting to ");
Serial.println(host);
//TCP bağlantıları oluşturmak için WiFiClient sınıfını kullanın
WiFiClient client;
const int httpPort = 80;
if(!client.connect(host,httpPort)){
Serial.println("connection faild ");
return;
}
//Şimdi istek için bir URI oluşturduk
String url = "/wifi/save.php?";
url += "sensor1=";
url += sensor1;
url += "&sensor2=";
url += sensor2;
url += "&sensor3=";
url += sensor3;
Serial.print("Requesting URL: ");
Serial.println(url);
//Bu, isteği sunucuya gönderir
client.print(String("GET ") + url + " HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"Connection: close\r\n\r\n");
unsigned long timeout = millis();
while (client.available() == 0){
if(millis() - timeout > 5000){
Serial.println(">>> client Timeout !");
client.stop();
return;
}
}
//Cevabın tüm satırlarını sunucudan oku ve seriye yazdır
while(client.available()){
String line = client.readStringUntil('\r');
Serial.print(line);
}
String line = client.readStringUntil('\r');
Serial.print(line);
Serial.println();
Serial.println("closing connecting");
delay(10000);
}
http://localhost/KAYDEDİLEN_DOSYA_ADI/save.php?sensor1=122&sensor2=234&sensor3=347
LOCOLHOST BİLGİSAYARIN VEYA SUNUCUNUN IP ADRESİ
www.cihancalli.com.tr Adresindeki Arduino Yazıları