Отправка данных ESP8266 / NodeMCU на веб-страницу HTTPS - PullRequest
0 голосов
/ 29 июня 2018

Я пытаюсь отправить на мою веб-страницу некоторые данные, которые защищены (HTTPS) от моего NodeMCU, но данные не отображаются на веб-странице.
Я проверил php по URL, а также по cURL, оба работали. Ниже мой php-код, который сохраняется на стороне сервера.

<?php
if($_SERVER['HTTPS']!="on")
{
 $redirect= "https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
 header("Location:$redirect");
}
if( $_REQUEST["d1"] ||  $_REQUEST["d2"]) 
{
echo " Data1: ". $_REQUEST['d1']. "<br />";
echo " Data2: ". $_REQUEST['d2']. "<br />";
}


$var1 = $_REQUEST['d1'];
$var2 = $_REQUEST['d2'];

$WriteMyRequest=
"<p> Data1 : " . $var1 . " </p>".
"<p> Data2 : " . $var2 . " </p><br/>";
file_put_contents('dataDisplayer.html', $WriteMyRequest, FILE_APPEND);
?>

Кроме того, ниже приведен мой код Arduino, в котором я сохранил два случайных целых числа и попытался отправить их на страницу php, которая будет хранить данные на html-странице, и мы можем увидеть выходные данные на этой html-странице

#include <ESP8266WiFi.h>
#include <WiFiClient.h> 
const char server[] = "shounaks.cf";
WiFiClient client;
int i;
String  postData;

const char* MY_SSID = "Redmi";
const char* MY_PWD =  "hello1234t";

void setup()
{
 i=0;
 Serial.begin(115200);
 Serial.print("Connecting to "+*MY_SSID);
 WiFi.begin(MY_SSID, MY_PWD);
 Serial.println("going into wl connect");
 while (WiFi.status() != WL_CONNECTED) //not connected,  ...waiting to connect
{
  delay(1000);
  Serial.print(".");
}
Serial.println("wl connected");
Serial.println("");
Serial.println("Credentials accepted! Connected to wifi\n ");
Serial.println("");
}

void loop()
{
  Serial.println("\nStarting connection to server..."); 
  // if you get a connection, report back via serial:
  if (client.connect(server, 443)) {
  Serial.println("connected to server");
  WiFi.printDiag(Serial);
  if(i==20){
  i=0;
}
postData = "d1=" + String(i) + "&d2=" + String(analogRead(A0)) ;
i++;
 //change URL below if using your Sub-Domain
 client.println("POST /test2.php HTTP/1.1"); 
 //change URL below if using your Domain
 client.print("Host: shounaks.cf");
 client.print("\n");                 
 client.println("User-Agent: NodeMCU/1.0");
 client.print("\n");
 client.print("Content-Length: ");
 client.print(postData.length());
 client.print("\n");
 client.println("Content-Type: application/x-www-form-urlencoded");
 client.print("\n\n");
 client.print(postData);
 client.stop(); 

 Serial.println("\n");
 Serial.println("My data string im POSTing looks like this: ");
 Serial.println(postData);
 Serial.println("And it is this many bytes: ");
 Serial.println(postData.length());       
 delay(2000);
}
}
...