Standard SDK: [RTL8195AM] Google Cloud IoT - Realtek ...
文章推薦指數: 80 %
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
延伸文章資訊
- 1【智慧製造】使用Cloud IoT 保護你的雲端連接設備
而資安不能是事後諸葛,對任何有雲端連接設備、物聯網(IoT) 的企業來說, ... 本文介紹Google Cloud 與Microchip 之合作,並以製造業客戶情境為例 ...
- 2Google開源雲端IoT裝置SDK,利用GCP代管服務加速應用開發
Google釋出雲端IoT裝置SDK(Cloud IoT Device SDK),該SDK包含多個用Embedded C撰寫的函式庫,讓開發人員能夠透過GCP的IoT裝置代管服務Cloud Io...
- 3Edge IoT with Google Cloud - ADLINK Technology
Google Cloud IoT Ready solutions from ADLINK provide the integrated cloud-to-edge hardware and so...
- 4A Tour of Cloud IoT Core - Google Codelabs
Cloud IoT Core, in combination with other services on Google Cloud platform, provides a complete ...
- 5Google's Internet of Things Solutions
Cloud IoT Core is a fully managed service that allows you to easily and securely connect, manage,...