使用Traccar的osand格式通过HTTPS发送数据。仅仅发送少量信息似乎数据量有点大,但如果不考虑安全问题,可以使用普通的老式HTTP,而不使用Apache的HTTPS代理。
下面是我计划每60秒运行一次的LtAP和LtAP Mini脚本。它将GPS和健康数据格式化为osand格式。不知为什么,特拉卡用节作为速度单位。由于Mikro雷竞技网站tik脚本不支持浮动,所以没有办法将km/h转换为节。虽然Traccar说的是节,但数值是km/h。谁会在车里打结啊?
这个脚本是最好的努力-如果你失去通信,脚本将尝试发送消息,但显然失败了,所以你的Traccar数据库将有时间间隙,当数据无法传递。
这是为LtAP准备的:
代码:选择所有
{:local devid:local spd:local alti:local lat:local vld:local tempC:local battdV:local battV:set $devid "UNIQUEDEVICEID":local sendurl ("https://YOUR.TRACCAR.SERVER.URL/") /system gps monitor once do={:set $vld $("valid"):set $lat $("latitude"):set $lon $("longitude"):set $spd $("speed"):set $alti $("altitude")}:set tempC [/system health get temperature]:set $battdV [/system health get voltage]:set battV ((($battdV)/10)。“。”.($battdV % 10)) if ($vld = true) do {:set $alti [:pick $alti 0 [:find $alti "m" -1]]:set $spd [:pick $spd 0 [:find $spd " km/h" -1]]:本地发送数据("\?id = "。devid美元。“lat =”。lat美元。“朗=”。元朗。“高度=”。 $alti . "&speed=" . $spd . "&battery=" . $battV . "&temperature=" . $tempC) /tool fetch mode=https url=$sendurl port=40445 http-method=put http-data=$senddata http-header-field="Content-Type: application/x-www-form-urlencoded" output=none } }
这是为LtAP Mini -没有电池或温度发送:
代码:选择所有
{:local devid:local spd:local alti:local lat:local lon:local vld:set $devid "UNIQUEDEVICEID":local sendurl ("https://YOUR.TRACCAR.SERVER.URL/") /system gps monitor once do={:set $vld $("valid"):set $lat $("latitude"):set $lon $("longitude"):set $spd $("speed"):set $alti $("altitude")} if ($vld = true) do {:set $alti [:pick $alti 0 [:find $alti "m" -1]]:set $spd [:pick $spd 0 [:find $alti " km/h" -1]:local senddata ("\? ")id = "。devid美元。“lat =”。lat美元。“朗=”。元朗。“高度=”。alti美元。“多个=”。$spd) /工具获取模式=https url=$sendurl port=40445 http-method=put http-data=$senddata http-header-field="Content-Type: application/x-www-form-urlencoded" output=none}}
如果使用SSL,这是启用apache2站点的文件,用于将HTTPS代理到Traccar使用的HTTP。HTTPS OsmAnd数据被发送到端口40445,该端口被映射到HTTP 5055 (OsmAnd端口)。HTTPS web页面位于端口40444上,映射到HTTP 8082。
代码:选择所有
Listen 40444 ServerName YOUR.TRACCAR.SERVER.URL ServerAdmin webmaster@localhost DocumentRoot /var/www/html ProxyPass /api/socket ws://localhost:8082/api/socket ProxyPassReverse /api/socket ws://localhost:8082/api/socket ProxyPassReverse / http://localhost:8082/ ProxyPassReverse / http://localhost:8082/ SSLEngine on SSLCertificateFile /etc/ssl/certs/ yourcert . conf/etc/ssl/private/ yourprivate . pem SSLCertificateKeyFilepem < /虚拟主机>Listen 40445 ProxyPass / http://localhost:5055/ ProxyPassReverse / http://localhost:5055/ SSLEngine on SSLCertificateFile /etc/ssl/certs/YOURcert.pem SSLCertificateKeyFile /etc/ssl/private/YOURpriv.pem