diff options
author | Christian Hesse <mail@eworm.de> | 2018-08-06 14:21:55 +0200 |
---|---|---|
committer | Christian Hesse <mail@eworm.de> | 2018-08-06 14:21:55 +0200 |
commit | 2ec96e9db4dddea7ea9aa34996395c445b20cb67 (patch) | |
tree | 7a96e3169bb36300c0a67093c00121acf290bd37 | |
parent | 7fcb7a6b61a0c34a92e19ef5f35a82042f1bee11 (diff) |
add script 'gps-track'
-rw-r--r-- | global-config | 3 | ||||
-rw-r--r-- | gps-track | 33 |
2 files changed, 36 insertions, 0 deletions
diff --git a/global-config b/global-config index e5750c6..82b5eab 100644 --- a/global-config +++ b/global-config @@ -37,6 +37,9 @@ # ntp settings. A pool can rotate servers. :global "ntp-pool" "pool.ntp.org"; +# This is the address used to send gps data to. +:global "gps-track-url" "https://example.com/index.php"; + # Enable this to fetch scripts from given url. :global "script-updates-fetch" true; :global "script-updates-baseurl" "https://git.eworm.de/cgit.cgi/routeros-scripts/plain/"; diff --git a/gps-track b/gps-track new file mode 100644 index 0000000..bb4f370 --- /dev/null +++ b/gps-track @@ -0,0 +1,33 @@ +# RouterOS script: gps-track +# Copyright (c) 2018 Christian Hesse <mail@eworm.de> +# +# track gps data by sending json data to http server + +:global "identity"; +:global "gps-track-url"; + +:local gpslat; +:local gpslon; +:local gpsvalid; + +/ system gps monitor once do={ + :set $gpslat $("latitude"); + :set $gpslon $("longitude"); + :set $gpsvalid $("valid"); +} + +if ($gpsvalid) do={ + :tool fetch mode=http \ + url=$"gps-track-url" \ + check-certificate=yes-without-crl \ + http-method=post \ + http-content-type="application/json" \ + http-data=("{" . \ + "\"lat\":\"" . $gpslat . "\"," . \ + "\"lon\":\"" . $gpslon . "\"," . \ + "\"identity\":\"" . $identity . "\"" . \ + "}"); + :log debug ("Sending gps data for tracking: " . \ + "lat: " . $gpslat . " " . \ + "lon: " . $gpslon); +} |