I am doing my final year project that tracks the vehicle and displays the position on google maps,am using an arduino,GPS module and icomsat v1.1 GPRS module.Am trying to send the GPS data to a web page at my local server with no success,how do i do this, pls help :
this is how am doing it:
//set http param value
GPRS.print("AT+HTTPPARA=\"URL\",\"http://my_domain/gps_tracker.php?");
GPRS.print("visor=false");
GPRS.print("&latitude=");
GPRS.print(latitude);
GPRS.print("&longitude=");
GPRS.print(longitude);
GPRS.print("speed=");
GPRS.print(speedOTG);
GPRS.print("\"");
I suppose that you need to send the url as a single line message, using: println instead of print.
And check if you're receiving or not any data on your GPRS module, or if you're not managing it right.
Related
I need some help ...I am using a flutter package signalr_client for
real time web functionality to flutter app.So i want to send data to server either Http headers or query string . There is no option for signalr_client.
Finally I got answer. I sent timezone through query string by http:192.168.0.100/Chat?tmz=330'.And i get
by calling context.Request.Query["tmz"]
I have a running stream of data from a live scoring api but I cant seem to console log the data.
I am using an httpclient get method in ionic to get the request with observable as its return type.
How do I extract the data from that return? or Is there no return at all
enter image description here
I've been working on a LoNet mini GSM module (SIM800L), interfacing it with Arduino.
I've inserted the SIM mobile card with Internet connection available.
Through serial monitor I'm communicating with it with no problems, but when it comes to make a GET or a POST request to a webserver page it returns Network Error (601).
Here it is:
AT+SAPBR=3,1,"CONTYPE","GPRS"
OK
AT+HTTPINIT
OK
AT+HTTPPARA="CID",1
OK
AT+HTTPPARA="URL","http://:8080/folder/savedata.php"
OK
AT+HTTPACTION=0
OK
+HTTPACTION: 0,601,0 //601: Network Error
AT+HTTPREAD=1,100000
OK
And no response of the "echo" of the php page...
Do you have any suggestion?
Thanks in advance.
enter image description here
enter image description here
Did you set up your PDP context already? I think some main concepts are that you need to successfully attach and startup GPRS connection.
Some things that need to be active before this will work:
1) Network registration
AT+CREG? should return 0,1 if so, skip to 2)
if it doesn't then you can start by turning on and off the modem by inputting AT+CFUN=0 and then AT+CFUN=1
if you are still having problems registering make sure you have selected the correct network:
AT+COPS? should see your service providers name in the results
eg.
AT+COPS: 1,0,"T-Mobile USA"
If you don't, then make sure your band is set properly to your service provider. Look up your providers 2G band
e.g. t-mobile uses PCS_MODE for their 2G service. set this via:
AT+CBAND="PCS_MODE"
Also, obviously you should make sure you have signal:
AT+CSQ should return at at least a 5 or 6
2) Network Activation
AT+CIPSHUT
AT+CGATT=1 - this can take some time to get through. I have a 40 sec timeout
Its important for this step to work. If it doesn't perhaps restart your modem. But this is a key part.
3) setting PDP context and bringing up GPRS service
AT+SAPBR=3,1,"CONTYPE","GPRS"
set your APN: find out what your 2g APN is from your provider.
e.g. for t-mobile: epc.tmobile.com
define your APN:
T+SAPBR=3,1,"APN","epc.tmobile.com"
AT+SAPBR=1,1 This is the most important part to get through. Sometimes it takes a while to get through, I have a timeout on this part for 3 minutes to let it work.
if this doesn't give you an error proceed:
4) sending HTTP
Basically proceed with what you have...
an example of what I do:
AT+HTTPTERM
AT+HTTPINIT
AT+HTTPPARA="CID",1
AT+HTTPPARA="URL","www.google.com"
AT+HTTPACTION = 0 This should return 200 if it is successful
5 shut down GPRS
AT+CIPSHUT this may give you an error buts its not important
AT+SAPBR=0,1 can take awhile
AT+CGATT=0 also can take a while
anyways I wrote some pretty neat lightweight code for arduino to send data via HTTP. I also wrote one for SMS. let me if you want to take a look. I use a SIM800L -- one of the cheap breakout boards.
If you want to use https add ssl in following order.
mySerial.println("AT+HTTPINIT");
mySerial.println("AT+HTTPSSL=1");
mySerial.println("AT+HTTPPARA=CID,1");
AT+HTTPSSL=1 this will let you to use url with https://
This really useful, if you want to use google cloud functions to add data to firebase.
Try using ipaddress in place of DNS as:
AT+HTTPPARA="URL","http://example.com:8080/folder/savedata.php" OK
Replace it to:
AT+HTTPPARA="URL","http://29.09.07.12:8080/folder/savedata.php" OK
It works in most of the cases.
I really like the Parse push service and integrated it with our CMS. I would like to make the notifications personal by adding the users name in the push message. How can i use a variable (Named 'voornaam' in the screenshot) which is stored in the Installation class in a push message?
If you are looking for something like a message template like
Hello ${username}, what's up
sadly its not there. One way you can make the kind of message you want to is by doing it in your server side code before you send the request for PUSH using the REST or other APIs
I've been working with MapServer for about 2 hours now , but it seems alittle bit complicated to get started with.
So here's my question
Is there any way to get mapserver to show a simple map of whole world in which I can move the map to see different parts of the world ?
( from what I've learnt so far , it just shows you the Map you've passed the mapserv cgi , and the map is static and cannot be moved ! )
EDIT :
I'm still wondering if I can have a simple map for the whole world or a country or whatever ! Should I be Writing .Map Files for everything On my own ??
Okay , so after looking it up and struggling alittle , I found some JS libraries to do this, One of the was Open Layers. You just have to reference it at the beginning of your html page like :
<script src="http://openlayers.org/api/OpenLayers.js"></script>
and then you can have zoom and move options for your map by binding MapServer data as follows to the OpenLayers init function.
Var map, layer;
function init(){
map = new OpenLayers.Map( 'map' );
layer = new OpenLayers.Layer.MapServer( "NAME",
"http://localhost/cgi-bin/mapserv", {map: 'PATH_TO_.MAP'} );
map.addLayer(layer);
map.zoomToMaxExtent();
}
And lots of cool tutorials can be found in spatialhorizons.com.
Hope this helps someone :)
MapServer is just that, a MAP SERVER. It sounds like you are currently using a cgi script to display a hosted map. WMS providers like MapServer host data that can be viewed using a WMS client application. There are many such applications. You will need a more sophisticated client application to connect to the MapServer in order to perform more complicated map manipulations.
check out GoogleEarth
or NASA WorldWind
or I haven't used this yet but it looks like it might be the easiest, if least dependable.
First MapServer is the GIS server side technology. The zoom in/ pan is the client side behavior in my opinion.
When we look at the moment that user pan/zoom at one web application, what really happened is the front end application get the pan/zoom event and make calls to mapserver to get the new map to return to the client side.
So it is more likely your leaflet, Google map API, Openlayers, etc. are handling the detection of the client movement and parse it into new getmap request and send the request to mapserver to get the response.
What you saw from the MapServer using get request is static and it is suppose to be so. The dynamic part is happened in the client side to make dynamic calls from the front end application to make these static calls. That is interactive when client side dynamically sending out request and refresh the map from the response.