簡體   English   中英

Arduino 雲沒有得到 Azure API 的響應

[英]Arduino Yun not getting response from Azure API

我試圖讓我的 Arduino Yun 與我在 Azure 上托管的 API 交談。 我想在未來做更復雜的事情,但目前我只是想通過 wifi 發出一個 GET 請求,使用單個 integer 作為參數。

我基本上只是使用 此處找到的示例,其中 url 已更改。 該示例運行良好,據我所知,問題不在於我的電路板,而在於與 Azure 的交互。

HttpClient.get() 返回一個 int 作為響應(不是常規的 HTTP 響應代碼,它對於庫來說是唯一的)。 我最初得到了 60,然后將我的 API 更改為接受 http 調用(而不僅僅是 https)修復了這個問題,並讓我得到了 0 的響應。 0 與我從工作 Arduino 示例中得到的響應相同,但由於某種原因,我的響應正文中實際上沒有得到任何內容,因為從未進入 client.available() 循環。

The API works as intended when I go to the url in chrome, so the issue arises somewhere due to how the arduino and azure talk to each other, but I don't know enough about either to figure it out and nowhere that I look seems為我指明正確的方向。

任何幫助將不勝感激,謝謝。

更新

這個問題,因為我沒有開發板,所以只能給你一般的建議。

知道了前提,測試代碼中的示例界面沒有問題,同時你也確認你的azure api可以通過chrome正常訪問了。

故障排除步驟:

  1. 修改示例代碼,在控制台打印出示例代碼中返回的內容。

    在此處輸入圖像描述

說明:這一步是確認你的開發板是否正常實例化了HttpClient,是否正常發送http get請求。

  1. 執行完第一步后,看開發板得到的返回值是否還是60,此時修改url,替換azure的請求地址Z8A5DA52ED126447D359E70C0572進行測試。

建議:使用返回字符串類型的簡單測試接口,比如返回hello world文本信息,這樣就可以直接在控制台查看返回的數據。

  1. 如果返回值仍然為0,此時建議開啟應用日志,查看門戶中各個請求的日志,以確保開發板是否向azure Z2567A5EC3005EB7AC89DZ948發送http請求。 日志會詳細記錄請求信息和結果。 根據日志修改開發板代碼。

  2. 如果azure日志中沒有http請求信息,或者測試示例代碼一開始沒有打印返回的內容,那么我猜可能是開發板的驅動或者你的產品沒有安裝調試好. 建議重新檢查設備是否正常。

私人的

在門戶上Enable CORS ,如下所示。

添加* ,然后將其保存以允許所有站點。

在此處輸入圖像描述

原因:

通過截圖,我可以看到http://127.0.0.1:port想要運行,我相信如果它工作,它會通過HttpClient發送 http 請求,所以我們需要先啟用 ZB439A4514C277CE186FCC178。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM