This project is no longer maintenaned.
This is an Arduino project for the TTGO T-Beam ESP32 development board, which has LoRa chip onboard. Cayenne backend provides very nice web visualization, and also provides free Android/iPhone apps, where you can watch your car's position and indoor climate. This project uses Cayenne Low Power Payload packet format to transfer GPS coordinates and some car's indoor climate data. It has adaptive packet rate, meaning that when the car moves, tracker starts to 'burst' sending packets to update the trajectory as precise as possible. The myDevices Cayenne for LoRa connection is made through The Things Network LoRaWAN cloud.
You can find docs about Cayenne Low Power Payload (LPP) here.
I'll try to describe whole project setup as best I can.
config.h in Arduino projectHeltec_WIFI_LoRa_32Cayenne LPPCayenne+ and enter project nameThis is how it will look like when data is received by TTN and Cayenne.


Note: In GPS field, there is also GPS altitude information available.
Optional fields, you can choose to send them in the program:
LoRa DIO1 pin marked as Lora1 to the pin 33 - So that the ESP32 can read that output from the Lora module.
Optionally you can also connect the Lora2 output to GPIO 32, but this is not needed here.
Connect the BME/BMP280 module's SDA line to pin 21 and SCL to pin 22 on the TTGO.
If you want a more reliable data line (if the wires are long for some reason), you can add pull-up resistors on SDA and SCL lines.
Any value from 2.2k to 10k should be OK.
VCC of the module to 3V3 and GND to GND of course.
config.hIf you haven't already, update with your own TTN keys - ABP authentication
These are the keys you will need from the TTN console (marked yellow).




ESP32
ESP32 Version REV1
WiFi
Bluetooth
4MB Flash
3D Antenna
LORA
Working voltage: 1.8 ~ 3.7v
Acceptable current: 10 ~ 14mA
Transmit current: 120mA @ +20dBm
90mA @ +17dBm
29mA @ +13dBm
Operating frequency: 433MHz / 868MHz / 915MHz
Transmit power: +20dBm
Receive sensitivity: -139dBm @ LoRa & 62.5 KHz & SF=12 & 146bps
-136dBm @ LoRa & 125 KHz & SF=12 & 293bps
-118dBm @ LoRa & 125 KHz & SF=6 & 9380bps
-123dBm @ FSK & 5 KHz & 1.2Kbps
Frequency error: +/-15KHz
FIFO space: 64 byte
Data rate: 1.2K ~ 300Kbps @ FSK
0.018K ~ 37.5Kbps @ LoRa
Modulation Mode: FSK, GFSK, MSK, GMSK, LoRa TM, OOK
Interface form: SPI
Sleep current: 0.2uA @ SLEEP
1.5uA @ IDLE
Operating temperature: -40? - +85?
Digital RSSI function
Automatic frequency correction
Automatic gain control
RF wake-up function
Low voltage detection and temperature sensor
Fast wake-up and frequency hopping
Highly configurable data packet handler
GPS
GPS modules NEO-6M, 3V-5V power supply Universal
Destined module with ceramic antenna, signal super
Save the configuration parameter data EEPROM Down
With data backup battery
There are LED signal indicator
Default Baud Rate: 9600
Power
IP5306 2A Battery PMIC
LED, Blue - User controller
LED, Red - GPS 1PPS
LED, Red/green - battery charged/power on
Button, reset switch
Button, user readable
Switch, power on/battery charge
USB
CP2104-GMR


You are welcome to contribute to this project in any way. (Submit an issue, bug report, fork and improve...) Suggestions & feedback is much appreciated.