日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 工業(yè)控制 > 電路設(shè)計項目集錦
[導讀]音樂伴隨著我們的日常生活,能夠讀出當前的播放信息,如標題、藝術(shù)家和專輯,直接打開了在顯示器上顯示這些數(shù)據(jù)的可能性,從而為桌子創(chuàng)造了創(chuàng)造性的裝飾。有了ESP32和Spotify API,這些數(shù)據(jù)可以很容易地以各種方式檢索和使用。在這篇博客文章中,您將學習到從Spotify獲取當前播放軌道API端點的API請求的基礎(chǔ)知識。

音樂伴隨著我們的日常生活,能夠讀出當前的播放信息,如標題、藝術(shù)家和專輯,直接打開了在顯示器上顯示這些數(shù)據(jù)的可能性,從而為桌子創(chuàng)造了創(chuàng)造性的裝飾。有了ESP32和Spotify API,這些數(shù)據(jù)可以很容易地以各種方式檢索和使用。在這篇博客文章中,您將學習到從Spotify獲取當前播放軌道API端點的API請求的基礎(chǔ)知識。

硬件:

主板采用ESP32芯片;例如:Dev Kit C V2或Dev Kit C V4 USB-C

軟件:

如果您是第一次在Arduino IDE中編程ESP32,請復制Arduino IDE中的以下鏈接:File->Preferences->Additional boards manager

操作系統(tǒng)已經(jīng)安裝了該板的驅(qū)動程序(CP2102)。

Spotify API提供了各種API端點來檢索信息或?qū)崿F(xiàn)用戶交互。要檢索標題、藝術(shù)家、專輯和進度等數(shù)據(jù),可以使用Get Current Playing Track API。

1.創(chuàng)建一個Spotify應用程序

為了能夠使用Spotify API,您必須在Spotify開發(fā)者頁面上登錄您的Spotify帳戶并打開儀表板(單擊右上角的帳戶)。在儀表板中,單擊按鈕Create App按鈕,然后輸入您選擇的名稱和描述。對于API類型,選擇Web API。在成功配置Spotify應用程序后,您可以通過點擊“查看客戶端秘密”查看應用程序設(shè)置下的客戶端ID和API密鑰。

保存這兩條信息。

2.授權(quán)

現(xiàn)在使用上一步中的ID在瀏覽器中打開鏈接。

一段時間后,一個窗口打開請求同意。同意后,瀏覽器現(xiàn)在提供一個響應,看起來像這樣:

在這里保存代碼(在搜索欄code=中)。此代碼是一個授權(quán)令牌?,F(xiàn)在您已經(jīng)收到了授權(quán)碼,必須通過API將其“交換”為請求令牌。您可以在文檔中找到有關(guān)這方面的一般信息。

ESP32包中包含的HTTPclient庫適合通過Arduino與API通信。作為json格式的服務器響應,解碼為明文需要使用ArduinoJson庫進行明文解碼。

該庫可以通過鏈接下載為.zip文件,并添加到Arduino IDE中Sketch>Include library >Add.ZIP library ....如果你使用的是PlatformIO,將以下內(nèi)容復制到PlatformIO .ini文件中的lib_deps中:

3.請求刷新和訪問令牌

初始調(diào)試時,授權(quán)令牌由最終程序中的API查詢,程序代碼如下:

在第一步中接收到的授權(quán)令牌在最后的程序中通過串行監(jiān)視器傳送到電路板上。首先,根據(jù)文檔中的規(guī)范創(chuàng)建包含信息的HTTP標頭和正文。然后通過POST將這些信息傳輸?shù)絊potify服務器;如果接收到響應碼200,則表示請求成功,可以暫時存儲傳輸?shù)臄?shù)據(jù)并提取所需的信息。有關(guān)該過程的信息可以在以下文檔頁面上找到:Codeflow。

4.更新訪問令牌

由于訪問令牌僅在一小時的有限時間內(nèi)有效,因此必須在過期后再次更新。與請求令牌的第一個請求一樣,基本程序保持不變,只是現(xiàn)在使用第一步中的請求令牌而不是授權(quán)碼。

5.請求數(shù)據(jù)

現(xiàn)在已經(jīng)確保了當前訪問令牌始終可用,您可以切換到查詢相關(guān)信息。在文檔頁面的右側(cè)是來自服務器的響應,其中包含您帳戶的當前數(shù)據(jù)。這些數(shù)據(jù)可以使用以下程序從ESP32中檢索:

首先,生成HTTP報頭,然后使用POST命令將其發(fā)送到服務器。響應代碼401表示訪問令牌不再有效,必須更新。對于代碼200,從JSON格式中提取接收到的數(shù)據(jù)并臨時存儲在相應的變量中。為了更好的可讀性,時間被轉(zhuǎn)換成秒,然后所有信息(標題、藝術(shù)家、專輯、持續(xù)時間、經(jīng)過的時間和進度)都顯示在串行監(jiān)視器上。

6.最終方案

將最終程序加載到電路板上,并通過監(jiān)視器輸入授權(quán)令牌。串行監(jiān)視器應該顯示當前正在播放的歌曲的數(shù)據(jù)。

如果有任何問題,請將HTTP響應代碼與文檔中的各種代碼進行比較。

程序說明:在setup()中檢索保存的令牌。如果沒有可用的令牌,則必須在串行監(jiān)視器中輸入它。因此,程序?qū)⒌却?,直到?chuàng)建條目,然后將此代碼保存在SPIFFS中。如果請求令牌已經(jīng)存在,則使用它來請求訪問令牌。使用上面生成的訪問令牌在loop()中檢索信息。接收到的數(shù)據(jù)然后在串行監(jiān)視器中輸出。如果HTTP請求返回代碼401,這意味著訪問令牌已經(jīng)過期,必須更新;這是自動完成的。

該程序還包含三個輔助方法。base64Encode()方法將訪問數(shù)據(jù)更改為API接口所需的base64格式。最后兩個函數(shù)是存儲和讀取令牌,它們用于在flash中存儲刷新令牌。存儲的令牌即使在程序重新閃現(xiàn)之后也會保留,因此只需要在程序第一次啟動時進行授權(quán)。

本文編譯自hackster.io

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉