Maison >interface Web >js tutoriel >Suivi des données GPS avec le Tessel 2
Suivi GPS à l'aide de modules Tessel 2 et GPS: un projet de positionnement en temps réel basé sur JavaScript
Cet article présente comment construire un système de suivi GPS en temps réel à l'aide du microcontrôleur Tessel 2 et de son module GPS. Tessel 2 prend en charge la programmation JavaScript et peut étendre ses fonctionnalités via divers modules. Nous apprendrons à connecter des modules GPS, à écrire du code JavaScript sur Tessel 2 côté pour traiter les données GPS et à créer un serveur Node.js et une intégration frontale Google Maps pour obtenir une visualisation de localisation en temps réel.
1. Connectez le module GPS au port A Tessel 2 (près du connecteur d'alimentation USB). Assurez-vous que la broche GND est connectée à la broche GND de Tessel 2.
2. Préparation du logiciel
Créez un dossier nommé "GPS" dans le terminal, entrez le dossier et exécutez pour initialiser le nouveau projet.
t2 init
Utilisez NPM pour installer le module GPS: (ajustez le nom du module en fonction de votre modèle de module GPS). Si vous rencontrez une erreur non trouvée par la commande , veuillez l'installer en premier à mondialement: npm install gps-a2235h
. pakmanager
npm install pakmanager -g
Le code suivant implémente l'acquisition de données GPS et l'envoie au serveur via WebSocket:
iv.
Le code suivant construit un serveur WebSocket, reçoit les données GPS envoyées par Tessel 2 et la diffuse à tous les clients connectés:<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. Intégration frontale Google Maps
Ajoutez de l'API Google Maps et du code JavaScript dans le fichier
<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>pour afficher les informations de localisation en temps réel et les cartes de chaleur. (Le code API détaillé Google Maps est omis ici, veuillez vous référer au texte original ou aux tutoriels connexes.)
VI.
Exécuter le serveur Node.js: public/index.html
Exécutez le code Tessel 2:
Ouvrez le navigateur pour visiternode index.js
t2 run index.js
À la fin de cet article, nous fournissons des FAQ sur le suivi des données GPS à l'aide de Node.js, y compris comment utiliser les modules GPS, construire des applications de localisation, suivi en temps réel avec socket.io et suivi dans GPS avec Tessel 2 http://[您的服务器IP地址]:5000
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!