Neo 6M

Position - GPS COLLECTION

../_images/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.

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

../_images/P082_Setup_Neo-6M_1.png

A screenshot of a later relase of the plugin. The use of hardware serial communication makes the transfer between the GPS and ESP a LOT more stable:

../_images/P082_Setup_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.

PPS pin

Some GPS receivers have a PPS pin. This can be used to get a very accurate time reference. According to Wikipedia 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.

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).

Rules examples

on GeoPos#Speed do
 if [GeoPos#Speed]>50
   //Whooohooo, fast as lightning!
 endif
endon

Events

Event

Example

GPS#GotFix Will trigger when the GPS unit got a good position from the satellites.

on GPS#GotFix do
 GPIO,2,1 //LED on
endon

GPS#LostFix Will trigger when the GPS unit is not having a good position from the satellites.

on GPS#LostFix do
  GPIO,2,0 //LED off
endon

GPS#travelled When configured to update every N meters travelled, this event will be triggered if the GPS moved more than N meters away from the last position this trigger was given. This means the total travel distance can be more if the GPS does not move in a straight line.

on GPS#travelled do
  LogEntry,'Travelled %eventvalue% meter'
endon

Where to buy

Store

Link

AliExpress

Link 1 ($)

Banggood

Link 2 ($)

eBay

Link 3 ($)

$ = affiliate links which will give us some money to keep this project running, thank you for using those.