gprs, чтение файла на сервере
- Войдите на сайт для отправки комментариев
Ср, 12/10/2022 - 23:16
void cycle_for (void)
{bit_ok=2;
for (long i=0; i <= 600000; i++){
if (mySerial.available()) {
a=(mySerial.read());
if(a==cmp_com){i=600000; bit_ok=1;}
}
}
}
void setup() {
init_GSM ();
for (long i=0; i <= 30000; i++){delay(1); read_uart();}
while (count_ready_GPRS<7){
init_GPRS();
// if(count_ready_GPRS<7){ init_GSM ();}
Serial.print ("\n\r\n");
}
Timer1.initialize(1000000); // set a timer of length 100000 microseconds (or 0.1 sec - or 10Hz => the led will blink 5 times, 5 cycles of on-and-off, per second)
Timer1.attachInterrupt( timerIsr ); // attach the service routine here
}
void loop() {
clok_to_string();
Serial.print ("Read server \n\r\n");
adress_txt="txt/pomidor.txt";
read_gprs();
for (long i=0; i <= 2000; i++){delay(1); read_uart();
// Serial.print(r);
if(r=='+'){aa=1;}
if(aa==1){
if(r==0x0D){aa=2;}
}
if(aa==2){
if(r=='('){aa=0; Serial.print ("ON motor \n\r\n"); digitalWrite (13, HIGH); digitalWrite (5, HIGH); bit_time=1; Serial.print(hh); Serial.print(':'); Serial.print(mm); Serial.print(':'); Serial.println(ss);}
if(r==')'){aa=0; Serial.print ("OFF motor \n\r\n"); digitalWrite (13, LOW); digitalWrite (5, LOW); bit_time=0;}
}
}
for (long i=0; i <= 2000; i++){delay(1); }
String String_temp_v;
String_temp_v = (sensor_invoda.getTempCByIndex(0));
out_messeng_Server = String_temp_v.toInt();
// out_messeng_Server++;
adress_php= "in/1/index.php/?a=";
SEND_GPRS();
for (long i=0; i <= 1500; i++){delay(1); }
out_messeng_string_Server = string_clok;
adress_php= "in/time/index.php/?a=";
SEND_string_GPRS();
for (long i=0; i <= 1500; i++){delay(1); }
}
//***************************
void read_gprs (void)
{
mySerial.print ("sensor changed to: 0\n\r\n");
delay (100);
mySerial.print ("Send start\n\r\n");
delay (100);
mySerial.print ("setup url\n\r\n");
delay (100);
mySerial.print ("AT+HTTPPARA="); mySerial.print ('"'); mySerial.print ("URL"); mySerial.print ('"'); mySerial.print (','); mySerial.print ('"');
mySerial.print (adress_site); mySerial.print (adress_txt); mySerial.print ('"'); mySerial.print ("\n\r\n");
delay (1000);
mySerial.print ("GET url\n\r\n");
delay (100);
mySerial.print ("AT+HTTPACTION=0\n\r\n");
delay (5000);
mySerial.print ("AT+HTTPREAD=1,1000\n\r\n");
}
void read_uart (void)
{
if (mySerial.available()) {
// Serial.write(mySerial.read());
r=(mySerial.read());
}
if (Serial.available()) {
// mySerial.write(Serial.read());
//r=(Serial.read());
}
}
тут https://www.rlocman.ru/review/article.html?di=600337
человек сделал полив помидор. меня заитересовало как он читает файлы. Запостил только часть кода , там где чтение файла
может кто-то подскажет зачем:
1
mySerial.print ("AT+HTTPREAD=1,1000\n\r\n");
читать 1000 байт если в файле всего 4 символа
2 вот это
mySerial.print ("sensor changed to: 0\n\r\n");
delay (100);
mySerial.print ("Send start\n\r\n");
delay (100);
mySerial.print ("setup url\n\r\n");
delay (100);
отсылает в модем.
3.
if(r=='+'){aa=1;}
if(aa==1){
if(r==0x0D){aa=2;}
}
if(aa==2){
if(r=='('){aa=0; Serial.print ("ON motor \n\r\n");
суть алгоритма поиска скобки.
человек - плохой программист