我开发了一个代码,用于计算红外传感器前面的人数。
但我希望arduino是一个客户端,FTP服务器会消耗这些值。但我不知道php,但它会是这样的。服务器是localhost。
file.ino:
#include <UIPEthernet.h>
EthernetServer server = EthernetServer(80);
int sensor1 = 8;
int sensor2 = 9;
unsigned long timeS1 = 0, timeS2 = 0;
unsigned long dif;
long int nPessoas = 0;
void setup()
{
pinMode(sensor1, INPUT);
pinMode(sensor2, INPUT);
Serial.begin(9600);
uint8_t mac[6] = {0x00,0x01,0x02,0x03,0x04,0x05};
IPAddress myIP(192,168,0,25);
Ethernet.begin(mac,myIP);
server.begin();
}
void loop()
{
if (!digitalRead(sensor1))
{
timeS1 = millis();
}
if (!digitalRead(sensor2))
{
timeS2 = millis();
}
dif = timeS2 - timeS1;
dif = timeS2 - timeS1;
if(dif >= 500 && dif <= 1500)
{
timeS1 = timeS2 = 0;
nPessoas++;
}
size_t size;
if (EthernetClient client = server.available())
{
while((size = client.available()) > 0)
{
uint8_t* msg = (uint8_t*)malloc(size);
size = client.read(msg,size);
Serial.write(msg,size);
free(msg);
}
if (client.connect("http://192.168.0.7/",80)) {
client.println("POST /file.php HTTP/1.1");
client.println("Host: http://192.168.0.7/");
client.println("Content-Type: application/x-www-form-urlencoded");
client.print("Content-Length: ");
client.println();
client.print(nPessoas);
}
client.stop();
}
delay(10);
}
file.php:
<?Php
$value = $_GET {['nPessoas']};
echo $value;
?>
答案 0 :(得分:0)
File.php:
<?php
$value = $_POST['nPessoas'];
echo $value;
?>
如果通过编辑php文件无效,请尝试在if (client.connect)
之前添加以下内容:
data = "nPessoas=" + nPessoas;
然后将client.print(nPessoas);
更改为client.print(data);