# GPSToFile
Quick and easy way to read GPS sentences to file with no gpsd required.
`pip install gpstofile`
![running on a ublox gps dongle](https://raw.githubusercontent.com/pubudeux/gpstofile/main/example-run.png)
## Configuration
Here are the available configuration options:
| Key | Type | Description |
| ----------- |----------- | ----------- |
| **p**ath | str | Path to serial port |
| **b**audrate | int | Serial port baud rate (Default: 115200) |
| **r**eadrate | int | Read interval to listen for GPS sentences on serial bus (Default: 0s) |
| **d**ebug | bool | Print verbose log statements for debugging purposes (Default: False) |
| **a**ppend | bool | Append to file instead of overwriting file contents on each new message received (Default: False) |
## Getting Started
Once you get the serial path of your GPS modem, you can get started either via command line, or by importing the module:
`python -m gpstofile --port /dev/tty.usbmodem14401 --debug True`
or:
```python
from gpstofile import GPSToFile
gps = GPSToFile('/dev/tty.usbmodem14401', readrate=1, debug=True)
gps.loop()
```
Once the loop begins running, GPS sentences will be written to files. You should see the files be created/continuously written to at `readrate` based on the codes in the following table:
The filename will be the NMEA sentence, for example `GPGLL` and the file contents will be the set of data sent after that sentence.
### GPS Sentences or NMEA Sentences
|NMEA Sentence| Meaning|
| ----------- | ----------- |
|GPGGA| Global positioning system fix data (time, position, fix type data)|
|GPGLL| Geographic position, latitude, longitude|
|GPVTG| Course and speed information relative to the ground|
|GPRMC| Time, date, position, course and speed data|
|GPGSA| GPS receiver operating mode, satellites used in the position solution, and DOP values.|
|GPGSV| The number of GPS satellites in view satellite ID numbers, elevation, azimuth and SNR values.|
|GPMSS| Signal to noise ratio, signal strength, frequency, and bit rate from a radio beacon receiver.|
|GPTRF| Transit fix data|
|GPSTN| Multiple data ID|
|GPXTE| cross track error, measured|
|GPZDA| Date and time (PPS timing message, synchronized to PPS).
For more info, check out [this resource](https://www.rfwireless-world.com/Terminology/GPS-sentences-or-NMEA-sentences.html) from RF Wireless World.
Raw data
{
"_id": null,
"home_page": "https://github.com/pubudeux/gpstofile",
"name": "gpstofile",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "gps,serial,gpsd,gps sentences",
"author": "pubudeux",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/d2/30/32c243e32ed4b642cfcae0333402d5237c174e9bcdc0addc7094f6980b36/gpstofile-0.0.6.tar.gz",
"platform": null,
"description": "# GPSToFile\n\nQuick and easy way to read GPS sentences to file with no gpsd required.\n\n\n`pip install gpstofile`\n\n\n![running on a ublox gps dongle](https://raw.githubusercontent.com/pubudeux/gpstofile/main/example-run.png)\n\n## Configuration\n\nHere are the available configuration options:\n\n| Key | Type | Description |\n| ----------- |----------- | ----------- | \n| **p**ath | str | Path to serial port |\n| **b**audrate | int | Serial port baud rate (Default: 115200) |\n| **r**eadrate | int | Read interval to listen for GPS sentences on serial bus (Default: 0s) | \n| **d**ebug | bool | Print verbose log statements for debugging purposes (Default: False) |\n| **a**ppend | bool | Append to file instead of overwriting file contents on each new message received (Default: False) | \n\n## Getting Started\n\nOnce you get the serial path of your GPS modem, you can get started either via command line, or by importing the module:\n\n`python -m gpstofile --port /dev/tty.usbmodem14401 --debug True`\n\nor:\n\n\n```python\nfrom gpstofile import GPSToFile\n\ngps = GPSToFile('/dev/tty.usbmodem14401', readrate=1, debug=True)\n\ngps.loop()\n```\n\nOnce the loop begins running, GPS sentences will be written to files. You should see the files be created/continuously written to at `readrate` based on the codes in the following table:\n\nThe filename will be the NMEA sentence, for example `GPGLL` and the file contents will be the set of data sent after that sentence.\n\n### GPS Sentences or NMEA Sentences\n|NMEA Sentence|\tMeaning|\n| ----------- | ----------- |\n|GPGGA| Global positioning system fix data (time, position, fix type data)|\n|GPGLL|\tGeographic position, latitude, longitude|\n|GPVTG|\tCourse and speed information relative to the ground|\n|GPRMC|\tTime, date, position, course and speed data|\n|GPGSA|\tGPS receiver operating mode, satellites used in the position solution, and DOP values.|\n|GPGSV|\tThe number of GPS satellites in view satellite ID numbers, elevation, azimuth and SNR values.|\n|GPMSS|\tSignal to noise ratio, signal strength, frequency, and bit rate from a radio beacon receiver.|\n|GPTRF|\tTransit fix data|\n|GPSTN|\tMultiple data ID|\n|GPXTE|\tcross track error, measured|\n|GPZDA|\tDate and time (PPS timing message, synchronized to PPS).\n\nFor more info, check out [this resource](https://www.rfwireless-world.com/Terminology/GPS-sentences-or-NMEA-sentences.html) from RF Wireless World.\n",
"bugtrack_url": null,
"license": "",
"summary": "Quick and easy way to read GPS sentences to file with no gpsd required.",
"version": "0.0.6",
"split_keywords": [
"gps",
"serial",
"gpsd",
"gps sentences"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8c8a84359fe098596c026e7b9e1f6adf490eed501438e9b905b7be2e0e126b5a",
"md5": "5a5c1b90b377621997e31ac00a773642",
"sha256": "8e1787618e191722899792aae06c431d8ebb8333d2a29d2aa9d223e892d3d566"
},
"downloads": -1,
"filename": "gpstofile-0.0.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5a5c1b90b377621997e31ac00a773642",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 4636,
"upload_time": "2023-01-14T21:00:42",
"upload_time_iso_8601": "2023-01-14T21:00:42.936574Z",
"url": "https://files.pythonhosted.org/packages/8c/8a/84359fe098596c026e7b9e1f6adf490eed501438e9b905b7be2e0e126b5a/gpstofile-0.0.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d23032c243e32ed4b642cfcae0333402d5237c174e9bcdc0addc7094f6980b36",
"md5": "0c85fcd6afd35a6d3572024401232790",
"sha256": "26cb259f7030402352654e0018c73cc499cc86f2c518f69eac4a67f27031ad8c"
},
"downloads": -1,
"filename": "gpstofile-0.0.6.tar.gz",
"has_sig": false,
"md5_digest": "0c85fcd6afd35a6d3572024401232790",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 4582,
"upload_time": "2023-01-14T21:00:43",
"upload_time_iso_8601": "2023-01-14T21:00:43.953484Z",
"url": "https://files.pythonhosted.org/packages/d2/30/32c243e32ed4b642cfcae0333402d5237c174e9bcdc0addc7094f6980b36/gpstofile-0.0.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-01-14 21:00:43",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "pubudeux",
"github_project": "gpstofile",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "gpstofile"
}