Я использую Arduino Uno Wifi и хочу отправить данные датчика с моего Uno на PHP-Script, который сохраняет данные в базе данных MySQL. Для запроса GET я использую функцию Ciao.write () из библиотеки UnoWiFiDevEd.h, так как я не нашел другого возможного способа (без использования щита).
Вот так выглядит мой код Arduino:
#include <UnoWiFiDevEd.h>
void setup() {
char* connector = "rest";
char* server = "myserver/src/add_data.php?";
char* method = "GET";
String resource = "humidity=11&&temperature=22";
Serial.begin(9600);
Ciao.begin();
doRequest(connector, server, resource, method);
}
void loop() {
}
void doRequest(char* conn, char* server, String command, char* method) {
CiaoData data = Ciao.write(conn, server, command, method);
if(!data.isEmpty()){
Serial.println("Success");
} else {
Serial.println("FAILED");
}
}
И это мой PHP-скрипт (get_data.php)
<?php
// Connect to MySQL
include("dbconnect.php");
// Prepare the SQL statement
$SQL = "INSERT INTO arduino_data (Humidity, Temperature) VALUES ('".$_GET["humidity"]."', '".$_GET["temperature"]."')";
// Execute SQL statement
mysql_query($SQL);
?>
Если я использую браузер и пишу «myserver / src / add_data.php? Влажность = 60&&температура = 22 «в адресной строке, все работает просто отлично.
Я думаю, что мог бы неправильно понять, как работает этот Ciao.write, хотя я посмотрел в коде (в функции CiaoData PassThroughRead) и подумал, что все правильно указал. документация не поможет вообще.
В качестве ссылки я использовал это руководство который полностью работает как-то.
Вам нужно использовать метод POST, а не GET. У меня была точная проблема.
Других решений пока нет …