女人被狂躁到高潮视频免费无遮挡,内射人妻骚骚骚,免费人成小说在线观看网站,九九影院午夜理论片少妇,免费av永久免费网址

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

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

硬件:

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

軟件:

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

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

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

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

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

保存這兩條信息。

2.授權(quán)

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

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

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

ESP32包中包含的HTTPclient庫適合通過Arduino與API通信。作為json格式的服務(wù)器響應(yīng),解碼為明文需要使用ArduinoJson庫進(jìn)行明文解碼。

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

3.請求刷新和訪問令牌

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

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

4.更新訪問令牌

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

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

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

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

6.最終方案

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

如果有任何問題,請將HTTP響應(yīng)代碼與文檔中的各種代碼進(jìn)行比較。

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

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

本文編譯自hackster.io

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

在物聯(lián)網(wǎng)設(shè)備數(shù)量突破千億級(jí)的今天,開發(fā)者對(duì)核心芯片的訴求已從單一功能轉(zhuǎn)向“全棧集成+生態(tài)協(xié)同”。樂鑫科技推出的ESP32憑借其獨(dú)特的“雙核架構(gòu)+無線雙模+開源生態(tài)”組合,成為智能家居、工業(yè)監(jiān)控、可穿戴設(shè)備等領(lǐng)域的首選方案...

關(guān)鍵字: ESP32 物聯(lián)網(wǎng)

作為飛行員,在空中和地面上,在飛行和飛行前的許多方面保持“安全第一”是很重要的,其中之一就是避免碰撞。過去幾年,即使是小型航空、自由飛行的飛機(jī),如滑翔機(jī)、滑翔傘、懸掛式滑翔機(jī)等,在未來的無人機(jī)中,也開始采用儀器來觀察和讓...

關(guān)鍵字: Arduino ESP32 LED

用c++編程似乎是讓你的Arduino項(xiàng)目起步的障礙嗎?您想要一種更直觀的微控制器編程方式嗎?那你需要了解一下Visuino!這個(gè)圖形化編程平臺(tái)將復(fù)雜電子項(xiàng)目的創(chuàng)建變成了拖動(dòng)和連接塊的簡單任務(wù)。在本文中,我們將帶您完成使...

關(guān)鍵字: Visuino Arduino ESP32 STM32

嘿,無線探索者!歡迎回來,我非常興奮地介紹nRFBOX v2.7.2,這是我們開源,ESP32驅(qū)動(dòng)的掃描,干擾,掌握2.4GHz頻譜工具包的最新發(fā)展。

關(guān)鍵字: nRFBOX ESP32 SD卡

衛(wèi)塞節(jié)是世界上最重要的宗教節(jié)日之一,紀(jì)念佛祖的誕生、覺悟和去世。從孩提時(shí)代起,我就在衛(wèi)塞節(jié)看到了美麗的燈光展示,而開發(fā)自己的版本一直是我很久以來的夢想。這款LED顯示屏是6個(gè)月研發(fā)的成果。

關(guān)鍵字: WS2812B LED ESP32
關(guān)閉