Arduino以太网盾php

时间:2016-10-21 18:22:10

标签: php arduino

我开发了一个代码,用于计算红外传感器前面的人数。

但我希望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;
?>

1 个答案:

答案 0 :(得分:0)

File.php:

<?php
$value = $_POST['nPessoas'];
echo $value;
?>

如果通过编辑php文件无效,请尝试在if (client.connect)之前添加以下内容:

data = "nPessoas=" + nPessoas;

然后将client.print(nPessoas);更改为client.print(data);

相关问题