www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 電路設(shè)計(jì)項(xiàng)目集錦
[導(dǎo)讀]M5Stack PaperS3是創(chuàng)建能夠顯示來(lái)自各種類(lèi)型傳感器數(shù)據(jù)的信息面板的絕佳選擇。但它也可以可視化從互聯(lián)網(wǎng)上的多個(gè)來(lái)源提取的內(nèi)容,如天氣信息和預(yù)報(bào),股票價(jià)格,新聞,和許多其他有用的(有時(shí)只是有趣的)數(shù)據(jù)。

M5Stack PaperS3是創(chuàng)建能夠顯示來(lái)自各種類(lèi)型傳感器數(shù)據(jù)的信息面板的絕佳選擇。但它也可以可視化從互聯(lián)網(wǎng)上的多個(gè)來(lái)源提取的內(nèi)容,如天氣信息和預(yù)報(bào),股票價(jià)格,新聞,和許多其他有用的(有時(shí)只是有趣的)數(shù)據(jù)。

為了訪問(wèn)這類(lèi)內(nèi)容,許多服務(wù)提供了所謂的api——一個(gè)允許我們與網(wǎng)站“對(duì)話(huà)”以發(fā)送或接收結(jié)構(gòu)化數(shù)據(jù)的接口。

在本文中,我將解釋什么是API,如何使用API,并作為一個(gè)實(shí)際示例,我們將構(gòu)建一個(gè)激勵(lì)語(yǔ)錄查看器,它每隔15分鐘自動(dòng)下載鼓舞人心的語(yǔ)錄,并將它們顯示在PaperS3屏幕上。

如果您不熟悉PaperS3的特性,我建議您查看之前的這篇文章,在這篇文章中我做了全面的回顧,并展示了一個(gè)簡(jiǎn)單的示例。

什么是API?

作為用戶(hù),我們使用瀏覽器及其界面訪問(wèn)網(wǎng)站及其服務(wù)。但是在計(jì)算機(jī)或微控制器上運(yùn)行的應(yīng)用程序需要其他機(jī)制來(lái)交換數(shù)據(jù)。這就是api(應(yīng)用程序編程接口)發(fā)揮作用的地方:它們定義了一組規(guī)則,允許另一個(gè)應(yīng)用程序或服務(wù)(不是人)訪問(wèn)網(wǎng)站并請(qǐng)求數(shù)據(jù)或執(zhí)行功能。

RESTful API

api可以通過(guò)多種方式實(shí)現(xiàn)。在web API的情況下,最常見(jiàn)的方法是通過(guò)HTTP協(xié)議使用GET或POST等方法。它們通常遵循一種稱(chēng)為REST(具象狀態(tài)傳輸)的方法,這就是為什么它們被稱(chēng)為RESTful api(或簡(jiǎn)稱(chēng)REST api)的原因。

REST API的主要特性包括:

?使用HTTP協(xié)議:web瀏覽器使用的HTTP協(xié)議。

?遵循客戶(hù)機(jī)-服務(wù)器模型:客戶(hù)機(jī)發(fā)出請(qǐng)求,服務(wù)器響應(yīng)。

?通過(guò)URL訪問(wèn)資源:每個(gè)資源都有自己的地址,稱(chēng)為端點(diǎn)。

?使用標(biāo)準(zhǔn)HTTP方法:GET、POST、PUT、DELETE。

?獨(dú)立處理每個(gè)請(qǐng)求:請(qǐng)求之間不存儲(chǔ)上下文(這稱(chēng)為無(wú)狀態(tài))。

?服務(wù)器用狀態(tài)碼(例如,200 = OK)和可選的JSON等標(biāo)準(zhǔn)格式的數(shù)據(jù)進(jìn)行應(yīng)答。

API的例子

如前所述,許多網(wǎng)站都可以通過(guò)REST api訪問(wèn)。有些是付費(fèi)的,有些是免費(fèi)的,但需要注冊(cè)才能獲得訪問(wèn)令牌或密鑰,還有一些是完全開(kāi)放的。例子包括:

?OpenWeather:天氣數(shù)據(jù)

?Todoist:訪問(wèn)任務(wù)和項(xiàng)目

?格言:勵(lì)志名言

?Cat API:隨機(jī)貓圖像

?股票數(shù)據(jù):財(cái)務(wù)信息

?ChuckNorris。有趣的查克·諾里斯故事

接下來(lái),我將向您展示如何為M5Stack PaperS3創(chuàng)建一個(gè)應(yīng)用程序,該應(yīng)用程序可以使用ZenQuotes API全天下載激勵(lì)語(yǔ)錄。該過(guò)程非常通用,因此您也可以輕松地將其應(yīng)用于其他基于REST api的網(wǎng)站。

ZenQuotes

ZenQuotes是一個(gè)提供免費(fèi)服務(wù)的網(wǎng)站,可以通過(guò)其API從各種作者和主題中獲取勵(lì)志名言。

基本功能是完全免費(fèi)的,不需要注冊(cè)或令牌。但是,對(duì)于高級(jí)功能或大量使用,需要付費(fèi)帳戶(hù)。

端點(diǎn)

其中mode可以為:

?random:返回一個(gè)隨機(jī)引號(hào)

?quotes:返回多個(gè)引號(hào)(非常適合緩存和本地顯示)

?today:返回當(dāng)天的特色報(bào)價(jià)

?author:根據(jù)作者篩選引用(與其他模式一起使用);溢價(jià))

?image:返回一張圖片(僅限高級(jí)版)

響應(yīng)格式

對(duì)API的任何請(qǐng)求都以JSON格式返回?cái)?shù)據(jù),其中包含以下關(guān)鍵字:

?q =引用文本

?a =作者姓名

?i =作者形象(僅限收費(fèi))

?c =引用的字符數(shù)

?h =引用HTML格式

響應(yīng)是這種格式的元素?cái)?shù)組。當(dāng)調(diào)用/quotes時(shí),響應(yīng)包含多個(gè)項(xiàng)目。在/random或/today這樣的端點(diǎn)中,它只包含一個(gè)。

來(lái)自/today端點(diǎn)的示例響應(yīng):

請(qǐng)求和響應(yīng)處理可以在Arduino或MicroPython中輕松編碼,但對(duì)于這個(gè)項(xiàng)目,我將使用UIFlow 2,使其更加可視化和初學(xué)者友好。

這個(gè)項(xiàng)目

該程序的結(jié)構(gòu)很簡(jiǎn)單,由以下任務(wù)組成:

?初始化設(shè)備

?連接Wi - Fi網(wǎng)絡(luò)

?向ZenQuotes網(wǎng)站提出請(qǐng)求

?在屏幕上顯示引用及其作者

?15分鐘后,將設(shè)備下電并重啟

最復(fù)雜的部分是在屏幕上顯示文本的功能,因?yàn)槲以O(shè)計(jì)它是為了保持單詞分隔,避免單詞在中間劃線(xiàn)。我將一步一步解釋它是如何工作的。

初始化

在初始化期間(除了UIFlow執(zhí)行的默認(rèn)設(shè)置之外),使用覆蓋整個(gè)顯示器的圖像小部件設(shè)置屏幕背景。

使用Web終端將圖像(名為FondoEPD16p.png的文件)上傳到PaperS3的閃存中,然后使用代碼中的Set image0 Show塊使其可見(jiàn)。

接下來(lái),設(shè)置字體大小、文本顏色和背景顏色。在坐標(biāo)20,80處也為即將打印的文本定義了光標(biāo)位置。

連接Wi - Fi

Wi - Fi連接是通過(guò)調(diào)用ConnectWifi函數(shù)建立的,該函數(shù)使用以下代碼塊定義:

此功能將Wi - Fi設(shè)置為STA(站)模式,并連接到您的家庭網(wǎng)絡(luò)。記住用實(shí)際的網(wǎng)絡(luò)詳細(xì)信息替換隱藏的SSID和密碼。該函數(shù)返回連接狀態(tài),允許您驗(yàn)證連接是否成功。

發(fā)送請(qǐng)求到ZenQuotes

如果Wi - Fi網(wǎng)絡(luò)連接失敗,則會(huì)顯示錯(cuò)誤信息。如果成功,則向ZenQuotes網(wǎng)站發(fā)送請(qǐng)求。

在屏幕顯示文本

在程序的這一部分中,將處理服務(wù)器響應(yīng)。如果沒(méi)有錯(cuò)誤,則使用PrintLargeText函數(shù)將引用和作者顯示在屏幕上。

如上圖所示,第一步是檢查來(lái)自服務(wù)器的響應(yīng)代碼是否為200(這意味著一切正常)。如果不是200,則顯示一條錯(cuò)誤消息。如果是,則解析接收到的信息。

首先,服務(wù)器返回的JSON數(shù)據(jù)存儲(chǔ)在變量ResponseData中。

接下來(lái),使用get鍵塊,我們?cè)赗esponseData的元素0(一個(gè)列表,盡管它只包含一個(gè)元素)中查找鍵q,它對(duì)應(yīng)于引號(hào)。該鍵的值存儲(chǔ)在變量Text中,并作為參數(shù)傳遞給PrintLargeText函數(shù),該函數(shù)將其顯示在屏幕上。

重復(fù)相同的過(guò)程來(lái)查找與作者姓名對(duì)應(yīng)的鍵a。該值再次存儲(chǔ)在Text中,并使用PrintLargeText打印。

現(xiàn)在讓我們看看這個(gè)函數(shù)是做什么的:

這個(gè)想法是打印引用的完整單詞,而不會(huì)在屏幕邊緣破壞它們。

要做到這一點(diǎn),要打印的文本被分割成一個(gè)稱(chēng)為單詞的單詞列表。然后,使用count循環(huán)逐個(gè)打印這些單詞,同時(shí)確保字符總數(shù)加上空格不超過(guò)20個(gè)——這是我設(shè)置的最大寬度。如果下一個(gè)單詞將超過(guò)這個(gè)限制,則從更低的位置開(kāi)始新的一行,并重復(fù)此過(guò)程,直到打印所有單詞。

設(shè)備下電

為了節(jié)省電池,在顯示文本后,程序暫停2秒,然后關(guān)閉PaperS3電源,并計(jì)劃在15分鐘內(nèi)喚醒它。

上面的所有操作都是在Setup塊中完成的,Loop塊中沒(méi)有任何操作。

這是PaperS3的樣子,上面有鼓舞人心的名言,用內(nèi)置的磁鐵貼在我的冰箱上

結(jié)論

M5Stack PaperS3不僅因其低功耗EPD屏幕而脫穎而出,而且還因其成為數(shù)字世界窗口的能力而脫穎而出——顯示有用的、有趣的或僅僅是鼓舞人心的信息。

在這個(gè)項(xiàng)目中,我們學(xué)習(xí)了如何使用REST API連接到像ZenQuotes這樣的web服務(wù),檢索JSON格式的內(nèi)容,并在屏幕上清晰地顯示出來(lái)。我們使用UIFlow 2完成了所有這些,這表明您不需要編寫(xiě)太多代碼來(lái)創(chuàng)建連接和視覺(jué)上引人入勝的應(yīng)用程序。

除了這個(gè)勵(lì)志語(yǔ)錄的例子,同樣的結(jié)構(gòu)可以很容易地適應(yīng)顯示:

?每天的天氣,

?待辦事項(xiàng)清單,

?財(cái)務(wù)數(shù)據(jù),

?新聞標(biāo)題

?或任何其他可通過(guò)API訪問(wèn)的數(shù)據(jù)。

與UIFlow 2編程環(huán)境相結(jié)合,PaperS3以簡(jiǎn)單直觀的方式成為進(jìn)入物聯(lián)網(wǎng)和網(wǎng)絡(luò)連接編程世界的絕佳工具。它的易用性使其成為教育項(xiàng)目的理想選擇-其目標(biāo)是學(xué)習(xí)api,傳感器和自動(dòng)化-以及家庭制造項(xiàng)目,如信息面板,日常計(jì)劃或數(shù)字板,為您的家庭帶來(lái)功能和風(fēng)格。

本文編譯自hackster.io

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

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉