Die folgenden Informationen beziehen sich auf Gluon >= 2016.1.x.
Erfolgreich getestete Hardware
siehe auch: http://www.gpsinformation.org/dale/nmea.htm
Das Modul ist momentan nicht in der Pinneberger Standardfirmware. Um es zu integrieren, muß die Site-Konfiguration etwas angepaßt werden:
GLUON_TLWR1043_SITE_PACKAGES := $(USB_PACKAGES_BASIC) $(USB_PACKAGES_GPS)
opkg update opkg install kmod-usb-acm
Test
cat /dev/ttyACM0
Es gibt kleinen GPS-Daemon ugps
, der sich für die Positionsermittlung
anbietet.
In Gluon ist das Paket zu finden unter openwrt/package/utils/ugps
.
Dort ist ein Makefile, was die Integration steuert.
Im Openwrt ist eine veraltete, nicht funktionsfähige Version konfiguriert.
Das Makefile ist mit der entsprechenden Commit-Nummer und dem dazugehörigen
Datum anzupassen.
In der aktuellen Version sind noch Fehler, für die jedoch bereits ein Patch existiert.
Die aktuellen GPS-Daten kann man wie folgt abfragen:
ubus call gps info
Die ubus-Daten können automatisiert an uci übergeben werden. Beachte es ist kein commit eingebaut, damit keine Flash-Schreibzugriffe stattfinden:
#!/usr/bin/lua UTIL = require 'luci.util' JSON = require 'luci.jsonc' rawdata = UTIL.exec("ubus call gps info") if rawdata == nil or rawdata == '' then os.exit() end gpsdata = JSON.parse(rawdata) if (gpsdata.signal == false) or (gpsdata.age > 900) then UTIL.exec("uci set gluon-node-info.@location[0].share_location='0'") os.exit() end UTIL.exec("uci set gluon-node-info.@location[0].share_location='1'") UTIL.exec("uci set gluon-node-info.@location[0].latitude=" .. gpsdata.latitude) UTIL.exec("uci set gluon-node-info.@location[0].longitude=" .. gpsdata.longitude)
Position automatisch aktualisieren:
*/15 * * * * /usr/scripts/locationupdate.lua