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");
суть алгоритма поиска скобки.
человек - плохой программист