First off, some comments about your code:
Never use String unless it is absolutely unavoidable
Unless you have a free() to balance your malloc() you will run out of memory almost immediately
There is never any need to concatenate strings to send through serial like that.
Instead of what you are currently doing, just scrap the String usage and your buf ...
It might be due to the command giving the nearest cell tower location. And for sending SMS it might be shifting to a different cell tower depending on your network. This could maybe be easily checked using a different cell provider or as you said its working at your home so I believe I am correct in assuming this is the answer
I recommend you to use AT command ..then using some kind of library. You need to dig into library for better information.
Go through this link....this will give you a rough idea.
SoftwareSerial is a very badly behaved library. It blocks interrupts
while sending or receiving bytes. Using it with whatever depends on
interrupts is asking for trouble. Using two instances of
SoftwareSerial concurrently is doubly asking for trouble. It is very
likely that they are interfering with one another, as each one blocks
interrupts for an ...
It will be referring to the angle of travel. That is, if you're moving (say driving in a car) what direction that movement is in.
But since you aren't moving the angle is meaningless. Instead it's trying to work out a direction from the random noise of the slight changes in the calculated location.
Unless your shed is in a tornado and flying through the ...
There is a bug in TinyGPS++ as it only counts GPS satellites. See https://github.com/mikalhart/TinyGPSPlus/issues/52
PRN numbers are used to identify satellites:
GPS = 1 to 32
SBAS = 33 to 64 (add 87 for PRN number)
GLO = 65 to 96
As you can see when you look at the source code of the FullExample.ino that is part of the TinyGPS++ library, the values you marked are:
Course Speed Card*: The current speed (in km/h), course (in degrees) and cardinal course (which is the course translated to a cardinal direction on a compass, i.e. N,S,E,W, NE, NNW, etc.) of the GPS receiver (i.e. you).
HDOP can be less than 1 according to this article.. I am no expert in this area, but according to the article, the HDOP=1 limit is based on 4 satellites; visibility and use of more than 4 satellites can reduce HDOP below this limit. When you think on it, this makes sense.
GPS specifications limit the inherent accuracy of a position solution through timing ...
I found a solution to my problem. On my first setup, I separate my GND of NEO-6M to Arduino and put connect it in breadboard that has powerboard on it because I thought it is only for electrical purposes but it doesn't since I encounter it.
The GND of every module must still connect on the Arduino.
A number of hints to check, though I can only throw vague observations on the error (EDIT: some hints only make sense with an older version of the question):
You set the SoftwareSerial to pin 7 for RX and pin 6 for TX, but the TX LED of the board is connected to the hardware UART, which is used by Serial. So the TX LED reacts to your debug messages sent via ...