步驟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文章
2904瀏覽量
166902 -
追蹤器
+關注
關注
0文章
171瀏覽量
25791
發布評論請先 登錄
相關推薦
智慧園區人員定位及軌跡追蹤技術哪個好?
![智慧園區人員定位及軌跡<b class='flag-5'>追蹤</b>技術哪個好?](https://file1.elecfans.com/web2/M00/FB/3C/wKgaomaM-12ASFggAASk6lo0GOQ476.png)
Made with KiCad(十三):LoRa-GPS 追蹤器
![Made with KiCad(十三):LoRa-<b class='flag-5'>GPS</b> <b class='flag-5'>追蹤</b><b class='flag-5'>器</b>](https://file1.elecfans.com//web1/M00/F4/D4/wKgZoWcy17-AKt35AAgeZs54cds121.png)
雷達探測器與GPS的結合使用
園區封閉化管理之人員和車輛定位及軌跡追蹤
![園區封閉化管理之人員和車輛定位及軌跡<b class='flag-5'>追蹤</b>](https://file1.elecfans.com/web2/M00/00/16/wKgZomasUXOAYAfSAB27RdPRsQk070.png)
無線定位器追蹤器跟手機怎么連接
如何遠離網絡追蹤
![如何遠離網絡<b class='flag-5'>追蹤</b>](https://file1.elecfans.com/web2/M00/05/1B/wKgZombWy5eARILjAAB6kV-Sn-0079.png)
智慧園區人員定位及軌跡追蹤技術探討
追蹤器 恒壓源應用寬輸入8-120V電壓降壓型 DCDC芯片oc5806L
卡爾曼濾波是什么 卡爾曼濾波與目標追蹤技術分析
![卡爾曼濾波是什么 卡爾曼濾波與目標<b class='flag-5'>追蹤</b>技術分析](https://file1.elecfans.com/web2/M00/DF/2E/wKgaomYu_ImAXJvjAAATZDk2KvY876.png)
評論