【发布时间】:2021-03-07 14:50:29
【问题描述】:
我一直在从事这个项目,其中一个部分包括将一些数据从 Raspberry 发送到我的服务器。显示温度和湿度值。但我未能将它们发送到我的数据库。之前我使用 urllib2 库做一个 HTTP 请求如下:
urllib2.urlopen("localhost/Project/add_data.phptemp="+temperature+"&hum="+humidity).read()
而且我过去常常出错。所以我尝试使用“请求”来代替。但是还是不行。
我试图将温度和湿度值从我的树莓派发送到我的数据库 sql 的服务器代码:
<?php
// Connect to MySQL
include("connect.php");
// Prepare the SQL statement
//date_default_timezone_set('Europe/Athens');
//$dateS = date('m/d/Y h:i:s', time());
//echo $dateS;
$temperature = htmlspecialchars($_GET["temperature"]);
$humidity = htmlspecialchars($_GET["humidity"]);
$SQL = "INSERT INTO measurementdb.data (temperature,humidity) VALUES (".$temperature."','".$humidity."')";
// Execute SQL statement
mysql_query($SQL);
?>
python 代码:
import requests
import Adafruit_DHT
DHT_SENSOR = Adafruit_DHT.DHT22
DHT_PIN = 4
while True:
humidity, temperature = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN)
if humidity is not None and temperature is not None:
print("Temp={0:0.1f}*C Humidity={1:0.1f}%".format(temperature, humidity))
else:
print("Failed to retrieve data from humidity sensor")
data = {"temperature": temperature, "humidity": humidity}
resp = requests.post('http://localhost/test.php', params=data)
如果有人可以帮助我,我将不胜感激。谢谢!
【问题讨论】:
-
警告:
mysql_*扩展自 PHP 5.5.0 起已弃用,自 PHP 7.0.0 起已被删除。相反,应该使用mysqli 或PDO_MySQL 扩展名。在选择 MySQL API 时,另请参阅 MySQL API Overview 以获得更多帮助。
标签: python mysql raspberry-pi3