Appendix D
Appendix D
APPENDIX
Code:
Serial.print(".");
delay(500);
delay(100);
if(digitalRead(13)==1)
upload_led = "LED_DISPLAY,,1";
else
upload_led = "LED_DISPLAY,,0";
HttpClient http(c2);
c2.print("POST /mcs/v2/devices/");
c2.print(DEVICEID);
c2.println("/datapoints.csv HTTP/1.1");
c2.print("Host: ");
Appendices
c2.println(SITE_URL);
c2.print("deviceKey: ");
c2.println(DEVICEKEY);
c2.print("Content-Length: ");
c2.println(thislength);
c2.println("Content-Type: text/csv");
c2.println("Connection: close");
c2.println();
c2.println(upload_led);
delay(500);
int errorcount = 0;
while (!c2.available())
Serial.print(".");
delay(100);
while (c2)
int v = c2.read();
if (v != -1)
Appendices
Serial.print(char(v));
else
c2.stop();
Serial.println();
void outzone(){
Serial.print(".");
delay(500);
delay(100);
Appendices
if(digitalRead(8)==1)
upload_ledzone = "OUT_ZONE,,1";
else
upload_ledzone = "OUT_ZONE,,0";
HttpClient http(c2);
c2.print("POST /mcs/v2/devices/");
c2.print(DEVICEID);
c2.println("/datapoints.csv HTTP/1.1");
c2.print("Host: ");
c2.println(SITE_URL);
c2.print("deviceKey: ");
c2.println(DEVICEKEY);
c2.print("Content-Length: ");
c2.println(zonelength);
c2.println("Content-Type: text/csv");
c2.println("Connection: close");
c2.println();
c2.println(upload_ledzone);
delay(500);
int errorcount = 0;
while (!c2.available())
Appendices
Serial.print(".");
delay(100);
while (c2)
int v = c2.read();
if (v != -1)
Serial.print(char(v));
else
c2.stop();
Serial.println();
}
Appendices
void uploadGPS(){
Serial.print(".");
delay(500);
delay(100);
float latitude_post=latitude;
float longitude_post=longitude;
Serial.printf("latitude=%.4f\tlongitude=%.4f\n",latitude,longitude);
String upload_GPS =
"GPS,,"+String(buffer_latitude)+","+String(buffer_longitude)+","+"0"+"
\n"+"LATITUDE,,"+buffer_latitude+"\n"+"LONGITUDE,,"+buffer_lon
gitude;//null altitude
HttpClient http(c2);
Appendices
c2.print("POST /mcs/v2/devices/");
c2.print(DEVICEID);
c2.println("/datapoints.csv HTTP/1.1");
c2.print("Host: ");
c2.println(SITE_URL);
c2.print("deviceKey: ");
c2.println(DEVICEKEY);
c2.print("Content-Length: ");
c2.println(GPS_length);
c2.println("Content-Type: text/csv");
c2.println("Connection: close");
c2.println();
c2.println(upload_GPS);
delay(500);
if(latitude<15.5343){
digitalWrite(8,HIGH);
else{
digitalWrite(8,LOW);
LSMS.beginSMS("0925376867");
Appendices
int errorcount = 0;
while (!c2.available())
Serial.print(".");
delay(100);
while (c2)
int v = c2.read();
if (v != -1)
Serial.print(char(v));
else
c2.stop();
}
Appendices
Serial.println();
void uploadspeed(){
Serial.print(".");
delay(500);
delay(100);
float speed_post=speeda;
Serial.printf("speeda=%.4f\n",speeda);
float time=5;
float speed_temp=sqrt((latitude*latitude-longitude*longitude))/time;
c2.print("POST /mcs/v2/devices/");
c2.print(DEVICEID);
c2.println("/datapoints.csv HTTP/1.1");
c2.print("Host: ");
c2.println(SITE_URL);
c2.print("deviceKey: ");
c2.println(DEVICEKEY);
c2.print("Content-Length: ");
c2.println(speed_length);
c2.println("Content-Type: text/csv");
c2.println("Connection: close");
c2.println();
c2.println(upload_speed);
delay(500);
int errorcount = 0;
while (!c2.available())
Serial.print(".");
delay(100);
while (c2)
int v = c2.read();
if (v != -1)
Serial.print(char(v));
else
c2.stop();
Serial.println();
GPS:
int len=strlen(str);
Appendices
if(str[i] == ',')
j++;
if(j == num)
return i + 1;
return 0;
char buf[10];
unsigned char i;
double rev;
i=getComma(1, s);
i = i - 1;
strncpy(buf, s, i);
buf[i] = 0;
rev=atof(buf);
return rev;
}
Appendices
char buf[10];
unsigned char i;
double rev;
i=getComma(1, s);
i = i - 1;
strncpy(buf, s, i);
buf[i] = 0;
rev=atoi(buf);
return rev;
if(GPGGAstr[0] == '$')
//Serial.println(buff);
latitude = getDoubleNumber(&GPGGAstr[tmp])/100.0;
int latitude_int=floor(latitude);
double latitude_decimal=(latitude-latitude_int)*100.0/60.0;
latitude=latitude_int+latitude_decimal;
longitude = getDoubleNumber(&GPGGAstr[tmp])/100.0;
int longitude_int=floor(longitude);
double longitude_decimal=(longitude-longitude_int)*100.0/60.0;
longitude=longitude_int+longitude_decimal;
//Serial.println(buff);
num = getIntNumber(&GPGGAstr[tmp]);
//Serial.println(buff);
Appendices
else
void GPS_receive() {
LGPS.getData(&info);
//Serial.println((char*)info.GPGGA);
parseGPGGA((const char*)info.GPGGA);
connect:
void AP_connect(){
Serial.print("Connecting to AP...");
while (0 == LWiFi.connect(WIFI_AP))
Serial.print(".");
delay(500);
Serial.println("Success!");
Appendices
Serial.print("Connecting site...");
Serial.print(".");
delay(500);
Serial.println("Success!");
delay(100);
void getconnectInfo(){
c2.print("GET /mcs/v2/devices/");
c2.print(DEVICEID);
c2.println("/connections.csv HTTP/1.1");
c2.print("Host: ");
c2.println(SITE_URL);
c2.print("deviceKey: ");
c2.println(DEVICEKEY);
c2.println("Connection: close");
c2.println();
Appendices
delay(500);
int errorcount = 0;
while (!c2.available())
Serial.print(".");
errorcount += 1;
delay(150);
Serial.println();
char c;
int ipcount = 0;
int count = 0;
int separater = 0;
while (c2)
int v = (int)c2.read();
if (v != -1)
c = v;
Appendices
//Serial.print(c);
connection_info[ipcount]=c;
if(c==',')
separater=ipcount;
ipcount++;
else
c2.stop();
//connection_info[ipcount]=NULL;
int i;
for(i=0;i<separater;i++)
{ ip[i]=connection_info[i];
int j=0;
separater++;
{ port[j]=connection_info[i];
j++;
//port[j] = NULL;
} //getconnectInfo
void connectTCP(){
//establish TCP connection with TCP Server with designate IP and Port
c.stop();
Serial.print("Connecting to TCP...");
Serial.println("Re-Connecting to TCP");
delay(1000);
c.println(tcpdata);
c.println();
Serial.println("Success!");
} //connectTCP
Appendices
void heartBeat(){
c.println(tcpdata);
c.println();
} //heartBeat
Upload:
Serial.print(".");
delay(500);
delay(100);
if(digitalRead(13)==1)
upload_led = "LED_DISPLAY,,1";
else
upload_led = "LED_DISPLAY,,0";
Appendices
HttpClient http(c2);
c2.print("POST /mcs/v2/devices/");
c2.print(DEVICEID);
c2.println("/datapoints.csv HTTP/1.1");
c2.print("Host: ");
c2.println(SITE_URL);
c2.print("deviceKey: ");
c2.println(DEVICEKEY);
c2.print("Content-Length: ");
c2.println(thislength);
c2.println("Content-Type: text/csv");
c2.println("Connection: close");
c2.println();
c2.println(upload_led);
delay(500);
int errorcount = 0;
while (!c2.available())
Serial.print(".");
delay(100);
while (c2)
int v = c2.read();
if (v != -1)
Serial.print(char(v));
else
c2.stop();
Serial.println();
void outzone(){
{
Appendices
Serial.print(".");
delay(500);
delay(100);
if(digitalRead(8)==1)
upload_ledzone = "OUT_ZONE,,1";
else
upload_ledzone = "OUT_ZONE,,0";
HttpClient http(c2);
c2.print("POST /mcs/v2/devices/");
c2.print(DEVICEID);
c2.println("/datapoints.csv HTTP/1.1");
c2.print("Host: ");
c2.println(SITE_URL);
c2.print("deviceKey: ");
c2.println(DEVICEKEY);
c2.print("Content-Length: ");
c2.println(zonelength);
c2.println("Content-Type: text/csv");
c2.println("Connection: close");
Appendices
c2.println();
c2.println(upload_ledzone);
delay(500);
int errorcount = 0;
while (!c2.available())
Serial.print(".");
delay(100);
while (c2)
int v = c2.read();
if (v != -1)
Serial.print(char(v));
else
c2.stop();
Appendices
Serial.println();
void uploadGPS(){
Serial.print(".");
delay(500);
delay(100);
float latitude_post=latitude;
float longitude_post=longitude;
Serial.printf("latitude=%.4f\tlongitude=%.4f\n",latitude,longitude);
String upload_GPS =
"GPS,,"+String(buffer_latitude)+","+String(buffer_longitude)+","+"0"+"
\n"+"LATITUDE,,"+buffer_latitude+"\n"+"LONGITUDE,,"+buffer_lon
gitude;//null altitude
HttpClient http(c2);
c2.print("POST /mcs/v2/devices/");
c2.print(DEVICEID);
c2.println("/datapoints.csv HTTP/1.1");
c2.print("Host: ");
c2.println(SITE_URL);
c2.print("deviceKey: ");
c2.println(DEVICEKEY);
c2.print("Content-Length: ");
c2.println(GPS_length);
c2.println("Content-Type: text/csv");
c2.println("Connection: close");
c2.println();
c2.println(upload_GPS);
delay(500);
if(latitude<15.5343){
digitalWrite(8,HIGH);
Appendices
else{
digitalWrite(8,LOW);
LSMS.beginSMS("0925376867");
int errorcount = 0;
while (!c2.available())
Serial.print(".");
delay(100);
while (c2)
int v = c2.read();
if (v != -1)
Serial.print(char(v));
Appendices
else
c2.stop();
Serial.println();
void uploadspeed(){
Serial.print(".");
delay(500);
}
Appendices
delay(100);
float speed_post=speeda;
Serial.printf("speeda=%.4f\n",speeda);
float time=5;
float speed_temp=sqrt((latitude*latitude-longitude*longitude))/time;
c2.print("POST /mcs/v2/devices/");
c2.print(DEVICEID);
c2.println("/datapoints.csv HTTP/1.1");
c2.print("Host: ");
c2.println(SITE_URL);
c2.print("deviceKey: ");
c2.println(DEVICEKEY);
c2.print("Content-Length: ");
c2.println(speed_length);
c2.println("Content-Type: text/csv");
Appendices
c2.println("Connection: close");
c2.println();
c2.println(upload_speed);
delay(500);
int errorcount = 0;
while (!c2.available())
Serial.print(".");
delay(100);
while (c2)
int v = c2.read();
if (v != -1)
{
Appendices
Serial.print(char(v));
else
c2.stop();
Serial.println();