[docs] added P082 (GPS) pages

This commit is contained in:
Grovkillen
2019-01-07 10:58:03 +01:00
parent 7956583c96
commit bf46ebb0f3
13 changed files with 419 additions and 35 deletions
+3 -33
View File
@@ -36,47 +36,17 @@ Events
.. include:: P082_events.repl
Output values
-------------
* Longitude
* Latitude
* Altitude
* Speed
Preferred Settings
------------------
A GPS receiver is rather 'chatty', so it is strongly advised to use hardware serial ports.
The ESP8266 only has 2 HW serial ports, but only Serial0 uses a HW RX pin.
The TX channel from the ESP to the GPS is not needed for this plugin.
The used baudrate is 9600 bps.
PPS pin
-------
Some GPS receivers have a PPS pin.
This can be used to get a very accurate time reference.
According to `Wikipedia <https://en.wikipedia.org/wiki/Pulse-per-second_signal>`_ this signal could be considered a "stratum-1 time source".
The signal on the PPS pin is a high pulse of +/- 100 msec and the rising edge signals the start of a second.
The time reported after this pulse describes the past rising edge of the PPS pulse.
N.B. Currently the PPS feature is not thoroughly tested yet, so consider it experimental.
Future plans
------------
The following new features may be added later:
* Selectable baud rate
* New event: GPS#Travelled to signal when a preset distance was moved since previous event.
* New event: GPS#Geofence to signal when within set distance from a set target. (e.g. home)
* New event: `GPS#Travelled` to signal when a preset distance was moved since previous event.
* New event: `GPS#Geofence` to signal when within set distance from a set target. (e.g. home)
* Change of output units (km, miles, etc)
* Use some threshold on used satellites and HDOP values.
* Update location settings found in advanced settings.
Change log
----------
+133
View File
@@ -0,0 +1,133 @@
.. include:: ../Plugin/_plugin_substitutions_p08x.repl
.. _P082_Neo-6M_page:
Neo 6M
======
|P082_typename|
|P082_status|
.. image:: P082_Neo-6M_1.jpg
Introduction
------------
GPS module that only uses GPS satellites.
Specifications:
* GPS
Wiring
------
A GPS receiver is rather 'chatty', so it is strongly advised to use hardware serial ports.
The ESP8266 only has 2 HW serial ports, but only Serial0 uses a HW RX pin.
The TX channel from the ESP to the GPS is not needed for this plugin.
The used baudrate is 9600 bps.
.. code-block:: html
ESP Neo-6M (HW Serial0)
GPIO (3/RX/RX0/D9) <--> TXD
GPIO (1/TX/TX0/D10) <--> RXD
ESP Neo-6M (HW Serial0 swapped)
GPIO (13/D7) <--> TXD
GPIO (15/D8) <--> RXD
ESP Neo-6M (HW Serial1)
not used <--> TXD
GPIO (2/D4) <--> RXD
Power
5.0V <--> VCC
GND <--> GND
.. danger:: If you use ``HW Serial0`` or ``HW Serial0 swapped`` you must disable serial port in the advanced settings! If you
fail to do so the unit will not work properly.
Setup
-----
.. image:: P082_Setup_Neo-6M_1.png
Task settings
~~~~~~~~~~~~~
* **Device**: Name of plugin
* **Name**: Name of the task (example name **GeoPos**)
* **Enable**: Should the task be enabled or not
Sensor
^^^^^^
* **GPIO <-- TX**: Used to communicate with the GPS unit.
* **GPIO --> RX**: Not used (optional), to push commands back into the GPS unit.
* **GPIO --> PPS**: Experimental (optional), used to let the GPS unit update the time of the ESP.
* **Dropdown**: ``SoftwareSerial`` lets you select any GPIO pin, ``HW Serial0`` is the preferred (most stable), ``HW Serial0 swapped`` is similar to Serial0, ``HW Serial1`` is only able
to receive data from the GPS unit.
.. warning:: It's highly recommended you use either the ``HW Serial1`` or ``HW Serial0`` for stable reading of the GPS unit. But also remember to disable the serial in the
advanced settings page, if not the ESP will interfere with the GPS unit.
.. include:: P082_pps_pin.repl
Data acquisition
^^^^^^^^^^^^^^^^
* **Send to controller** 1..3: Check which controller (if any) you want to publish to. All or no controller can be used.
* **Interval**: How often should the task publish its value (5..15 seconds is normal).
Indicators (recommended settings)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. csv-table::
:header: "Indicator", "Value Name", "Interval", "Decimals", "Extra information"
:widths: 8, 5, 5, 5, 40
"Longitude", "Long", "1", "6", "5 decimals = 100cm resolution, 6 decimals = 10cm resolution, 7 decimals = 1cm resolution"
"Latitude", "Lat", "1", "6", "5 decimals = 100cm resolution, 6 decimals = 10cm resolution, 7 decimals = 1cm resolution"
"Altitude", "Alt", "1", "0", "Normally only full meters are needed. Use more decimals if you need higher resolution."
"Speed", "mps", "1", "1", "Meters per second."
.. note:: These resolutions are given at the equator. Less accuracy is received the further north/south you go.
Rules examples
--------------
.. code-block:: html
on GeoPos#Speed do
if [GeoPos#Speed]>50
//Whooohooo, fast as lightning!
endif
endon
.. Commands available
.. ~~~~~~~~~~~~~~~~~~
.. .. include:: P082_commands.repl
Events
~~~~~~
.. include:: P082_events.repl
Where to buy
------------
.. csv-table::
:header: "Store", "Link"
:widths: 5, 40
"AliExpress","`Link 1 ($) <http://>`_"
|affiliate|
.. More pictures
.. -------------
.. .. image:: P082_Neo-6M_2.jpg
Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

+134
View File
@@ -0,0 +1,134 @@
.. include:: ../Plugin/_plugin_substitutions_p08x.repl
.. _P082_Neo-7M_page:
Neo 7M
======
|P082_typename|
|P082_status|
.. image:: P082_Neo-7M_1.jpg
Introduction
------------
GPS module that uses GPS and GLONASS satellites.
Specifications:
* GPS
* GLONASS
Wiring
------
A GPS receiver is rather 'chatty', so it is strongly advised to use hardware serial ports.
The ESP8266 only has 2 HW serial ports, but only Serial0 uses a HW RX pin.
The TX channel from the ESP to the GPS is not needed for this plugin.
The used baudrate is 9600 bps.
.. code-block:: html
ESP Neo-7M (HW Serial0)
GPIO (3/RX/RX0/D9) <--> TXD
GPIO (1/TX/TX0/D10) <--> RXD
ESP Neo-7M (HW Serial0 swapped)
GPIO (13/D7) <--> TXD
GPIO (15/D8) <--> RXD
ESP Neo-7M (HW Serial1)
not used <--> TXD
GPIO (2/D4) <--> RXD
Power
5.0V <--> VCC
GND <--> GND
.. danger:: If you use ``HW Serial0`` or ``HW Serial0 swapped`` you must disable serial port in the advanced settings! If you
fail to do so the unit will not work properly.
Setup
-----
.. image:: P082_Setup_Neo-7M_1.png
Task settings
~~~~~~~~~~~~~
* **Device**: Name of plugin
* **Name**: Name of the task (example name **GeoPos**)
* **Enable**: Should the task be enabled or not
Sensor
^^^^^^
* **GPIO <-- TX**: Used to communicate with the GPS unit.
* **GPIO --> RX**: Not used (optional), to push commands back into the GPS unit.
* **GPIO --> PPS**: Experimental (optional), used to let the GPS unit update the time of the ESP.
* **Dropdown**: ``SoftwareSerial`` lets you select any GPIO pin, ``HW Serial0`` is the preferred (most stable), ``HW Serial0 swapped`` is similar to Serial0, ``HW Serial1`` is only able
to receive data from the GPS unit.
.. warning:: It's highly recommended you use either the ``HW Serial1`` or ``HW Serial0`` for stable reading of the GPS unit. But also remember to disable the serial in the
advanced settings page, if not the ESP will interfere with the GPS unit.
.. include:: P082_pps_pin.repl
Data acquisition
^^^^^^^^^^^^^^^^
* **Send to controller** 1..3: Check which controller (if any) you want to publish to. All or no controller can be used.
* **Interval**: How often should the task publish its value (5..15 seconds is normal).
Indicators (recommended settings)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. csv-table::
:header: "Indicator", "Value Name", "Interval", "Decimals", "Extra information"
:widths: 8, 5, 5, 5, 40
"Longitude", "Long", "1", "6", "5 decimals = 100cm resolution, 6 decimals = 10cm resolution, 7 decimals = 1cm resolution"
"Latitude", "Lat", "1", "6", "5 decimals = 100cm resolution, 6 decimals = 10cm resolution, 7 decimals = 1cm resolution"
"Altitude", "Alt", "1", "0", "Normally only full meters are needed. Use more decimals if you need higher resolution."
"Speed", "mps", "1", "1", "Meters per second."
.. note:: These resolutions are given at the equator. Less accuracy is received the further north/south you go.
Rules examples
--------------
.. code-block:: html
on GeoPos#Speed do
if [GeoPos#Speed]>50
//Whooohooo, fast as lightning!
endif
endon
.. Commands available
.. ~~~~~~~~~~~~~~~~~~
.. .. include:: P082_commands.repl
Events
~~~~~~
.. include:: P082_events.repl
Where to buy
------------
.. csv-table::
:header: "Store", "Link"
:widths: 5, 40
"AliExpress","`Link 1 ($) <http://>`_"
|affiliate|
.. More pictures
.. -------------
.. .. image:: P082_Neo-7M_2.jpg
Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

+136
View File
@@ -0,0 +1,136 @@
.. include:: ../Plugin/_plugin_substitutions_p08x.repl
.. _P082_Neo-M8n_page:
Neo M8n
=======
|P082_typename|
|P082_status|
.. image:: P082_Neo-M8n_1.jpg
Introduction
------------
GPS module that uses GPS, Galileo, GLONASS, BeiDou satellites.
Specifications:
* GPS
* Galileo
* GLONASS
* BeiDou
Wiring
------
A GPS receiver is rather 'chatty', so it is strongly advised to use hardware serial ports.
The ESP8266 only has 2 HW serial ports, but only Serial0 uses a HW RX pin.
The TX channel from the ESP to the GPS is not needed for this plugin.
The used baudrate is 9600 bps.
.. code-block:: html
ESP Neo-M8n (HW Serial0)
GPIO (3/RX/RX0/D9) <--> TXD
GPIO (1/TX/TX0/D10) <--> RXD
ESP Neo-M8n (HW Serial0 swapped)
GPIO (13/D7) <--> TXD
GPIO (15/D8) <--> RXD
ESP Neo-M8n (HW Serial1)
not used <--> TXD
GPIO (2/D4) <--> RXD
Power
5.0V <--> VCC
GND <--> GND
.. danger:: If you use ``HW Serial0`` or ``HW Serial0 swapped`` you must disable serial port in the advanced settings! If you
fail to do so the unit will not work properly.
Setup
-----
.. image:: P082_Setup_Neo-M8n_1.png
Task settings
~~~~~~~~~~~~~
* **Device**: Name of plugin
* **Name**: Name of the task (example name **GeoPos**)
* **Enable**: Should the task be enabled or not
Sensor
^^^^^^
* **GPIO <-- TX**: Used to communicate with the GPS unit.
* **GPIO --> RX**: Not used (optional), to push commands back into the GPS unit.
* **GPIO --> PPS**: Experimental (optional), used to let the GPS unit update the time of the ESP.
* **Dropdown**: ``SoftwareSerial`` lets you select any GPIO pin, ``HW Serial0`` is the preferred (most stable), ``HW Serial0 swapped`` is similar to Serial0, ``HW Serial1`` is only able
to receive data from the GPS unit.
.. warning:: It's highly recommended you use either the ``HW Serial1`` or ``HW Serial0`` for stable reading of the GPS unit. But also remember to disable the serial in the
advanced settings page, if not the ESP will interfere with the GPS unit.
.. include:: P082_pps_pin.repl
Data acquisition
^^^^^^^^^^^^^^^^
* **Send to controller** 1..3: Check which controller (if any) you want to publish to. All or no controller can be used.
* **Interval**: How often should the task publish its value (5..15 seconds is normal).
Indicators (recommended settings)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. csv-table::
:header: "Indicator", "Value Name", "Interval", "Decimals", "Extra information"
:widths: 8, 5, 5, 5, 40
"Longitude", "Long", "1", "6", "5 decimals = 100cm resolution, 6 decimals = 10cm resolution, 7 decimals = 1cm resolution"
"Latitude", "Lat", "1", "6", "5 decimals = 100cm resolution, 6 decimals = 10cm resolution, 7 decimals = 1cm resolution"
"Altitude", "Alt", "1", "0", "Normally only full meters are needed. Use more decimals if you need higher resolution."
"Speed", "mps", "1", "1", "Meters per second."
.. note:: These resolutions are given at the equator. Less accuracy is received the further north/south you go.
Rules examples
--------------
.. code-block:: html
on GeoPos#Speed do
if [GeoPos#Speed]>50
//Whooohooo, fast as lightning!
endif
endon
.. Commands available
.. ~~~~~~~~~~~~~~~~~~
.. .. include:: P082_commands.repl
Events
~~~~~~
.. include:: P082_events.repl
Where to buy
------------
.. csv-table::
:header: "Store", "Link"
:widths: 5, 40
"AliExpress","`Link 1 ($) <http://>`_"
|affiliate|
.. More pictures
.. -------------
.. .. image:: P082_Neo-M8n_2.jpg
Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

+11
View File
@@ -0,0 +1,11 @@
PPS pin
~~~~~~~
Some GPS receivers have a PPS pin.
This can be used to get a very accurate time reference.
According to `Wikipedia <https://en.wikipedia.org/wiki/Pulse-per-second_signal>`_ this signal could be considered a "stratum-1 time source".
The signal on the PPS pin is a high pulse of +/- 100 msec and the rising edge signals the start of a second.
The time reported after this pulse describes the past rising edge of the PPS pulse.
.. note:: Currently the PPS feature is not thoroughly tested yet, so consider it experimental.
@@ -28,7 +28,7 @@
.. |P082_status| replace:: :yellow:`TESTING`
.. |P082_github| replace:: P082_GPS.ino
.. _P082_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_P082_GPS.ino
.. |P082_usedby| replace:: `.`
.. |P082_usedby| replace:: :ref:`P082_Neo-6M_page`, :ref:`P082_Neo-7M_page`, :ref:`P082_Neo-M8n_page`
.. |P082_shortinfo| replace:: `Determine position and sync system time using a GPS receiver communicating via serial`
.. |P082_maintainer| replace:: `TD-er`
.. |P082_compileinfo| replace:: `.`
+1 -1
View File
@@ -500,7 +500,7 @@ Besides the internal events there's also plugin specific events. These are liste
.. .. include:: ../Plugin/P081_events.repl
P081 :ref:`P082_page`
P082 :ref:`P082_page`
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. include:: ../Plugin/P082_events.repl