本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
首要步驟
重要
此頁面指的是已棄用的亞馬遜 FreeRTOS 存儲庫。我們建議您在建立新專案時從這裡開始。如果您已經有一個現有的 FreeRTOS 專案以目前已取代的亞馬遜免費伺服器儲存庫為基礎,請參閱. 亞馬遜自由 Github 存儲庫遷移指南
若要開始使用 FreeRTOS AWS IoT,您必須擁有一個 AWS 帳戶、具有存取權限的使用者 AWS IoT 和 FreeRTOS 雲端服務。您也必須下載 FreeRTOS 並設定您主機板的 FreeRTOS 示範專案才能使用。 AWS IoT以下章節將逐步引導您完成這些要求。
注意
-
如果您使用的是義式濃縮咖啡 ESP32-DevKit C,ESP-勞弗套件,或 ESP32-WROOM-32SE,請跳過這些步驟並轉到。開始使用意式濃縮咖啡 ESP32-DevKit C 和歐洲環保工具組
-
如果您使用的是 Nordic nRF52840-DK,請略過這些步驟並前往Nordic nRF52840-DK 入門。
設定您的 AWS 帳戶和權限
註冊一個 AWS 帳戶
如果您沒有 AWS 帳戶,請完成以下步驟來建立一個。
若要註冊成為 AWS 帳戶
開啟 https://portal.aws.amazon.com/billing/signup
。 請遵循線上指示進行。
部分註冊程序需接收來電,並在電話鍵盤輸入驗證碼。
當您註冊一個時 AWS 帳戶,將創建AWS 帳戶根使用者一個。根使用者有權存取該帳戶中的所有 AWS 服務 和資源。安全性最佳做法是將管理存取權指派給使用者,並僅使用 root 使用者來執行需要 root 使用者存取權的工作。
AWS 註冊過程完成後,會向您發送確認電子郵件。您可以隨時登錄 https://aws.amazon.com/
建立具有管理權限的使用者
註冊後,請確保您的安全 AWS 帳戶 AWS 帳戶根使用者 AWS IAM Identity Center、啟用和建立系統管理使用者,這樣您就不會將 root 使用者用於日常工作。
保護您的 AWS 帳戶根使用者
-
選擇 Root 使用者並輸入您的 AWS 帳戶 電子郵件地址,以帳戶擁有者身分登入。AWS Management Console
在下一頁中,輸入您的密碼。 如需使用根使用者登入的說明,請參閱 AWS 登入 使用者指南中的以根使用者身分登入。
-
若要在您的根使用者帳戶上啟用多重要素驗證 (MFA)。
如需指示,請參閱《IAM 使用者指南》中的為 AWS 帳戶 根使用者啟用虛擬 MFA 裝置 (主控台)。
建立具有管理權限的使用者
-
啟用 IAM Identity Center。
如需指示,請參閱 AWS IAM Identity Center 使用者指南中的啟用 AWS IAM Identity Center。
-
在 IAM 身分中心中,將管理存取權授予使用者。
以具有管理權限的使用者身分登入
-
若要使用您的 IAM Identity Center 使用者簽署,請使用建立 IAM Identity Center 使用者時傳送至您電子郵件地址的簽署 URL。
如需使用 IAM 身分中心使用者登入的說明,請參閱使用AWS 登入 者指南中的登入 AWS 存取入口網站。
指派存取權給其他使用者
若要提供存取權,請新增權限至您的使用者、群組或角色:
-
使用者和群組位於 AWS IAM Identity Center:
建立權限合集。請按照 AWS IAM Identity Center 使用者指南 中的 建立權限合集 說明進行操作。
-
透過身分提供者在 IAM 中管理的使用者:
建立聯合身分的角色。請按照 IAM 使用者指南 的 為第三方身分提供者 (聯合) 建立角色 中的指示進行操作。
-
IAM 使用者:
-
建立您的使用者可擔任的角色。請按照 IAM 使用者指南 的 為 IAM 使用者建立角色 中的指示進行操作。
-
(不建議) 將政策直接附加至使用者,或將使用者新增至使用者群組。請遵循 IAM 使用者指南的新增許可到使用者 (主控台)中的指示。
-
註冊您的 MCU 主機板 AWS IoT
您的主機板必須註冊, AWS IoT 才能與 AWS 雲端通訊。若要註冊您的主機板 AWS IoT,您必須具備:
- 一個 AWS IoT 政策
-
此原 AWS IoT 則會授與您的裝置存取 AWS IoT 資源的權限。它存儲在 AWS 雲中。
- 一 AWS IoT 件事
-
允許您在中管理設備的 AWS IoT 東西 AWS IoT。它存儲在 AWS 雲中。
- 私密金鑰和 X.509 憑證
-
私密金鑰和憑證可讓您的裝置進行驗證 AWS IoT。
若要註冊您的主機板,請遵循下列程序。
若要建立 AWS IoT 策略
-
若要建立 IAM 政策,您必須知道您的 AWS 區域和 AWS 帳戶號碼。
若要尋找您的 AWS 帳號,請開啟AWS 管理主控台
,找出並展開右上角帳戶名稱下方的選單,然後選擇 [我的帳戶]。您的帳戶 ID 會顯示在 Account Settings (帳戶設定) 下方。 若要尋找您 AWS 帳戶的 AWS 地區,請使用 AWS Command Line Interface。若要安裝 AWS CLI,請遵循使AWS Command Line Interface 用者指南中的指示。安裝之後 AWS CLI,開啟命令提示字元視窗,然後輸入下列命令:
aws iot describe-endpoint --endpoint-type=iot:Data-ATS
輸出應如下所示:
{ "endpointAddress": "xxxxxxxxxxxxxx-ats.iot.us-west-2.amazonaws.com" }
在此範例中,區域為
us-west-2
。注意
我們建議使用 ATS 端點,如範例所示。
-
瀏覽至 AWS IoT 主控台
。 -
在瀏覽窗格中,選擇 [安全],選擇 [原則],然後選擇 [建立]。
-
輸入可識別政策的名稱。
-
在 Add statements (新增陳述式) 區段中,選擇 Advanced mode (進階模式)。將下列 JSON 複製並貼入政策編輯器視窗。
以您的 AWS 地區和帳戶 ID 取aws-account
代和。aws-region
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:Connect", "Resource":"arn:aws:iot:
aws-region
:aws-account-id
:*" }, { "Effect": "Allow", "Action": "iot:Publish", "Resource": "arn:aws:iot:aws-region
:aws-account-id
:*" }, { "Effect": "Allow", "Action": "iot:Subscribe", "Resource": "arn:aws:iot:aws-region
:aws-account-id
:*" }, { "Effect": "Allow", "Action": "iot:Receive", "Resource": "arn:aws:iot:aws-region
:aws-account-id
:*" } ] }此政策可授予下列許可:
iot:Connect
-
授予您的裝置使用任何用戶端 ID 連線至 AWS IoT 訊息代理程式的權限。
iot:Publish
-
授予裝置能發佈任何 MQTT 主題之 MQTT 訊息的許可。
iot:Subscribe
-
授予裝置能訂閱任何 MQTT 主題篩選條件的許可。
iot:Receive
-
授予裝置能接收 AWS IoT 訊息中介裝置中任何 MQTT 主題訊息的許可。
-
選擇建立。
為裝置建立 IoT 實物、私有金鑰和憑證
-
瀏覽至 AWS IoT 主控台
。 -
在導覽窗格中,選擇 Manage (管理),然後選擇 Things (實物)。
-
如果您的帳戶中尚未註冊任何 IoT 實物,則會顯示 You don't have any things yet (尚無任何實物) 頁面。如果您看到此頁面,請選擇 Register a thing (註冊實物)。否則,請選擇 Create (建立)。
-
在 [建立 AWS IoT 物件] 頁面上,選擇 [建立單一物件]。
-
在 Add your device to the thing registry (將您的裝置新增至物件登錄檔) 頁面中,輸入物件的名稱,然後選擇 Next (下一步)。
-
在 Add a certificate for your thing (新增物件的憑證) 頁面中,選擇 One-click certificate creation (按一下建立憑證) 下方的 Create certificate (建立憑證)。
-
選擇各個項目的 Download (下載) 連結,下載您的私有金鑰和憑證。
-
選擇 Activate (啟用) 以啟用您的憑證。需先啟用憑證才可開始使用。
-
選擇 [附加原則],將原則附加至憑證,以授予裝置 AWS IoT 作業存取權。
-
選擇您剛建立的政策,然後選擇 Register thing (註冊實物)。
在註冊您的主機板之後 AWS IoT,您可以繼續執行下載 FreeRTOS。
下載 FreeRTOS
您可以從 FreeRTOS 軟體庫下載 Free GitHub
下載 FreeRTOS 之後,您可以繼續執行。設定 FreeRTOS 範
設定 FreeRTOS 範
您必須先編輯 FreeRTOS 目錄中的一些設定檔,才能在主機板上編譯並執行任何示範。
設定您的 AWS IoT 端點
您必須將 FreeRTOS 與 AWS IoT 端點一起提供,以便在主機板上執行的應用程式可以將要求傳送到正確的端點。
-
瀏覽至 AWS IoT 主控台
。 -
在左側的導覽窗格中,選擇設定。
您的 AWS IoT 端點會顯示在裝置資料端點中。它看起來應該會像這樣:
。記下此端點。1234567890123
-ats.iot.us-east-1
.amazonaws.com -
在導覽窗格中,選擇 Manage (管理),然後選擇 Things (實物)。
您的裝置應該有 AWS IoT 物件名稱。記下此名稱。
-
打開
demos/include/aws_clientcredential.h
. -
指定以下常數的值:
-
#define clientcredentialMQTT_BROKER_ENDPOINT "
Your AWS IoT endpoint
"; -
#define clientcredentialIOT_THING_NAME "
The AWS IoT thing name of your board
"
-
設定您的 Wi-Fi
如果您的主機板透過 Wi-Fi 連線連線到網際網路,您必須提供具有 Wi-Fi 認證的 FreeRTOS 才能連線到網路。如果您的主機板不支援 Wi-Fi,您可以略過這些步驟。
-
demos/include/aws_clientcredential.h
. -
指定以下
#define
常數的值:-
#define clientcredentialWIFI_SSID "
The SSID for your Wi-Fi network
" -
#define clientcredentialWIFI_PASSWORD "
The password for your Wi-Fi network
" -
#define clientcredentialWIFI_SECURITY
Wi-Fi 網路的安全類型
有效安全類型為:
-
eWiFiSecurityOpen
(開放,不具安全性) -
eWiFiSecurityWEP
(WEP 安全性) -
eWiFiSecurityWPA
(WPA 安全性) -
eWiFiSecurityWPA2
(WPA2 安全性)
-
-
格式化您的 AWS IoT 認證
FreeRTOS 必須具有與您註冊物件相關聯的 AWS IoT 憑證和私密金鑰及其權限原則,才能代表您的裝置成功通訊。 AWS IoT
注意
若要設定身分證 AWS IoT 明,您必須擁有註冊裝置時從 AWS IoT 主機下載的私密金鑰和憑證。將裝置註冊為 AWS IoT 物件後,您可以從 AWS IoT 主控台擷取裝置憑證,但無法擷取私密金鑰。
FreeRTOS 是一個 C 語言專案,憑證和私密金鑰必須經過特殊格式化才能新增至專案。
-
在瀏覽器視窗中,開啟
tools/certificate_configuration/CertificateConfigurator.html
。 -
在 Certificate PEM file (憑證 PEM 檔案) 下方,選擇您從 AWS IoT 主控台下載的
。ID
-certificate.pem.crt -
在 Private Key PEM file (私有金鑰 PEM 檔案) 下方,選擇您從 AWS IoT 主控台下載的
。ID
-private.pem.key -
選擇 Generate and save aws_clientcredential_keys.h (產生並儲存 aws_clientcredential_keys.h),並將檔案儲存到
demos/include
中。這會覆寫目錄中現有的檔案。注意
將憑證和私有金鑰硬式編碼,僅作示範用途。生產層級應用程式必須將這些檔案存放在安全的位置。
設定 FreeRTOS 之後,您可以繼續參閱主機板的入門指南,以設定平台的硬體及其軟體開發環境,然後在主機板上編譯並執行示範。如需主機板特定的指示,請參閱主機板特定的入門指南。在入門教學課程中使用的示範應用程式是 CoremQtt 相互驗證示範,位於。demos/coreMQTT/mqtt_demo_mutual_auth.c