今天要跟大家分享一個TemBoo取得google認證的功能,取得認證能做什麼呢?這意味著你的裝置可以取得平常google服務的權限,這個Temboo的網站可以將物聯網裝置取得認證這件事變得比較容易。
1、首先要到Temboo的官方網站申請帳號
2、取得Temboo帳號之後,接著登入Google的開發者網站,有申請Google帳號的使用者,用原本的帳號就可以登入了
3、接著建立一個新的專案。
4. 接著點畫面左邊的「API和驗證→API」找到Google Drive API並且啟用API,(畫面顯示停用,代表API已經啟用了)
5.點畫面左欄「API和驗證→憑證」在OAuth選向下點「建立新的用戶端ID」,應用程式類型選「網路應用程式」後,點「設定同意畫面」,並且在「同意畫面」中寫上Email和產品名稱(其他為選填)
6.畫面跳出「建立用戶端ID」,在下面的「授權的重新導向URL」填寫Google要連線的Temboo網址
https://ACCOUNT_NAME.temboolive.com/callback/google
ACCOUNT_NAME 需要填寫自己的Temboo的帳號
7、設定結束後,我們會得到「用戶端ID」、「用戶端密碼」,這兩個資訊我們在接下來會一直使用
8、接著到Temboo網站,設定Temboo與GoogleAPI間的認證OAuth,進行 Initialize OAuth ,
在「Client ID 」填上上一步得到的「用戶端ID」
在「Scope」 填上 https://spreadsheets.google.com/feeds/ (適用於使用GoogleDoc的服務)
填寫完成後點「Run」
8.點選到 AuthorizationURL下方的網址,Google會詢問你是否給予權限,同意後出現空白畫面就代表成功了。
9、接著記下「Callback ID 」的內容。
9.下一步則是到Temboo的 FinalizeOAuth進行最後的設定,
分別填寫 「用戶端ID」、「用戶端密碼」、及上一步得到的「CallbackID」
點選「RUN」
10、取得最後產生的RefreshToken。
11、只要有「Client ID」、「Client Secret」、「Client ID」、「Refresh Token」,便可以透過Temboo的網站,對Google的內容進行編輯,下方分享的圖案是針對GoogleDoc服務的試算表,填寫試算表的內容。
12、也可以透過Temboo生成的程式碼,將這個功能加入到可以上網的裝置arduinoYun當中。
執行Arduino Yun之後,在序列監視器看到上傳成功的畫面,就把裝置上傳資料的時間、環境溫度、環境濕度填寫在GoogleDoc的試算表當中。
老師您好,我遇到這個問題
Calling the /Library/Google/Spreadsheets/AppendRow Choreo…
Error
A Step Error has occurred: “An input error has occurred. RowData and SpreadsheetTitle are required.”. The error occurred in the Stop (Missing request parameters) step.
HTTP_CODE
500
該如何能夠做解決呢?
“RowData and SpreadsheetTitle are required” 請檢查一下您的表單名稱與欄位名稱是否與程式碼中一致
老師學生想詢問,”表單名稱與欄位名稱”是否指的是google dos的excel表單中的英文與程式上”data = data + timeString + “,” + String(temperature) + “,” + String(temperature) + “,” + String(temperature);”的對應呢?(抬頭大小寫是否會影響呢?)
沒錯,大小寫要一致才行喔
老師您好,想請問 您是用 wifi 還是 usb連線 將程式上傳
程式碼 我們照著 實戰物聯網開發 書上的程式碼
表格那邊的失敗 監控視窗 連接不成功 照樣測試 結果
我們之後抓 範例 來設置 將 帳號 密碼那些資料改成自己的
也是連接不成功
上傳程式的方式無所謂,只要上傳成功就好。請務必按照本文的做法完成 Google Oauth,或者您需要回到 gmail 去檢查有沒有收到 Google 的通知信,詢問是否同意由外部裝置來取得您的 Google 服務(Google drive & mail)。
老師,請問你說在序列監視器看到上傳成功的畫面,所以程式是要透過USB傳到YUN板嗎?
還有YUN的WIFI是只能將接收到的資料傳到雲端嗎?還是也能透過WIFI傳程式?
上傳成功是在 Arduino IDE 下方看到 “Done uploading” 或 “上傳完畢”的字樣,不是 serial monitor。Yun 當然可以經由 WiFi 燒錄程式,在 Arduino IDE 中的 Boards 選單中應該會看到 Arduino Yun (x.x.x.x) 代表有偵測到一個網路上的 yun。
請問 設定AppendRow 的 RowData 是要輸入 time,temperature,humidity,lightLevel 這個嗎?
因為我們輸入後 google試算表也是出現這個
程式部分編譯沒問題,燒入後,在監視視窗中出現
Setup complete. Waiting for sensor input…
Calling the /Library/Google/Spreadsheets/AppendRow Choreo…
Error
curl: (6) Couldn’t resolve host ‘arduino123456.temboolive.com’
HTTP_CODE
000
方便寄完整的程式碼到我的信箱嗎?
您好,完整的程式碼書中就有載點
老師您好,請問第12項 Temboo生成的程式碼,如果沒有加到程式裡可以正常動作嗎?
還有AppendRow那 右上角以一塊Arduino 有很多腳位,那腳位8跟A0要做設定嗎?
一定要加啊,就是它幫你搞定與社群網路連接的很多事情。腳位可以不用設定,設定的意思是說,您可以指定當某腳位狀態怎樣的時候( EX: A0 > 800) 就發送資料到 Google docs
老師請問方便給我您的信箱嗎 我私下詢問您一些問題
ok, nissin@cavedu.com
老師請問
在temboo設定是照上面操作,Arduino也照上面改程式了
而在Arduino的序列監視器顯示
(
Setup complete. Waiting for sensor input…
Calling the /Library/Google/Spreadsheets/AppendRow Choreo…
Error
curl: (6) Couldn’t resolve host ‘arduino123456.temboolive.com’
HTTP_CODE
000
)
我是位學生
我的老師要一個成果
沒成果就要被當
急求解決問題?
hi, 請問有根據這一篇 (http://wp.me/p3T9Qk-4lP)操作過了嗎? 您所顯示的錯誤是 Temboo 與 Google 沒有正確掛起來的關係。 ‘arduino123456.temboolive.com’ 是使用者自訂的 callback url, 需要在您的 Google 帳號中同意才行喔
請問濕度與光度的單位是什?
您好, 濕度是%. 光度則是光敏電阻回傳的變化狀況 (0~1023), 需要校正喔
老師您好
學生有一個問題想問
如何向老師您上面範例一樣,取得時間並傳送呢?
程式碼是否可以借閱一下呢?
感謝
您是說 Google 試算表中的時間嗎? 那是自動產生的喔
這本[實戰物聯網開發 使用 Arduino Yun]是我們所翻譯的,作者提供的程式碼在這邊: https://github.com/openhomeautomation/geeky-projects-yun
請問老師如果我使用UNO來執行這個程式碼而不是用YUN的話可以上傳嗎?
可以, 但需要修改, 請參考 temboo 網站會有 UNO 端的對應程式碼. 另一方面, 您的 UNO 需要搭配乙太網路擴充板或是 wifi 擴充板來上網才行喔
請問老師,以下的錯誤碼是哪個環節出錯了??
A Step Error has occurred: “A Google authentication error has occurred.
Authenticating with Username and Password is no longer supported by Google.
We strongly recommend updating your code so that your app authenticates via OAuth.
這就是這一篇在講的事情,因為 Google 的認證方式改了,請照著本篇做一次吧
改寫如下,請参考
Arduino Yun使用Temboo云端服務自动通过Google認証:將溫溼度測值日誌寫到Google試算表
http://lct4246.blogspot.tw/2016/04/arduino-yuntemboogoogle-google-ted-lee.html
Ted Lee
URL:https://sites.google.com/site/lct4246/
FB:https://www.facebook.com/ted.lee.10420321
Blog:http://lct4246.blogspot.tw/
感謝李老師的幫忙~
您好,我把程式上傳後,serial monitor出現
Error
A Step Error has occurred: “An input error has occurred. RowData and SpreadsheetTitle are required.”. The error occurred in the Stop (Missing request parameters) step.
HTTP_CODE
500
我的表單欄位名稱和程式裡的也一致了,請問可能還有什麼問題?
Hi. 我們有在 CAVEDU FB 討論過了,有空來台北的話,我們可以請工程師幫您現場看看
您好!我建好憑證後執行專案,在監控視窗裡出現錯誤訊息Missing Choreo ID,請問要如何處理。
Choreo ID 是Temboo端的東西,請檢查Temboo.h 中有沒有漏填資料
您好~ 我確定是沒有漏填的。現在錯誤訊息又變成( A Step Error has occurred: “A Google authentication error has occurred. Authenticat.ing with Username and Password is no longer supported by Google. We strongly recommend updating your code so that your app authenticates via OAuth. You can find detailed instructions for using OAuth credentials here: https://temboo.com/library/Library/Google/Spreadsheets/.”. The error occurred in the LaunchChoreo (RetrieveSpreadsheetDetailsByName) step ) 我將callbackID等等重新做一遍後還是一樣…. 請問大大方便提供你們工作地點嗎?我可以去找你們現場幫小弟我看看嗎?
這裡有我寫的step by step手冊
是在CAVEDU上Arduino Yun寫的
堪稱詳細
FYI
http://lct4246.blogspot.tw/2016/04/arduino-yuntemboogoogle-ted-lee-cavedu.html
Ted Lee
URL(Google keyword no 1:Ted’s Bu Bu):https://sites.google.com/site/lct4246/
FB(Google keyword no 1:Ted’s BuBu):https://www.facebook.com/ted.lee.10420321
Blog(Google keyword no 1:泰布布):http://lct4246.blogspot.tw/
感謝老師
您好!我在網頁上使用AppendRow可以使用,但我用arduino測試的時候卻始終沒辦法成功,我試著使用很多網路上的範本、Arduino的範例程式或是temboo提供的源代碼都無法成功,我也試著檢查每一個步驟卻始終得不到答案,懇請老師指點迷津
你好,WangYuYuan:
會不會是Google的OAuth認證的API有改了呢?