Php skript funguje jak má, pokud ho zadám do adresového řádku prohlížeče s hodnotou co chci uložit, bez problémů se uloží.
Arduino po nahrani programu se na lokální server připojí, zobrazil jsem si i hodnoty na serial monitoru, zobratí se připojení OK a hodnoty, které jsou v pořádku. Když je zase opět zadám fyzicky do adresového řádku prohlížeče, zapíší se. Proč se mě ale nezapisují přes arduino ?
Kód: Vybrat vše
#include <Ethernet.h> //Použité knihovny
#include <SPI.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xEB }; //MAC adresa Arduina (posledni pismeno D)
IPAddress ip(192,168,6,130);
IPAddress server(192,168,6,10);
boolean reading = false; //Funkční podmínka
String data;
int a = A0; //Měřící piny A/D převodníku
int b = A1;
int c = A2;
int d = A3;
float av = 0; //Proměnné pro výpočet napětí
double bv = 0;
double cv = 0;
double dv = 0;
double ai = 0; //Proměnné pro výpočet napětí
double bi = 0;
int i = 255; //Počáteční hodnota PWM
int stav = 1; //Proměnná pro tlačítko MIN/MAX
float pwm = 0; //Proměnná pro zobrazení hodnoty PWM
EthernetClient client; //Konstanta pro prohlížeč
void setup()
{
pinMode(9, OUTPUT); //PWM kanál
Serial.begin(9600); //NAstavění sériového kanálu (nepoužit)
Ethernet.begin(mac, ip); //Nastavení MAC a IP adresy
}
void loop()
{
analogWrite(9, i);
if (client.connect(server, 80)) { // REPLACE WITH YOUR SERVER ADDRESS
delay(1000);
Serial.println("OK");
Serial.println("");
client.print("GET /log_optoclen.php?");
Serial.print("GET /log_optoclen.php?");
client.print("pwm=");
Serial.print("pwm=");
client.print(pwm);
Serial.println(pwm);
client.println( " HTTP/1.1");
client.println("Host: 192.168.6.10");
//client.println( "Content-Type: application/x-www-form-urlencoded" );
client.println( "Connection: close" );
client.println();
client.println();
client.stop();
}
if (client.connected()) {
}
delay(300); // WAIT FIVE MINUTES BEFORE SENDING AGAIN
Kód: Vybrat vše
<?php
$server = "localhost";
$user = "root";
$pass = "";
$db = "bakalarka";
$mysqli = mysqli_connect($server, $user, $pass, $db); //připojení k MySQL
if($mysqli and isset($_GET['pwm'])){ //pokud GET obsahuje 'hodnota', pokračuj
$pwm = sanitize($_GET['pwm']);
$sql = "INSERT INTO optoclen (pwm) VALUES (".$_GET[pwm].")"; //sestavení SQL
$doSql = $mysqli->query($sql); //vykonání SQL
if($doSql){ //test úspěchu
echo 'Zápis byl úspěšný';
}
else{
echo 'Něco se nepovedlo';
}
}
else{
echo "Neco je špatně";
}
function sanitize($input){ //ořízne řetězec
$input = htmlspecialchars($input);
$input = htmlentities($input);
$input = strip_tags($input);
$input = trim($input);
return $input;
}
?>
<?php