Heim >Web-Frontend >js-Tutorial >GPS -Daten mit dem Tessel 2 verfolgen
GPS-Tracking mit Tessel 2 und GPS-Modulen: Ein Echtzeit-Positionierungsprojekt basierend auf JavaScript
In diesem Artikel wird ein Echtzeit-GPS-Tracking-System mit dem Tessel 2-Mikrocontroller und seinem GPS-Modul erstellt. Tessel 2 unterstützt die JavaScript -Programmierung und kann seine Funktionalität durch verschiedene Module erweitern. Wir lernen, wie Sie GPS-Module anschließen, JavaScript-Code auf Tessel 2-Side schreiben, um GPS-Daten zu verarbeiten und einen Node.JS-Server und die Front-End-Google Maps-Integration zu erstellen, um die Visualisierung von Standort-Standorten in Echtzeit zu erreichen.
1 Verbinden Sie das GPS -Modul mit dem A -Port von Tessel 2 (in der Nähe des USB -Leistungsanschlusss). Stellen Sie sicher, dass der GND -Pin mit dem GND -Pin von Tessel 2 verbunden ist.
2. Softwarezubereitung
Erstellen Sie einen Ordner mit dem Namen "GPS" im Terminal, geben Sie den Ordner ein und führen Sie aus, um das neue Projekt zu initialisieren.
t2 init
Verwenden Sie NPM, um das GPS -Modul zu installieren: (Passen Sie den Modulnamen gemäß Ihrem GPS -Modulmodell an). Wenn Sie auf einen Fehler stoßen, der nicht vom Befehl gefunden wird, installieren Sie ihn bitte zuerst global: npm install gps-a2235h
. pakmanager
npm install pakmanager -g
Der folgende Code implementiert die GPS -Datenerfassung und sendet ihn über WebSocket an den Server:
iv.
Der folgende Code erstellt einen WebSocket -Server, empfängt GPS -Daten, die von Tessel 2 gesendet werden und an alle verbundenen Clients übertragen werden:<code class="language-javascript">var tessel = require("tessel"), gpsLib = require("gps-a2235h"), gps = gpsLib.use(tessel.port["A"]), WebSocket = require('ws'), ws = new WebSocket('ws://[您的服务器IP地址]:5000'), // 将[您的服务器IP地址]替换为您的服务器IP latestCoords; gps.setCoordinateFormat({'format': 'deg-dec'}); gps.on('ready', function() { console.log('GPS模块正在搜索卫星...'); gps.on('coordinates', function(coords) { console.log('纬度:', coords.lat, '\t经度:', coords.lon, '\t时间戳:', coords.timestamp); latestCoords = coords.lat + ',' + coords.lon; }); gps.on('fix', function(data) { console.log(data.numSat, '颗卫星已锁定.'); }); gps.on('dropped', function(){ console.log('GPS信号已中断'); }); }); gps.on('error', function(err){ console.log('GPS错误: ', err); }); ws.on('open', function() { setInterval(function() { if (latestCoords !== undefined) { console.log('尝试发送坐标: ' + latestCoords); ws.send(latestCoords); } else { console.log('未收到坐标数据'); } }, 10000); });</code>
5. Front-End Google Maps Integration
Google Maps API und JavaScript-Code in der Datei
<code class="language-javascript">var http = require('http'), express = require('express'), app = express(), bodyParser = require('body-parser'), server = require('http').Server(app), WebSocketServer = require('ws').Server, wss = new WebSocketServer({server: server}), port = process.env.PORT || 5000; app.use(bodyParser.json()); app.use(express.static(__dirname + '/public')); wss.on('connection', function connection(ws) { ws.on('message', function incoming(message) { console.log('收到消息: %s', message); wss.clients.forEach(function each(client) { if (client !== ws && client.readyState === WebSocket.OPEN) { client.send(message); } }); }); }); server.listen(port, function() { console.log('服务器监听端口 ' + port); });</code>hinzufügen, um Echtzeit-Standortinformationen und Wärmekarten anzuzeigen. (Der detaillierte API -Code von Google Maps wird hier weggelassen. Weitere Informationen finden Sie im Originaltext oder den zugehörigen Tutorials.)
vi
node.js Server ausführen: public/index.html
Tessel 2 Code ausführen:
Öffnen Sie den Browser, umnode index.js
t2 run index.js
Am Ende dieses Artikels stellen wir FAQs für GPS-Datenverfolgung mithilfe von node.js bereit, einschließlich der Verwendung von GPS-Modulen, Erstellen von Standorten-bewussten Anwendungen, Verfolgung in Echtzeit mit Socket.io und Verfolgung in GPS mit Tessel 2. http://[您的服务器IP地址]:5000
Das obige ist der detaillierte Inhalt vonGPS -Daten mit dem Tessel 2 verfolgen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!