Уже несколько недель я работаю над проектом, который включает в себя связь с базой данных с использованием модуля GPRS.
Тестирование прошло успешно, когда Arduino был подключен к компьютеру, но когда я отключил его и подключил к сетиэто к стене с помощью адаптера, он ничего не делал (данные на сайте не поступают).
#include <SoftwareSerial.h>
#include <Wire.h>
#include <ds3231.h>
struct ts t;
SoftwareSerial mySerial(7, 8); //Tx & Rx sont connectés aux broches Arduino #7 et #8
void setup()
{
Wire.begin();
DS3231_init(DS3231_INTCN);
//Commence la communication Serie
Serial.begin(9600);
//Commence la communication Serie Arduino-Shield GPRS
mySerial.begin(9600);
Serial.println("Initialisation...");
delay(1000);
mySerial.println("AT"); //Handshaking
updateSerial();
mySerial.println("AT+UPSDA=2,0"); //Reset connexion
updateSerial();
delay(2000);
mySerial.println("AT+UPSD=2,1,\"sl2sfr\""); //Establissement de connexion avec l'APN
updateSerial();
delay(2000);
mySerial.println("AT+UPSDA=2,3");
updateSerial();
delay(2000);
mySerial.println("AT+UPSND=2,0");
updateSerial();
delay(2000);
}
void loop()
{
DS3231_get(&t);
String heure = String(t.hour);
heure += ":";
heure += String(t.min);
heure += ":";
heure += String(t.sec);
String Date = String(t.year);
Date += "-";
Date += String(t.mon);
Date += "-";
Date += String(t.mday);
String Equipement = "STAINS";
String Direction = "SUD-EST";
mySerial.println("AT+UHTTP=0");
updateSerial();
delay(2000);
mySerial.println("AT+UHTTP=2,1,\"www.projetwmr.site\""); // Parametrage URL d'acces
updateSerial();
delay(2000);
String command = "AT+UHTTPC=2,5,\"/add.php\",\"post.ffs\",\"vite="; // Commande d'envoi des donnes via POST sur PHP
float Windspeed = 80; // Recuperation des données ANALOGIQUES
// convertion valeurs en String - Chaîne de caractères
command += String(Windspeed);
// or convertion précise
// command += String(Windspeed, 2);
command += "&equipement=";
command += String(Equipement);
command += "&time=";
command += String(heure);
command += "&date=";
command += String(Date);
command += "&dire=";
command += String(Direction);
command += "\",0"; //Fin de la commande PHP POST
mySerial.println(command);
updateSerial();
delay(1000);
delay(10000);
}
void updateSerial()
{
delay(500);
while (Serial.available())
{
mySerial.write(Serial.read());//Forward what Serial received to Software Serial Port
}
while(mySerial.available())
{
Serial.write(mySerial.read());//Forward what Software Serial received to Serial Port
}
}