步驟1:材料
?Grove Base Shield
?Grove GPS
步驟2:接線
Grove GPS使用串行通信將數據發送到Intel Edison。如果使用我的Grove GPS(使用SIM28 GPS模塊),則波特率可以從9600到115200,這帶來了快速的通信,因此可以立即獲取更新的數據。 Grove GPS必須連接到Grove Base Shield的UART端口中。
步驟3:挑戰
?功耗
因為Grove GPS需要高電流電源,我意識到Intel Edison中的USB電纜作為電源是不夠的,特別是當您有其他傳感器時(只需插入酒精傳感器和GPS就會看到)。因此,我使用了收到的電源插頭上的外部電源以提供足夠的電源。如果要使用
?處理GPS數據,GPS使用一種稱為NMEA(美國國家海洋電子協會)的特定格式,其中包含一些句子,每個句子都描述了GPS捕獲的一個特定信息(例如位置和位置)。高度數據,衛星數據等)。一個注意事項:我在描述有關傳感器此信息的Seedstudio Wiki(http://www.seeedstudio.com/wiki/Grove_-_GPS)中找到了此信息。另外,Google Maps不使用這種格式來顯示位置,因此我需要尋找一種轉換此位置數據的方法,并且發現了Thomas Tingsted Mathiesen(http://www.tma.dk/gps/)撰寫的文章。 ,它描述了一種簡單的轉換方法(非常感謝Thomas!)。
步驟4:源代碼
在我編寫的簡單代碼下面以下:
捕獲GPS信息
查找$ GPGGA記錄(有關NMEA的更多信息,請訪問http://gpsinformation.org/dale/nmea.htm
收集緯度/經度/從NMEA轉換為12月
使用GPS信息生成Google Maps鏈接
由于Google Maps API需要密鑰,因此我創建了一個,但我在代碼中忽略了我。請確保通過遵循https://developers.google.com/maps/documentation/static-maps/
/*jslint node:true, vars:true, bitwise:true, unparam:true */
/*jshint unused:true */
// Leave the above lines for propper jshinting
var GPSSensor = require(‘jsupm_ublox6’);
var myGPSSensor = new GPSSensor.Ublox6(0);
setTimeout(getGPSInfo(), 1000);
if (!myGPSSensor.setupTty(GPSSensor.int_B9600)) {
console.log(“Failed to setup tty port parameters”);
process.exit(0);
}
bufferLength = 256;
var nmeaBuffer = new GPSSensor.charArray(bufferLength);
function getGPSInfo() {
if (myGPSSensor.dataAvailable()) {
var rv = myGPSSensor.readData(nmeaBuffer, bufferLength);
var GPSData, dataCharCode, isNewLine, lastNewLine;
var numlines= 0;
if (rv 》 0) {
GPSData = “”;
// read only the number of characters
// specified by myGPSSensor.readData
for (var x = 0; x 《 rv; x++) {
var data = nmeaBuffer.getitem(x);
GPSData += data;
}
console.log(processData(GPSData));
}
if (rv 《 0) { // some sort of read error occured
console.log(“Port read error.”);
process.exit(0);
}
}
}
function processData(rawData) {
var data = rawData.split(“,”);
var index = data.indexOf(“$GPGGA”);
var lat = data[index+2];
var lon = data[index+4];
var latDec = convertNmeaToDec(lat);
var lonDec = convertNmeaToDec(lon);
if(data[index+3] == “S”) latDec = latDec * -1;
if(data[index+4] == “W”) lonDec = lonDec * -1;
var url = “https://maps.googleapis.com/maps/api/staticmap?center=”;
url += -latDec;
url += “,”;
url += -lonDec;
url += “&zoom=14&size=600x300&key=*** API KEY OMMITED! PLACE YOU OWN KEY HERE ***”;
return url;
}
// Function to convert the NMEA format from GPS to Decimal
// This function is needed to show in Google Maps.
// Thanks to http://www.tma.dk/gps/
function convertNmeaToDec(nmea) {
var deg = (nmea / 100);
var decPos = deg + ((nmea - (deg * 100)) / 60);
return decPos;
}
// Print message when exiting
process.on(‘SIGINT’, function() {
console.log(“Exiting.。.”);
process.exit(0);
});
第5步:結論
代碼非常簡單,但要使用GPS數據以及如何將其轉換為k則需要很多信息nown格式(例如Google Maps使用的格式)。我希望此說明可以幫助每個人使用英特爾愛迪生和位置數據。
-
gps
+關注
關注
22文章
2986瀏覽量
169322 -
追蹤器
+關注
關注
0文章
172瀏覽量
26113
發布評論請先 登錄
GPS同步時鐘裝置(北斗衛星同步時鐘)知識普及

GPS定位器供電DCDC降壓恒壓芯片H6217L 低功耗 峰值電流大60V 80V 90V100V
安信可GP-02-Kit測試過程+GPS 時鐘制作

愛普生SG5032VAN(X1G004261)差分晶振在GPS定位器中的應用
一個樹莓派,是如何同時實現飛機追蹤、氣象監測、家居控制?

智慧園區人員定位及軌跡追蹤技術哪個好?

Made with KiCad(十三):LoRa-GPS 追蹤器

雷達探測器與GPS的結合使用
園區封閉化管理之人員和車輛定位及軌跡追蹤

無線定位器追蹤器跟手機怎么連接
如何遠離網絡追蹤

評論