J'essaie de connecter mon microcontrôleur ESP8266 12F à un serveur Apache distant hébergé sur hostinger.com. Mais le client est incapable de se connecter. Ce que je dois faire est d'écrire quelques lectures sur ma base de données mysql sur le serveur. J'ai connecté le microcontrôleur à mon hotspot mobile, mais je ne peux pas me connecter au serveur. Voici mon code:Impossible de connecter l'ESP8266 au serveur distant
#include<ESP8266WiFi.h>
#define SS_PIN 4
#define RST_PIN 5
#define host http://smartlbus.esy.es/
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.
static const int RXPin = 0, TXPin = 16;
static const uint32_t GPSBaud = 9600;
// The TinyGPS++ object
TinyGPSPlus gps;
// The serial connection to the GPS device
SoftwareSerial ss(RXPin, TXPin);
void setup() {
// put your setup code here, to run once:
Serial.begin(9600); // Initialize serial communications with the PC
SPI.begin(); // Init SPI bus
mfrc522.PCD_Init(); // Init MFRC522 card
WiFi.mode(WIFI_STA);
WiFi.begin("smartbus","qwerty123");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
}
if(WiFi.status()==WL_CONNECTED) Serial.println("Connected to wifi");
}
void loop() {
// Use WiFiClient class to create TCP connections
WiFiClient client;
const int httpPort = 80;
if (client.connect("http://www.smartlbus.esy.es", httpPort)) {
Serial.println("Connected to server");
while (ss.available() > 0)
if (gps.encode(ss.read()))
{
double lat,lng;
float speed;
if (gps.location.isValid())
{
lat=gps.location.lat();
lng=gps.location.lng();
speed=gps.speed.value();
}
String data = "lat1=" + (String) lat + "&lng1=" + (String)lng + "&speed=" + (String)speed;
client.println("POST /add.php HTTP/1.1");
client.println("Host: www.smartlbus.esy.es");
client.println("Content-Type: application/x-www-form-urlencoded");
client.print("Content-Length: ");
client.println(data.length());
client.println();
client.print(data);
delay(500);
}
}
else{
Serial.println("Cannot cannect to server..");
}
// Look for new cards
Voici le code php:
<?php
include 'dbConnect.php';
if($_SERVER['REQUEST_METHOD']=='POST'){
//Getting values
$lat = $_POST['lat1'];
$lng = $_POST['lng1'];
$speed = $_POST['speed'];
$id = $_POST['busid'];
//Creating an sql query
$sql = "INSERT INTO status (bus_id,latitude,longitude,speed) VALUES ('$id','$lat','$lng','$speed')";
//Executing query to database
mysqli_query($con,$sql);
//Closing the database
mysqli_close($con);
}
?>
S'il vous plaît, aidez-moi.
êtes-vous sûr que le port doit être '8000'? (c'est habituellement '80'). Je peux le voir sur le port 80 d'ici, mais le port 8000 fois ... – dandavis
Oh, je suis désolé que c'était une faute de frappe. Idk comment ça s'est glissé. –
J'ai essayé d'envoyer des données via CURL et il ne répond pas correctement, êtes-vous sûr que votre serveur fonctionne? – eyllanesc