精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
創作
電子發燒友網>電子資料下載>電子資料>如何使用Arduino MKR GSM 1400的蜂窩定位

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

2023-06-15 | zip | 0.00 MB | 次下載 | 免費

資料介紹

描述

注意:本教程可能已過時,請到此處獲取更新版本。

?

該項目的目的是展示如何使用 Arduino MKR GSM 1400 的蜂窩定位。為此,我們實現了一個簡單的應用程序,允許您在收到帶有安全檢查的 SMS 時重試 MKR GSM 的緯度和經度收到信。從收到的 SMS 中恢復發件人號碼,并使用適當的 Google 地圖鏈接創建回復,該鏈接由 u-blox 模塊提供的位置服務給出的坐標完成。

你需要什么

該項目基于 Arduino MKR GSM 1400、天線、LiPo 電池組、智能手機和一張數據 SIM 卡。

  • Arduino MKR GSM 1400 執行草圖并支持允許我們項目所需的本地化功能的 GSM 連接;
  • 天線和電池組分別用于連接到信號良好的蜂窩數據網絡,并在其他電源不可用時為設備供電
  • 需要智能手機向MKR GSM 1400發送短信并請求GPRS本地化;
  • 需要 SIM 卡才能訪問數據網絡并允許網絡操作;
  • 需要 PIN、APN 和訪問憑證才能連接到數據網絡。

硬件設置

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

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

?
pYYBAGNgvVqAXD7cAAnON_oYpII734.jpg
?

這個怎么運作

該項目使用 MKRGSM 庫來管理 SMS 消息和基于單元的地理定位。

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

GSM 模塊沒有 GPS 接收器,但制造商有一個關于 GSM 網絡中每個小區位置的數據庫,因此它為所提供的每個小區 ID 提供坐標。該系統在城市地區非常準確,每個小區覆蓋一個小區域。在農村地區,每個小區的覆蓋范圍要大得多,所提供的位置也比較粗略。

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

草圖

以下是草圖的詳細描述;第一個代碼段用于包含應用程序所需的庫。

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

如果您從 Web 編輯器下載代碼,您會發現一個 arduino_secrets.h文件,其中包含PIN、APN、用戶密碼等敏感數據。在 Web 編輯器上,您必須在 Secrets 選項卡中填寫敏感數據。

// 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 ()查詢模塊以通過蜂窩網絡重試坐標,如果新坐標可用,則將其分配給全局變量,否則再次詢問 45 秒,如果沒有尊重精度約束的可用測量,則返回最后一個好的測量

//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()函數使用 API smAccess.begingprs.attachGPRS板子連接到數據網絡;使用由 arduino_secrets.h 中的聲明分配的憑證數據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();
}

最后一個代碼部分是實現 SMS 管理和位置測量的循環功能,每次有新的 SMS 可用時,板都會向發送者發送帶有板坐標的 SMS 響應,以減少板的消耗關閉模塊和進入深度睡眠 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
}

如何使用它

如上所述設置硬件,使用您的訪問憑據個性化草圖,將草圖加載到板上,然后等待與 GSM 網絡建立連接。這可能需要 30 秒。

建立連接后,只需向 MKRGSM SIM 號碼發送一條帶有“L”文本的短信:這將啟動本地化過程,并且董事會將回復一條短信,其中包含帶有請求位置的谷歌地圖鏈接。


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

評論

查看更多

下載排行

本周

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

本月

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

總榜

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