Отправить запрос HTTP GET от Arduino и ESP8266

В общем, я создал php веб-приложение, которое читает переменную GET температура и сохраните его в базе данных MySql.
Мой скрипт выглядит так

<?php
function Connection(){
$server="localhost";
$user="root";
$pass="";
$db="esp";

$connection = mysql_connect("localhost", "root", "");

if (!$connection) {
die('MySQL ERROR: ' . mysql_error());
}

mysql_select_db($db) or die( 'MySQL ERROR: '. mysql_error() );

return $connection;
}

$link = Connection();

$temp=$_GET["temp"];$query = "INSERT INTO `data` (`temp`) VALUES ('".$temp."')";

mysql_query($query,$link);
mysql_close($link);

echo "Done !";
?>

С другой стороны, мой ESP8266 подключен к той же сети, поэтому я хочу постоянно выполнять запрос GET, чтобы сохранить его в базе данных.
Scketch выглядит так:

#include <SPI.h>
#include <SoftwareSerial.h>
#include <stdlib.h>SoftwareSerial ser(2, 3);// RX, TXvoid setup() {
Serial.begin(9600);
ser.begin(115200);
ser.println("AT+RST");
}

void loop(){

ser.println("AT+CIPSTART=\"TCP\",\"192.168.43.176\",80");

if(ser.find((char*)"Error")){
Serial.println("AT+CIPSTART error");
return;
}

// prepare GET string
String getStr = "GET /arduino/esp.php?temp=200";
//  getStr += "temp=20";
//  getStr += "\r\n\r\n";
//GET /arduino/esp.php?temp=30\r\n\r\n
Serial.println(getStr);
// send data length
String cmd = "AT+CIPSEND=";
cmd += String(getStr.length());
ser.println(cmd);
Serial.println(cmd);

if(ser.find((char*)">")){
ser.print(getStr);
Serial.println("Message sent!");
}
else{
ser.println("AT+CIPCLOSE");
// alert user
Serial.println("AT+CIPCLOSE");
}

delay(1000); // WAIT FIVE MINUTES BEFORE SENDING AGAIN
}

Я попытался отправить http запрос от Почтальона, и он работает, но не с моим прототипом (Arduino + ESP8266).
Интересно, есть ли какие-то библиотеки, упрощающие эту задачу в условиях кодирования?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector