/luci-app-gpoint

GNSS Information dashboard for OpenWrt LuCi

Primary LanguageLuaGNU General Public License v3.0GPL-3.0

Gpoint
Global Navigation Satellite System for OpenWrt LuCi

Gpoint was created in order to use full set of functions of mobile modules installed in OpenWRT router. Manufacturers of GSM/3G/LTE modems often lay down GNSS function, so why not use it? It doesn't matter if you use a router in transport or it is installed in your terminal, you can always find out its location!

Screenshots overview_wait overview settings

Features

  • Support: GPS, GLONASS (works with "NMEA 0183" standard protocol)
  • GPSD is supported for parsing NMEA data from a modem or your gps device
  • GeoHash (reduces drift of GPS\GLONASS coordinate readings in parking)
  • Kalman filter (Implementation of Kalman filter for geo (gps) tracks. This is a Lua port of original C code)
  • Yandex Locator API (Determines location by nearest Wi-Fi access points)
  • Simple GeoFence a virtual perimeter for a real-world geographic area
  • Server side (sends GNSS data to a remote server)
  • Support OpenLayers maps in UI, and much more!

Supported devices

  • Dell DW5821e/DW5829e
  • Huawei ME909u-521
  • MEIGLink SLM820/SLM828
  • Quectel EC21/EC25/EP06/EM12/EM160R/RM500Q/RM520N
  • Sierra EM7455/EM7565
  • Simcom SIM7600E-H
  • U-Blox VK-172 GPS/GLONASS module (u-blox 7 GNSS modules)

Supported GNSS protocols

How to add an unsupported device

  • Most importantly, your device should be able to constantly send NMEA data to any of the available ports.

    EXAMPLE: /dev/ttyUSB*

  • In the model file, you must add the vid, pid, and name of your device.

    MODEL PATH: /usr/lib/lua/luci/model/cbi/gpoint/gpoint.lua

    ADD DEVICE:

    local modems = {
        ["Quectel"] = {
            ["2c7c:0306"] = "EP06",
            ...
        },
        ["MY_DEVICE_VENDOR_NAME"] = {
            ["PID:VID"] = "MODEL_NAME",
            ...
        }
  • It is necessary to add commands to start/stop sending data to the port in the configuration file. (if such commands are not required, you must set "-" instead of commands)

    CONFIG PATH: /usr/share/gpoint/lib/config.lua

    ADD DEVICE:

    local MODEM = {
        DELL = {
            START = "AT+GPS=1",
            STOP = "AT+GPS=0"
        },
        MY_DEVICE_WITH_START/STOP_COMMAND = {
            START = "DEVICE_AT_COMMAND_TO_START",
            STOP = "DEVICE_AT_COMMAND_TO_STOP"
        },
        MY_DEVICE_WITHOUT_COMMAND = {
            START = '-',
            STOP = '-'
        }
  • That's it! Now your device works with GPoint!

If there are any difficulties with adding a new device or you want to help the project, open an issue or send a pull request with your changes!

Thank you for your interest in the project!

Install

# # Upload ipk file to tmp folder
# cd /tmp
# opkg update
# opkg install luci-app-gpoint_2.6.0_all.ipk

Uninstall

# opkg remove luci-app-gpoint

LICENSE

Gpoint like OpenWrt is released under the GPL v3.0 License - see detailed LICENSE.