電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>如何使用Arduino MKR GSM 1400的蜂窩定位

如何使用Arduino MKR GSM 1400的蜂窩定位

2023-06-15 | zip | 0.00 MB | 次下載 | 免費(fèi)

資料介紹

描述

注意:本教程可能已過時(shí),請(qǐng)到此處獲取更新版本。

?

該項(xiàng)目的目的是展示如何使用 Arduino MKR GSM 1400 的蜂窩定位。為此,我們實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的應(yīng)用程序,允許您在收到帶有安全檢查的 SMS 時(shí)重試 MKR GSM 的緯度和經(jīng)度收到信。從收到的 SMS 中恢復(fù)發(fā)件人號(hào)碼,并使用適當(dāng)?shù)?Google 地圖鏈接創(chuàng)建回復(fù),該鏈接由 u-blox 模塊提供的位置服務(wù)給出的坐標(biāo)完成。

你需要什么

該項(xiàng)目基于 Arduino MKR GSM 1400、天線、LiPo 電池組、智能手機(jī)和一張數(shù)據(jù) SIM 卡。

  • Arduino MKR GSM 1400 執(zhí)行草圖并支持允許我們項(xiàng)目所需的本地化功能的 GSM 連接;
  • 需要 SIM 卡才能訪問數(shù)據(jù)網(wǎng)絡(luò)并允許網(wǎng)絡(luò)操作;
  • 需要 PIN、APN 和訪問憑證才能連接到數(shù)據(jù)網(wǎng)絡(luò)。

硬件設(shè)置

這個(gè)項(xiàng)目不需要任何特別的東西。將天線連接到板上,插入 SIM 卡并將 LiPo 電池連接到 JST 連接器。

LiPo 電池是可選的,但它可以應(yīng)對(duì) GSM 模塊可能需要的電流峰值,尤其是在覆蓋范圍較差的情況下。

?
pYYBAGNgvVqAXD7cAAnON_oYpII734.jpg
?

這個(gè)怎么運(yùn)作

該項(xiàng)目使用 MKRGSM 庫(kù)來管理 SMS 消息和基于單元的地理定位。

收到 SMS 時(shí),檢查內(nèi)容以查明它是否包含字母“L”。只有在這種情況下,草圖才會(huì)進(jìn)行本地化和 SMS 傳輸。使用這種解決方案,任何號(hào)碼都可以請(qǐng)求系統(tǒng)的位置,但只有知道密碼(“密信”)的人才能得到答復(fù)。這是執(zhí)行檢查的行,if (c != 76)76 是“L”的 ASCII 碼。您可以更改值以更改識(shí)別的字母。

GSM 模塊沒有 GPS 接收器,但制造商有一個(gè)關(guān)于 GSM 網(wǎng)絡(luò)中每個(gè)小區(qū)位置的數(shù)據(jù)庫(kù),因此它為所提供的每個(gè)小區(qū) ID 提供坐標(biāo)。該系統(tǒng)在城市地區(qū)非常準(zhǔn)確,每個(gè)小區(qū)覆蓋一個(gè)小區(qū)域。在農(nóng)村地區(qū),每個(gè)小區(qū)的覆蓋范圍要大得多,所提供的位置也比較粗略。

要為 Google 地圖創(chuàng)建鏈接,我們使用標(biāo)準(zhǔn) URL,我們只需在末尾連接正確的 Long 和 Lat 值。此 URL 類似于“https://www.google.com/maps/place/, ”。地圖上顯示的位置將是細(xì)胞基于物理的位置;我們的棋盤在牢房覆蓋的范圍內(nèi)。

草圖

以下是草圖的詳細(xì)描述;第一個(gè)代碼段用于包含應(yīng)用程序所需的庫(kù)。

MKRGSM包括所有 GSM 連接、本地化和 SMS 管理功能,這可通過對(duì)象GSMClient、GPRS、GSMGSMLocation 獲得,SMS 管理 API 可通過對(duì)象GSM_SMS 獲得,標(biāo)頭ArduinoLowPower導(dǎo)入允許低功耗管理的 API董事會(huì)的模塊。

如果您從 Web 編輯器下載代碼,您會(huì)發(fā)現(xiàn)一個(gè) arduino_secrets.h文件,其中包含PIN、APN、用戶密碼等敏感數(shù)據(jù)。在 Web 編輯器上,您必須在 Secrets 選項(xiàng)卡中填寫敏感數(shù)據(jù)。

// include the GSM library
#include 
#include "ArduinoLowPower.h"
char PINNUMBER [] = SECRET_PINNUMBER;
char GPRS_APN[] = SECRET_GPRS_APN;
char GPRS_LOGIN [] =SECRET_GPRS_LOGIN;
char GPRS_PASSWORD[] =SECRET_GPRS_PASSWORD;
// initialize the library instances
GPRS gprs;
GSM gsmAccess;
GSM_SMS sms;
GSMLocation location;

measureLocation ()查詢模塊以通過蜂窩網(wǎng)絡(luò)重試坐標(biāo),如果新坐標(biāo)可用,則將其分配給全局變量,否則再次詢問 45 秒,如果沒有尊重精度約束的可用測(cè)量,則返回最后一個(gè)好的測(cè)量

//global variable used for location management
String GSMlatitude = "0.000000";
String GSMlongitude = "0.000000";
// This function use the location's APIs to get the device coordinates and update the globa variable if all the requirement are satisfied
void measureLocation() {
unsigned long timeout = millis();
while (millis() - timeout < 45000) {
if (location.available() && location.accuracy() < 300 && location.accuracy() != 0) {
GSMlatitude = String(location.latitude(), 6);
GSMlongitude = String(location.longitude(), 6);
break;
}
}
}

connectNetwork()函數(shù)使用 API smAccess.begingprs.attachGPRS板子連接到數(shù)據(jù)網(wǎng)絡(luò);使用由 arduino_secrets.h 中的聲明分配的憑證數(shù)據(jù)pin 、apn userpass 。

// The connectNetwork() function is used for the board data connection
void connectNetwork()
{
bool status = false;
//set global AT command timeout this allow to recover from uart communication
// freeze between samd module and ublox module.
gprs.setTimeout(100000);
gsmAccess.setTimeout(100000);
// Start GSM connection
while (status == false) {
if ((gsmAccess.begin(PINNUMBER) == GSM_READY) &
(gprs.attachGPRS(GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD) == GPRS_READY)) {
status = true;
} else {
delay(1000);
}
}
}
The setup section allow to initialize all the object used by the sketch, is called the connectionNetwork() function to establish the data connection and the localization structure beginning.
//code section used to initialize data connection and localization object
void setup() {
connectNetwork();
location.begin();
}

最后一個(gè)代碼部分是實(shí)現(xiàn) SMS 管理和位置測(cè)量的循環(huán)功能,每次有新的 SMS 可用時(shí),板都會(huì)向發(fā)送者發(fā)送帶有板坐標(biāo)的 SMS 響應(yīng),以減少板的消耗關(guān)閉模塊和進(jìn)入深度睡眠 60 秒。

void loop() {
 int c;
 String response;
 String messager = "";
 measureLocation();
 unsigned long timeout = millis();
 while (millis() - timeout < 5000) {
if (sms.available()) { //check for SMS available
char senderNumber[20] = {"0"};
sms.remoteNumber(senderNumber, 20); //Get remote number
int c = sms.read();
if (c != 76) {
sms.flush();
break;
}
//concatenate the string message to be sended to the remote number
String txtMsg = "https://www.google.com/maps/place/" + GSMlatitude + "," + GSMlongitude;
// send the message
sms.beginSMS(senderNumber);
sms.print(txtMsg);
sms.endSMS();
break;
}
 }
 //Turn off the GSM module to gain the lowest power consumption from the board while are sleeping
 gsmAccess.shutdown();
 LowPower.sleep(60000); //enable the low power for 60 seconds and after retry the board
 connectNetwork(); //turn on the module and reconect to data network
}

如何使用它

如上所述設(shè)置硬件,使用您的訪問憑據(jù)個(gè)性化草圖,將草圖加載到板上,然后等待與 GSM 網(wǎng)絡(luò)建立連接。這可能需要 30 秒。

建立連接后,只需向 MKRGSM SIM 號(hào)碼發(fā)送一條帶有“L”文本的短信:這將啟動(dòng)本地化過程,并且董事會(huì)將回復(fù)一條短信,其中包含帶有請(qǐng)求位置的谷歌地圖鏈接。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)