Rumah >hujung hadapan web >tutorial js >Mengesan data GPS dengan Tessel 2
Penjejakan GPS Menggunakan modul Tessel 2 dan GPS: Projek kedudukan masa nyata berdasarkan JavaScript
Artikel ini memperkenalkan cara membina sistem penjejakan GPS masa nyata menggunakan mikrokontroler Tessel 2 dan modul GPSnya. Tessel 2 menyokong pengaturcaraan JavaScript dan boleh melanjutkan fungsinya melalui pelbagai modul. Kami akan belajar bagaimana untuk menyambungkan modul GPS, menulis kod JavaScript di Tessel 2-side untuk memproses data GPS, dan membina pelayan Node.js dan integrasi Peta Google front-end untuk mencapai visualisasi lokasi masa nyata.
1
Sambungkan modul GPS ke pelabuhan Tessel 2 (berhampiran penyambung kuasa USB). Pastikan pin GND disambungkan ke pin GND Tessel 2.
2. Penyediaan perisian
Buat projek:
t2 init
, sila pasangkannya secara global terlebih dahulu: .
npm install gps-a2235h
pakmanager
npm install pakmanager -g
iv.
Kod berikut membina pelayan WebSocket, menerima data GPS yang dihantar oleh Tessel 2 dan menyiarkannya kepada semua pelanggan yang disambungkan:
<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
Tambah kod API Peta Google dan JavaScript dalam failuntuk memaparkan maklumat lokasi masa nyata dan peta haba. (Kod API Google Maps terperinci ditinggalkan di sini, sila rujuk teks asal atau tutorial yang berkaitan.)
<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>
vi
Run node.js Server: untuk melihat hasil penjejakan GPS masa nyata.
public/index.html
7.
node index.js
t2 run index.js
Perhatikan bahawa anda perlu menggantikan pemegang tempat "[alamat IP pelayan anda]" dalam kod ke alamat IP pelayan sebenar anda, serta mendapatkan kunci API Peta Google. Pastikan Tessel 2 dan pelayan disambungkan ke rangkaian yang sama.
Atas ialah kandungan terperinci Mengesan data GPS dengan Tessel 2. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!