Standard SDK: [RTL8195AM] Google Cloud IoT - Realtek ...

文章推薦指數: 80 %
投票人數:10人

Cloud IoT Core, 結合Google Cloud IoT platform 的其他服務, 就能夠即時蒐集、處理、分析或以視覺化方式呈現相關IoT資料來提高運營效率。

1 將裝置的遙測資料傳送至Cloud ... Skiptocontent 首頁 解決方案 IoTSoC/MCU VideoSoC 開發者專區 購買開發版 StandardSDK AmebaARDUINO AmazonFreeRTOS ArmMbedEnabled AmebaMicroPython 雲服務 如何使用 使用範例 裝置註冊 論壇 相關連結 瑞昱網站 AmebaMakerPro AmebaIoTChina PoweredbyAmeba AirBoxin龍山寺 AirBoxin台大 登入 Menu 首頁 解決方案 IoTSoC/MCU VideoSoC 開發者專區 購買開發版 StandardSDK AmebaARDUINO AmazonFreeRTOS ArmMbedEnabled AmebaMicroPython 雲服務 如何使用 使用範例 裝置註冊 論壇 相關連結 瑞昱網站 AmebaMakerPro AmebaIoTChina PoweredbyAmeba AirBoxin龍山寺 AirBoxin台大 登入 Choosealanguage 繁體中文 简体中文 English StandardSDK:[RTL8195AM]GoogleCloudIoT 簡介 CloudIoTCore提供全方位管理的整合式服務,可讓您以簡便安全的方式針對全球各地裝置的IoT資料進行大規模的連結、管理和擷取作業。

CloudIoTCore,結合GoogleCloudIoTplatform的其他服務,就能夠即時蒐集、處理、分析或以視覺化方式呈現相關IoT資料來提高運營效率。

將裝置的遙測資料傳送至CloudPub/Sub主題來觸發Cloud應用功能。

也可以利用CloudDataflow進行串流分析或是訂閱者進行自訂分析。

下列圖表總結服務元件與資料流程: Realtek裝置-Ameba已支援GoogleCloudIoTMQTTProtocol來連接至CloudIoT與發佈遙測資料。

設置GoogleCloudIoTPlatform 準備事項 參考官方網站的引導文件或是下列的教學步驟做設定 GoogleCloudIoT文件https://cloud.google.com/iot/docs/device_manager_guide?authuser=0 1.選擇或是創建CloudPlatform專案 創建一個新的CloudPlatform專案或是選擇已在專案列表中的專案 Step1:在CloudPlatform介面,點選“Project” Step2:在專案列表中,選擇專案或是點選Createproject Step3:輸入Projectname Step4:點選Create 記住會在DeviceManager與Device中被使用到的project_id 2.啟用計費 啟用計費來使用GoogleCloudPlatform功能 https://support.google.com/cloud/answer/6293499#enable-billing 3.啟用CloudIoTCoreAPI 在GoogleCloudPlatform註冊GoogleCloudIoTAPI應用程式 選擇專案且點選Continue 點選Continue來回到DASHBOARD 4.在CloudPlatform介面中新增CloudPub/Sub主題 新增CloudPub/Sub主題來使用Pub/Sub服務 Step1:點選CloudPUB/SUB主題的頁面並且選擇EnableAPI Step2:建立主題 Step3:填寫主題名稱且點選CREATE 記住在下面步驟會使用到的topicname Step4:在CloudPlatformConsole中選擇主題且點選頁面上方的“SHOWINFOPANEL”按鈕。

即可開啟在右方的IAMpermissions編輯器。

Step5:新增成員[email protected]的角色為Pub/SubPublisher。

接著點選Add。

安裝gcloudCLI GoogleCloudSDK是一套CloudPlatform工具用來管理GoogleCloudPlatform中的資源與應用程式。

在範例中我們用來註冊裝置。

1.安裝GoogleCloudSDK 從下方連結下載與安裝最新的GoogleCloudSDK。

https://cloud.google.com/sdk/docs/ 2.更新gcloud元件: $gcloudcomponentsupdate 3.安裝beta元件: $gcloudcomponentsinstallbeta 如果是使用ComputeEngineVM,gcloud的預設安裝是不會允許升級元件。

可以利用下列指令來重新安裝gcloud: $sudoapt-getremovegoogle-cloud-sdk $curlhttps://sdk.cloud.google.com|bash $exec-l$SHELL $gcloudinit 註冊裝置 執行AmebaGoogleCloudIoT範例之前,你需要建立public/private金鑰與註冊處。

這些步驟都基於已經建立好一個叫做my-iot-project的專案與projects/my-iot-project/topics/device-events的CloudPub/Sub主題。

(可依需要替換自己的專案名稱和Pub/Sub主題) 1.建立裝置註冊處 註冊處是裝置的集合。

所有裝置的遙測資料都會發佈至註冊處的CloudPub/Sub主題,並且使用CloudPub/Subattributes來區分不同的裝置。

執行下列指令來創建一個註冊處: $gcloudbetaiotregistriescreatemy-registry --project=my-iot-project --region=us-central1 --event-pubsub-topic=projects/my-iot-project/topics/device-events –project=YOUR_PROJECT_ID:填入之前的project_id 記住範例指令中的registry_id也就是‘my_registry’。

2.建立public/private金鑰 這個步驟示範如何生成RSA金鑰 當連接至CloudIoTCore時,每部裝置透過自己的私密金鑰來創建JWT使CloudIoTCore利用裝置的公開金鑰來認證。

執行下列指令來使用OpenSSL生成RSA金鑰: $opensslreq-x509-nodes-newkeyrsa:2048-keyoutrsa_private.pem\ -outrsa_cert.pem-subj"/CN=unused" 現在可以找到兩個檔案:rsa_private.pem與rsa_cert.pem。

3.建立裝置 執行下列指令來使用RSA憑證新增RS256認證裝置: $gcloudbetaiotdevicescreatemy-rs256-device --project=my-iot-project --region=us-central1 --registry=my-registry --public-keypath=rsa_cert.pem,type=rs256 –project=YOUR_PROJECT_ID:填入之前的project_id 記住範例指令中的device_id也就是‘my-rs256-device’。

4.新增CloudPub/Sub訂閱 創建一個CloudPub/Sub訂閱來接收遙測資料事件: $gcloudbetapubsubsubscriptionscreate projects/my-iot-project/subscriptions/my-subscription --topicprojects/my-iot-project/topics/device-events 記住範例指令中的subscription_id也就是‘my-subscription’。

設定裝置 複製4.0b_patch_google_cloud_iot_nonNDA_(v02)\*patch檔案且取代至standardSDKsdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\*。

確認所有的patch檔案皆已複製到SDK 1.example_google_cloud_iot.c 檔案路徑為$sdk\component\common\example\google_cloud_iot\example_google_cloud_iot.c。

請填寫下列裝置相關資訊。

#defineproject_id"your_project_id" #defineregistry_id"your_registry_id" #definedevice_id"your_device_id" #definecount100 staticconstunsignedchar*private_key=\”” project_id、registry_id與device_id在先前註冊裝置的步驟已經設定好。

count是欲發佈遙測資料的數目。

private_key則是OpenSSL所生成的內容rsa_private.pem,並且記得LINEENDING。

對於LINEENDING格式,“應該在每行的開頭添加,\n”\如果該行不是最後一行,則應添加到行尾,並且應該在最後一行的末尾添加\n“。

以下是顯示原始pem鍵和填充LINE結尾後的鍵的示例。

原文如下: 新增完LINEENDING後: 也可以修改欲發佈訊息payload中的內容。

驗證範例 編譯 1.IAR Ameba同時支援CMSIS-DAPdebugger與J-Link 請參考sdk-ameba-v4.0b_without_NDA\doc\UM0023RealtekAmeba-1buildenvironmentsetup–iar.pdf中的UM0023來設定IAR編譯環境。

步驟1:利用micro-USB連接板子至PC。

需要安裝sdk-ameba-v4.0b_without_NDA\tools\serial_to_usb\mbedWinSerial_16466.中的“serialtoUSBdriver”。

步驟2:打開IARWorkbench與project,點選File->Open->Workspace,並且在sdk-ameba-v4.0b_without_NDA\project\realtek_ameba1_va0_example\EWARM-RELEASE選擇project.eww 步驟3:編譯專案並且點選Project->RebuildAll 步驟4:下載程式碼,點選Project->Download->Downloadactiveapplication 2.GCC 請參考sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\doc\UM0096RealtekAmebabuildenvironmentsetup–gcc.pdf中的UM0096來設定GCC編譯環境。

此說明如何在Windows與Linux平台中GCC環境下編譯SDK。

示範在Windows7平台使用Cygwin來編譯 步驟1:利用micro-USB連接板子至PC。

需要安裝 sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\tools\serial_to_usb\mbedWinSerial_16466.中的“serialtoUSBdriver”。

步驟2:打開Cygwin終端機,利用cd指令來更換目錄至project\realtek_ameba1_va0_example\GCC-RELEASE $cd/cygdrive/SDK_LOCATION/project/realtek_ameba1_va0_example/GCC-RELEASE 步驟3:使用make指令來編譯project $make 如果終端機出現輸出訊息“Imagemanipulating”,表示images 成功被編譯。

步驟4:下載程式碼並且複製project\realtek_ameba1_va0_example\GCC-RELEASE\application\Debug\bin中的image檔案ram_all.bin至MBED 啟動裝置 利用AT指令連接至Wi-Fi: ATW0NetworksetSSID ATW1Networksetpassphrase ATW2NetworksetKeyID ATWCJoinanetwork 假設欲連接至WPA2模式之AP,則下列為指令範例: #ATW0=SSID #ATW1=passphrase #ATWC 當Wi-Fi連結成功後,範例就會開始: 假設Publishingthepayload失敗 可採用下列步驟解決問題 1)在GCPConsole中選擇Registries頁面 2)在預設主題下將下拉框從’無’更改為我們創建的主題ex:projects/my-iot-project/topics/device-events 3)更新 驗證 一旦MQTTclient傳送資料給endpoint,GoogleCloudSDK執行下列的指令來讀取CloudPub/Sub主題中的資料: $gcloudbetapubsubsubscriptionspull--auto-ack\ projects/my-iot-project/subscriptions/my-subscription 解決方案 IoTSoC/MCU VideoSoC 我要加入開發 購買開發版 StandardSDK AmebaARDUINO AmazonFreeRTOS ArmMbedEnabled AmebaMicroPython 雲服務 如何使用 使用範例 裝置註冊 論壇 論壇 相關連結 瑞昱網站 AmebaMakerPro AmebaIoTChina AirBoxin龍山寺 AirBoxin台大 Facebook Youtube Github RealtekIoT/Wi-FiMCUSolutions.AllRightsReserved. 請先確認已安裝QQ通訊軟體 Continue Cancel



請為這篇文章評分?