衡阳派盒市场营销有限公司

電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>如何安全地將Arduino MKR GSM 1400板與GCP IoT Core結(jié)合使用

如何安全地將Arduino MKR GSM 1400板與GCP IoT Core結(jié)合使用

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

資料介紹

描述

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

介紹

Cloud IoT Core 是一項完全托管的服務(wù),可讓您輕松安全地連接、管理數(shù)百萬分散在全球的設(shè)備并從中提取數(shù)據(jù)。Cloud IoT Core 結(jié)合 Cloud IoT 平臺上的其他服務(wù),提供了實時收集、處理、分析和可視化物聯(lián)網(wǎng)數(shù)據(jù)的完整解決方案,以支持提高運營效率。

設(shè)備可以使用 HTTP 或MQTT連接到 GCP IoT Core 。本教程將帶您了解如何使用 MQTT 客戶端將Arduino MKR GSM 1400開發(fā)板安全地連接到 GCP IoT Core。MQTT(消息隊列遙測傳輸)是一種 M2M(機器對機器)連接協(xié)議,它提供消息訂閱和發(fā)布傳輸。

設(shè)備必須使用 JSON Web 令牌 (JWT) 進行身份驗證,有關(guān) JWT 的更多信息可以在RFC 7519中找到。GCP IoT Core 支持 RSA 和橢圓曲線算法來驗證 JSON Web 簽名 (JWS)。可以在RFC 7515中找到有關(guān) JWS 的更多信息。

每個具有板載連接功能的 Arduino MKR 板,包括 MKR GSM 1400,都配備了 Microchip ATECC508A 或ATECC608A加密元件。此加密元素可用于安全地生成和存儲 256 位 ECC(橢圓曲線加密)密鑰。我們將使用存儲在 crypto 元素中的私鑰來簽署 JWT。

軟件和硬件設(shè)置

如果您的計算機上沒有安裝 Arduino IDE,下載并安裝它。

安裝后,確保安裝了最新的“Arduino SAMD Boards”包。您可以通過打開 Arduino IDE 并打開Tools -> Board: "..." -> Board Manager...菜單條目并搜索“Arduno SAMD”來進行檢查。在撰寫本文時,1.6.20 是最新版本。

?
poYBAGSAeLqAF8eJAAB367vzJxI159.png
?

接下來,您需要使用 Arduino IDE 的庫管理器安裝將要使用的 Arduino 庫。打開 Sketch -> Include Library -> Manage Libraries ..。菜單,搜索并單獨安裝以下每個庫:

  • MKRGSM
  • Arduino_JSON
  • ArduinoECCX08(1.3.0 或更高版本)
  • ArduinoMqttClient(0.1.3 或更高版本)
  • Arduino Cloud Provider 示例(版本 1.2.0 或更高版本)

現(xiàn)在將微型 SIM 卡插入 MKR GSM 1400 板底部的插槽中,連接天線,并將 3.7V 鋰電池連接到 JST 連接器。然后將帶有微型 USB 電纜的 MKR GSM 1400 插入計算機,使用工具-> 端口“...”菜單在 Arduino IDE 中選擇串行端口,并在工具 -> 板中選擇 Arduino MKR GSM 1400“ ...”菜單。

?
poYBAGSAeL6AJ2L3AAFf7_SIPH8609.png
?

配置開發(fā)板并將其添加到 GCP IoT Core

如上所述,GCP IoT Core 要求使用 MQTT 協(xié)議連接的設(shè)備使用 JWT 進行身份驗證。我們將使用草圖在板上生成私鑰和公鑰,然后將公鑰的 PEM 值添加到 GCP IoT Core 控制臺。

可以使用 ArduinoECCX08 庫中的示例草圖生成私有和公共。使用File -> Examples -> ArduinoECCX08 -> Tools -> ECCX08JWSPublicKey在 Arduino IDE 中打開草圖。單擊“上傳”按鈕構(gòu)建草圖并將其上傳到您的電路板,然后打開串行監(jiān)視器。確保行結(jié)束配置設(shè)置為“Both NL & CR”。

如果未配置和鎖定,此草圖將提示您將 ATECC508A 永久配置為 ECC608A 加密元件。注意:此鎖定過程是永久且不可逆的,但需要使用加密元素 - 草圖設(shè)置的配置允許您將 5 個私鑰槽與任何云提供商(或服務(wù)器)一起使用,并且可以隨時為這 5 個私鑰槽中的任何一個重新生成私鑰(0 - 4) 。當(dāng)電路板從工廠發(fā)貨時,加密元件處于未配置和解鎖狀態(tài)。

在此之后,系統(tǒng)將提示您使用哪個插槽。對于本教程,我們將使用插槽 0 來生成和存儲用于公鑰的私鑰(如果需要,插槽 1 到 4 可用于生成和存儲其他私鑰)。注意:由于私鑰是在加密元素內(nèi)部生成的,因此它永遠不會離開設(shè)備并安全存儲且無法讀取。

?
pYYBAGSAeMKADocfAAJztWj4cv4603.png
?

復(fù)制生成的公鑰值,在這個截圖中的值為:

-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEFl4+DXufU84AhDGib7aMwmYwUVAp9coRdC9jOdzR
e2kqGWFEb+QP4V4YUK9Zy7PsmRABi1sWgxiAoEhg1FEQgg==
-----END PUBLIC KEY-----

我們將在稍后的步驟中將設(shè)備添加到 GCP IoT Core 時使用它。

現(xiàn)在我們有了 PEM 公鑰,我們需要登錄 GCP IoT Core 控制臺并為其創(chuàng)建一個新設(shè)備。

1) 打開網(wǎng)絡(luò)瀏覽器并轉(zhuǎn)到https://cloud.google.com/并單擊“登錄”鏈接以使用您的 Google ID 登錄。

?
poYBAGSAeMeANeiTAAULKMUsfMY365.png
?

2) 登錄后,單擊“GO TO CONSOLE”按鈕。然后您將看到主儀表板。

?
pYYBAGSAeMuASE9pAAUJsP9z95o900.png
?

3) 單擊“CREATE”鏈接創(chuàng)建一個新項目。

?
poYBAGSAeNCAMfF5AARnqPX_6wo925.png
?

4) 系統(tǒng)將提示您輸入項目名稱,我們將使用“MKR GCP 教程”作為名稱。單擊“創(chuàng)建”按鈕繼續(xù)。

?
poYBAGSAeNaAcxArAASkkxWH7b0008.png
?

5) 創(chuàng)建項目后,您將看到它的儀表板視圖。

?
pYYBAGSAeOOAS7stAAV0SraN94A870.png
?

6) 現(xiàn)在點擊左上角的菜單圖標,滾動到“BIG DATA”標題并點擊“IoT Core”鏈接。

?
pYYBAGSAePOAV2E5AAU5monuhsk154.png
?

7) 系統(tǒng)會提示您啟用API,點擊“啟用API”按鈕。

?
pYYBAGSAePeARoHIAAR6tToiAV4941.png
?

8) 啟用 API 后,系統(tǒng)將提示您創(chuàng)建設(shè)備注冊表。單擊“創(chuàng)建設(shè)備注冊表”按鈕繼續(xù)。

?
pYYBAGSAePuAKePKAASm-e2tzzs167.png
?

9) 然后你會看到一張表格。填寫“Registry ID”,選擇地區(qū)。在下面的屏幕截圖中,為注冊表 ID 輸入了“MKR_GCP_Tutorial”,并選擇了“us-central1”作為區(qū)域。填寫表格后,單擊“創(chuàng)建”按鈕。

?
poYBAGSAeQGAL19IAAYet39PK0c773.png
?

10) 然后您將看到注冊表的詳細信息。

?
pYYBAGSAeQWAXWrOAAWmYwk0nfE113.png
?

11) 要添加新設(shè)備,請單擊左側(cè)導(dǎo)航欄上的“設(shè)備”鏈接。

?
pYYBAGSAeQWAXWrOAAWmYwk0nfE113.png
?

12) 然后點擊頁面頂部標題中的“+創(chuàng)建設(shè)備”。

?
poYBAGSAeQ2AJ6kpAAWJ7pQkFTc585.png
?

13) 輸入設(shè)備名稱,在下面的截圖中使用了“MyMKRGSM1400”。必須選擇“ES256”作為“公鑰格式”。將之前在開發(fā)板上生成的 PEM 公鑰粘貼到“公鑰值”文本區(qū)域。然后單擊“創(chuàng)建”按鈕。

?
pYYBAGSAeRGAJhewAAW2qQs1eFY141.png
?

將電路板連接到 GCP IoT Core

1) 使用File -> Examples -> Arduino Cloud Provider Examples -> GoogleCloudPlatformIoTCore-> GCP_IoT_Core_GSM在 Arduino IDE 中打開 GCP IoT Core GSM sketch

2) 在 arduino_secrets.h 選項卡中,填寫 SIM 卡的 pin(如果需要),以及您正在使用的蜂窩運營商的 GPRS APN、用戶名和密碼。

// GSM settings
#define SECRET_PINNUMBER     ""
#define SECRET_GPRS_APN      "GPRS_APN" // replace your GPRS APN
#define SECRET_GPRS_LOGIN    "login"    // replace with your GPRS login
#define SECRET_GPRS_PASSWORD "password" // replace with your GPRS password

4) 然后更新項目ID、云區(qū)域、注冊表ID和設(shè)備ID值。

// Fill in your Google Cloud Platform - IoT Core info
#define SECRET_PROJECT_ID   ""
#define SECRET_CLOUD_REGION ""
#define SECRET_REGISTRY_ID  ""
#define SECRET_DEVICE_ID    ""

單擊 GCP 控制臺頂部的菜單欄可以找到項目 ID 值。對于上述步驟,值是:

#define SECRET_PROJECT_ID   "mkr-gcp-tutorial"
#define SECRET_CLOUD_REGION "us-central1"
#define SECRET_REGISTRY_ID  "MKR_GCP_Tutorial"
#define SECRET_DEVICE_ID    "MyMKRGSM1400"

5) 將草圖上傳到您的板上并打開串口監(jiān)視器。該板將嘗試連接到蜂窩網(wǎng)絡(luò),如果成功,則嘗試使用 MQTT 連接到 GCP IoT Core。

?
poYBAGSAeRaAem85AAM9AI_GCWc051.png
?

在 GCP IoT Core 上與開發(fā)板交互

現(xiàn)在您的開發(fā)板已成功連接到 GCP IoT Core,我們可以使用 GCP IoT Core 控制臺與其進行交互。該草圖每 5 秒向/devices/{deviceId}/state主題發(fā)送一條消息,并在/devices/{deviceId}/config主題和/devices/{deviceId}/commands/#主題上偵聽消息。

在 GCP IoT Core 控制臺的設(shè)備頁面中,單擊“發(fā)送命令”按鈕。

?
pYYBAGSAeRqAatvaAAR4hLVGzfo679.png
?

將出現(xiàn)一個模式對話框,您可以在其中輸入要發(fā)送的消息。在“Hello There!”下方的屏幕截圖中 被輸入。單擊“發(fā)送命令”按鈕發(fā)送消息。

?
pYYBAGSAeR2ACq4aAAR1ZU1Dbw0328.png
?

一旦開發(fā)板收到消息,它將在串行監(jiān)視器上打印出來。

?
poYBAGSAeSKAIKw5AAOKWqVy5Lo787.png
?

要查看板發(fā)送的消息,請單擊“配置和狀態(tài)歷史記錄”選項卡。

?
pYYBAGSAeS6AdnSjAATlwXl_A7I692.png
?

消息將以 Base64 編碼格式顯示,要查看值,請單擊并在列表中輸入并選擇“文本”單選按鈕。

?
poYBAGSAeTWATwAsAAR2BcyXqKo411.png
?

在上面的屏幕截圖中,開發(fā)板正在發(fā)送一個“hello 464488”值,464488 值是開發(fā)板上millis()函數(shù)的結(jié)果。

結(jié)論

在本教程中,我們介紹了如何安全地將 Arduino MKR GSM 1400 板與 GCP IoT Core 結(jié)合使用。已簽名的 JWT 用于使用 MQTT 協(xié)議與 GCP IoT Core 進行身份驗證,ATECC508A 或 ATECC608A 存儲用于簽署 JWT 的私鑰。MQTT 消息被發(fā)送到板和從板發(fā)送。

這僅僅是個開始,您可以將 GCP IoT Core 與 GCP 提供的許多其他服務(wù)一起使用!


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

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  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元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

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

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  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十天學(xué)會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
百家乐投注平台信誉排行| 如何看百家乐的路纸| 百家乐官网平7s88| 优博国际娱乐城| 大发8888娱乐城 真钱| 百家乐电脑游戏机投注法实例| 百家乐官网的巧门| 百家乐官网庄家的胜率| 大发888赌场娱乐网规则| 百家乐存1000送| 百家乐书包| 风水24山| 百家乐官网纸牌赌博| 网上百家乐官网有假的吗| 桌上游戏| 六合彩136| 大发888真钱游戏平台| 金满堂百家乐的玩法技巧和规则| 百家乐开户最快的平台是哪家| 风水24山详解| 网上百家乐官网赌博网| 怎么玩百家乐官网网上赌博| 澳门百家乐官网娱乐场| 微山县| 888达人| 单机棋牌游戏下载| 大发888娱乐85战神版| 百家乐网上真钱娱乐场开户注册| 职业赌百家乐技巧| 百家乐的玩法和技巧| 百家乐官网有试玩的吗| 唐朝百家乐官网的玩法技巧和规则 | 沙龙娱乐开户| 德州扑克视频教学| 大发888微信公众号2| 大发888亚洲城| 威尼斯人娱乐城购物| 百家乐网| 百家乐群| 幸运水果机电脑版| 威尼斯人娱乐场是真的吗|