Code: Select all
#include "Adafruit_FONA.h" //biblioteka do modułu foan 808
#include <SoftwareSerial.h>
#define FONA_RX 2
#define FONA_TX 3
#define FONA_RST 4
char replybuffer[255]; // dane do odczytu
int wskaznik_gprs = 0;
int wkaznik_wykonania = 0;
SoftwareSerial fonaSS = SoftwareSerial(FONA_TX, FONA_RX);
SoftwareSerial *fonaSerial = &fonaSS;
Adafruit_FONA fona = Adafruit_FONA(FONA_RST);
uint8_t readline(char *buff, uint8_t maxbuff, uint16_t timeout = 0);
uint8_t type;
String d;
void setup() {
// while (!Serial);
Serial.begin(115200);
fonaSerial->begin(4800);
if (! fona.begin(*fonaSerial)) {
while (1);
}
type = fona.type();
switch (type) {
case FONA800L:
break;
case FONA800H:
break;
case FONA808_V1:
break;
case FONA808_V2:
break;
case FONA3G_A:
break;
case FONA3G_E:
break;
default:
break;
}
}
void loop() {
if(wskaznik_gprs==0){
if (!fona.enableGPRS(true)){
delay(4000);
}
else{
wskaznik_gprs = 1;
}
}
else if(wkaznik_wykonania==0){
delay(1000);
char url[80]="mysite";
char data[80]="mylogin";
// Post data to website
uint16_t statuscode;
int16_t length;
d = "";
if (!fona.HTTP_POST_start(url, F("application/x-www-form-urlencoded"), (uint8_t *) data, strlen(data), &statuscode, (uint16_t *)&length)) {
fona.HTTP_POST_end();
}
else{
while (length > 0) {
while (fona.available()) {
char c = fona.read();
d+=c;
length--;
if (! length) break;
}
}
}
fona.HTTP_POST_end();
if(d.substring(90,91)=="1" & d.substring(117,118)=="0" & d.substring(147,148)=="1"){
wkaznik_wykonania=1;
}
if(d.substring(90,91)=="0" & d.substring(117,118)=="1" & d.substring(147,148)=="1"){
wkaznik_wykonania=1;
}
}
else if(wkaznik_wykonania==1){
delay(1000);
char url[80]="mysite";
char data[80]="mylogin";
// Post data to website
uint16_t statuscode;
int16_t length;
if (!fona.HTTP_POST_start(url, F("application/x-www-form-urlencoded"), (uint8_t *) data, strlen(data), &statuscode, (uint16_t *)&length)) {
fona.HTTP_POST_end();
}
else{
while (length > 0) {
while (fona.available()) {
char c = fona.read();
length--;
if (! length) break;
}
}
fona.HTTP_POST_end();
wkaznik_wykonania=0;
}}