将数据发送到服务器上的PHP文件中

问题描述 投票:0回答:1

我正在研究一个将数据发送到我的网站的项目,使用Arduino和SIM900,我刚刚制作了一个AT代码,将数据发送到该网站并使用PHP,但是我的PHP文件似乎没有接收SIM900 AT命令发送的值,为什么?我还有一个问题,AT命令可以安全地将数据发送到网站吗?感谢您的帮助,祝您度过愉快的一天。这是我目前拥有的代码:

这是我现在要使用的sim900:

void setup(){
  //Inicialize Serial and SIM
  Serial.begin(19200);
  SIM900.begin(19200);

  delay(7000);

  // See if the SIM900 is ready
  SIM900.println("AT");
  ReceberEFim();                                 
  delay(4000);

  // SIM card inserted and unlocked?
  SIM900.println("AT+CPIN?");
  ReceberEFim();
  delay(500);              

  // Is the SIM card registered?
  SIM900.println("AT+CREG?");
  ReceberEFim();                            
  delay(500);

  // Is GPRS attached?
  SIM900.println("AT+CGATT?");
  ReceberEFim();                           
  delay(500);

  // Check signal strength - should be 9 or higher
  SIM900.println("AT+CSQ");
  ReceberEFim();                              
  delay(500);

  // Set connection type to GPRS
  SIM900.println("AT+SAPBR=3,1,\"Contype\",\"GPRS\"");
  ReceberEFim();      
  delay(1000);

  // Set the APN - this will depend on your network/service provider
  SIM900.println("AT+SAPBR=3,1,\"APN\",\"claro.com.br\"");
  ReceberEFim();      
  delay(1000);

  // Enable GPRS - this will take a moment or two
  SIM900.println("AT+SAPBR=1,1");
  ReceberEFim();                      
  delay(3000);

  // Check to see if connection is correct and get your IP address
  SIM900.println("AT+SAPBR=2,1");
  ReceberEFim();                        
  delay(500);

  // Enable HTTP mode
  SIM900.println("AT+HTTPINIT");
  ReceberEFim();                        
  delay(2000);

  SIM900.println("AT+HTTPPARA=\"URL\",\"http://mywebsite.com/teste.php?s1=50\"");
  ReceberEFim();
  delay(2000);                               

  SIM900.println("AT+HTTPPARA=\"CID\",1");
  ReceberEFim();             
  delay(500);

  SIM900.println("AT+HTTPACTION=0");
  ReceberEFim();                   
  delay(500);

  // Close the HTTP connection
  SIM900.println("AT+HTTPTERM");
  ReceberEFim();

  // Disconnect the GPRS
  SIM900.println("AT+SAPBR=0,1");
  ReceberEFim();
}

这是PHP文件:

   <?php 
    $sensor1 = $_GET["s1"];
    $sensor2 = $_GET["s2"];
    $sensor3 = $_GET["s3"];

    echo "Sensor 1 = $sensor1";
    echo "</br>Sensor 2 = $sensor2";
    echo "</br>Sensor 3 = $sensor3";

  ?>

我希望能够通过SIM900将多个数据发送到我的PHP文件。

php http arduino at-command sim900
1个回答
0
投票

您没有在URL中传递s2和s3,因此您无法访问它,这将产生错误。

您可以动态检测s {n} var或尝试使用isset来检查var是否存在。

我认为出于安全原因和会话而使用https或使用令牌以确保不是其他试图向您的站点发送随机值的人会更好。

希望对您有帮助,

© www.soinside.com 2019 - 2024. All rights reserved.