Selamlar.
Buy Arduino GPRS/GPS Tracker Shield - Affordable Price linkinden satın aldım shield ile örnek kodlardan gps_parse ile elde ettiğim veriyi GET , HTML olarak göndermeye çalıştığımda mesaj gitti yanıtı dönüyor ancak sunucu tarafına veri gelmiyor bununla ilgili örnek kod varmıdır.
Merhaba, Yazmış olduğun örnek kodu paylaşır mısın ?
/*
** GPS_Parse.ino Sketch
**
**
**
**
*/
#include “Sixfab_Tracker.h”
#include <HttpClient.h>
#include <SPI.h>
SixfabTracker node;
String gpsSentence;
char your_ip[] = “88.241.120.72”; // change with your ip
char your_port[] = “3131”; // change with your port
float veri;
String veri1;
String veri2 = “”;
String id = “0001”;
char val = ‘V’;
char veri3[50];
char t = ‘"’;
//Function to convert the raw data to degree
void setup() {
node.init();
node.getIMEI();
node.getFirmwareInfo();
node.getHardwareInfo();
node.setIPAddress(your_ip);
node.setPort(your_port);
node.connectToOperator();
node.getSignalQuality();
node.activateContext();
node.connectToServerTCP();
DEBUG.println(“Starting test”);
}
void loop() {
//gpsSentence = L96.readStringUntil(13);
//gpsSentence.trim();
gpsSentence = node.getNmeaSentence();
// Starts parsing if RMC sentence received
if (gpsSentence.startsWith("$GPRMC") || gpsSentence.startsWith("$GNRMC") ) {
returnData(); // returns $GPRMC or $GNRMC
removeString(); //removes $GPRMC or $GNRMC
//UTC
float utc = returnData().toFloat();//print(utc);
removeString(); // removes UTC
//Validity
String validity = returnData();
removeString(); //removes validity
//Latitude
float lat = returnData().toFloat();
removeString(); //remove latitude from the string
//North/South
String northOrSouth = returnData();
removeString();
//Longitude
float lon = returnData().toFloat();
removeString(); //remove latitude from the string
//East/West
String eastOrWest = returnData();
removeString();
//Speed in knots
// TODO: Speed to be parsed
DEBUG.print(validity);
if ( validity == "A") {
val = 'A';
}
//{"Id":"123", "Lat": 41.068222, "Lon": 28.937816}
veri2 = ('{') + ('"')+("Id:")+('"') +('"')+ id+('"') + "," +('"')+ ("Lat:")+('"') + String(ConvertData(lat), 6) + "," +('"')+ String(northOrSouth)+('"') + "," + ('"')+("Lon :")+('"') + String(ConvertData(lon), 6) + "," + ('"')+String(eastOrWest)+('"')+('}');
}
veri2.toCharArray(veri3, 50);
delay (2000);
if (val == ‘A’)
{
node.sendDataTCP (veri3);
}
}
float ConvertData(float RawDegrees) {
float RawAsFloat = RawDegrees;
int firstdigits = ((int)RawAsFloat) / 100; // Get the first digits by turning f into an integer, then doing an integer divide by 100;
float nexttwodigits = RawAsFloat - (float)(firstdigits * 100);
float Converted = (float)(firstdigits + nexttwodigits / 60.0);
return Converted;
}
String returnData() {
int pos = gpsSentence.indexOf(’,’); // return index of first comma (,)
return gpsSentence.substring(0, pos); // returns the String from 0 index till comma
}
void removeString() {
int pos = gpsSentence.indexOf(’,’);
gpsSentence.remove(0, pos + 1);
}
Aldığın hata tam olarak ne? Nerede takılı kalıyorsun? M2M hat mı kullanıyorsun? IP alabiliyor musun? Bu bilgileri de paylaşır mısın ?
Fikir alışverişi için detay bilgi paylaşırsan sevinirim.
GET gönderdim diyorsun. Sunucu tarafında gönderdiğin veriyi alabiliyor musun? Sunucu tarafına veriler düşüyor mu ?
selamlar. veriyi gönderdiğimde server 400 dönüyordu bana aşağıdaki formatta gönderdiğimde sorun düzeldi ilgine teşekkürler
node.connectToServerTCP();
node.sendDataTCP (“GET /api/path/ HTTP/1.1\r\n”);
node.sendDataTCP (“HOST: Server:port\r\n”);
node.sendDataTCP (“User-Agent: Mozilla/5.0\r\n”);
node.sendDataTCP ("\r\n");
node.closeConnection();
delay (20000);