nRF Cloud 簡介
nRF Cloud是Nordic提供的云服務,可以實現設備數據上云,OTA,輔助定位等功能。我們可以選擇所需的服務以及如何連接設備,或者使用云到云的服務,保持設備連接到我們自己的服務。
該平臺基于亞馬遜云服務 (AWS) 構建,集成了多個微服務。您和您的設備可以通過網頁門戶以及 REST、MQTT 和 CoAP API 與 nRF Cloud 服務交互。您還可以根據具體用例組合使用這些接口。
nRF Cloud 適用于多種用戶,包括使用 Nordic Semiconductor 芯片開發新產品的硬件或軟件工程師、設備群管理人員,以及使用 nRF Cloud REST API 為物聯網解決方案構建自定義用戶界面的網頁或移動應用開發人員。
什么是nRF Cloud REST API
nRF Cloud REST API 是 nRF Cloud 提供的一組基于 REST(Representational State Transfer)架構的應用程序接口。它允許開發者通過標準的 HTTP 請求與 nRF Cloud 平臺進行交互和通信。以下是 nRF Cloud REST API 的一些關鍵特點和功能:
設備管理
數據通信
安全
事件處理
用戶管理
通過 nRF Cloud REST API,開發者可以構建自定義的 web 或移動應用程序,以實現對設備的遠程監控、控制和管理。這使得開發者能夠靈活地集成 nRF Cloud 服務到現有的系統中,或者開發新的物聯網解決方案。
這個鏈接https://api.nrfcloud.com/v1/列出了所有 nRF Cloud REST API以及API的請求/應答數據格式。
本博客主要介紹怎么利用REST API實現云到云的數據交互。
準備工作一 —— 注冊nRF cloud 賬號
打開https://nrfcloud.com/#/
點擊Register,填好相關的信息后確認,此時就注冊了一個nRF cloud的開發者(developer)賬號。
如果想要體驗更多的nRF Cloud服務,如agps輔助定位,wifi定位我們需要將developer賬號升級到pro升級方式如下:
? 進入nrf cloud的DASHBOARD界面,點擊頁面右上角的plan setting選項
? 點擊 Change plan按鈕
? 此時會彈出三個等級賬號的資費標準和權限,DEVELOPER就是我們剛剛注冊的賬號等級,Pro為高級賬號,ENTERPRISE為企業賬號,升級企業賬號需要跟Nordic的銷售人員聯系,我們會根據實際情況給出收費標準。關于賬號的詳細介紹可以參考此鏈接:https://docs.nrfcloud.com/AccountAndTeamManagement/Plans/PlanOverview.html
? 點擊PRO下的upgrade!填寫相關信息,包括公司信息,信用卡卡號等,即可完成升級。
準備工作二—— 安裝rest api工具Postman
根據以下鏈接安裝POSTMAN并試驗發送請求。
https://learning.postman.com/docs/getting-started/first-steps/get-postman/
https://learning.postman.com/docs/getting-started/first-steps/sending-the-first-request/
準備工作三—— 生成Token
Token分為三種,API Key,JSON Web Token (JWT),和 Service Evaluation Token。REST API 使用 API key對用戶進行身份認證,使用 JSON Web Token (JWT) 對設備進行身份認證。nRF Cloud REST API 中的某些API要用JWT,這些API在Authorizations字段需要填入 JSON Web Token。而有些API只需要用API key做認證即可。某些API,如 FetchCurrentPendingFOTAJobExecution,支持這兩種認證方式。Service Evaluation Token起到的作用跟JWT一樣,只不過它只有30天有效期。
API Key 在nRF cloud 賬號生成的時候就自帶了,點擊右上角的user account就可以找到。
如果你是開發者賬號Service Evaluation Token 在Team里面生成,如果你是Pro賬號,在這里生成的則是沒有使用時間限制的JWT。
示例
準備工作做完了,我們就可以正式使用REST API了。下面舉幾個REST API的例子:
獲取設備信息:
用curl指令使用此API:
curl https://api.nrfcloud.com/v1/devices -H "Authorization: Bearer 0b6f1715f8e7xxxxx205752xxxxx5aeffa39"
這條API,類型是GET, 認證類型是Bearer token,Token類型是simple token,即API Key,以上指令中緊跟著Bearer后的就是nRF CLOUD賬戶中對應的API Key。
同樣,我們也可以使用POSTMAN來完成,如下圖所示,填入正確的API類型,API地址,認證類型和Token后,點擊send,在回復框中能夠得到nrf cloud的回復,列出所有設備的信息。
通過WIFI熱點的SSID來獲取WIFI定位坐標
curl指令示例:
curl -X POST https://api.nrfcloud.com/v1/location/wifi -H "Authorization: Bearer " -H "Content-Type: application/json" -d {"accessPoints":[{"macAddress":"40:9b:cd:c1:5a:40","ssid":"Nordic_WLAN_5GHz"},{"macAddress":"00:90:fe:eb:4f:42","ssid":"Nordic_Guest"}]}
這條指令API類型為POST,包含兩個header(-H),一個是Authorization,一個是Content-Type,在Authorization中輸入nrf cloud賬號相關的JWT,在Content-Type中選擇 application/json,說明我們的請求主體是json格式的,接下來-d字符后面跟著的就是以json格式編輯的WIFI的ssid和MAC地址。
同樣,在POSTMAN中,如下圖所示,填入API地址,類型選擇為POST,Token此時填入的是JWT。
然后在Header中確認選中content type為application/json
然后再Body中填入請求主體,即json格式的WIFI SSID和MAC地址,最后點擊Send,我們就可以在下面的回復框中得到經緯度和誤差。
審核編輯 黃宇
-
NRF
+關注
關注
0文章
49瀏覽量
38244 -
API
+關注
關注
2文章
1617瀏覽量
64034
發布評論請先 登錄
如何使用nRF Cloud

HarmonyOS5云服務技術分享--云函數預加載文章整理
HarmonyOS5云服務技術分享--云存儲指南
HarmonyOS5云服務技術分享--云存儲SDK文章整理
HarmonyOS5云服務技術分享--云數據庫使用指南
HarmonyOS5云服務技術分享--ArkTS調用函數
HarmonyOS5云服務技術分享--ArkTS開發Node環境
nRF Cloud Wi-Fi 定位服務
詳解REST API通信協議

告別繁瑣的云平臺開發!IoT_CLOUD之百度云

評論