陳新龍
API是編程中常用的概念,譯為“應(yīng)用程序編程接口”。我們可以把API接口理解為打包的特定服務(wù),API提供者將這些服務(wù)封裝起來(lái)提供給他人調(diào)用,使用者不需要了解其內(nèi)部實(shí)現(xiàn)細(xì)節(jié)。這樣一來(lái)很多功能不需要重新開(kāi)發(fā),大大節(jié)約了時(shí)間和成本。
我們想要知道一周天氣如何,如果自己編程來(lái)實(shí)現(xiàn)這個(gè)功能就很難,因?yàn)樘鞖鈹?shù)據(jù)只有氣象部門(mén)才知道。那該如何獲取天氣信息呢?氣象部門(mén)會(huì)提供數(shù)據(jù)API給公眾使用,我們只要輸入地區(qū)就會(huì)知道該地區(qū)一周的天氣情況。這一過(guò)程中我們并不需要了解天氣預(yù)報(bào)具體是如何實(shí)現(xiàn)的。另外,不同系統(tǒng)和編程語(yǔ)言之間的數(shù)據(jù)通訊,往往也采用API形式進(jìn)行數(shù)據(jù)交互。
今天結(jié)合掌控板、百度智能云和心知天氣網(wǎng)完成天氣預(yù)報(bào)程序。心知天氣是一個(gè)免費(fèi)提供基礎(chǔ)天氣數(shù)據(jù)的信息平臺(tái),從這里獲取我們所需的天氣預(yù)報(bào)信息和生活指數(shù)。百度智能云中結(jié)合了人工智能、大數(shù)據(jù)、云計(jì)算服務(wù)的開(kāi)發(fā)工具,從中調(diào)取需要的語(yǔ)音技術(shù),實(shí)現(xiàn)語(yǔ)音播報(bào)天氣、溫度、感冒指數(shù)(圖1)。
申請(qǐng)心知天氣的API秘鑰,打開(kāi)心知天氣官網(wǎng),注冊(cè)并激活賬號(hào),激活登錄成功后,進(jìn)入控制臺(tái)環(huán)境,在左側(cè)欄目中找到產(chǎn)品管理,添加天氣數(shù)據(jù)API產(chǎn)品,免費(fèi)版已經(jīng)足夠我們使用了。記下你個(gè)人的API密鑰。
接下來(lái)申請(qǐng)語(yǔ)言合成API,注冊(cè)登錄百度智能云平臺(tái),點(diǎn)擊左側(cè)導(dǎo)航欄,找到人工智能語(yǔ)音技術(shù),創(chuàng)建應(yīng)用,填寫(xiě)所需要的信息(應(yīng)用名稱(chēng):語(yǔ)音天氣預(yù)報(bào),接口選項(xiàng):默認(rèn)全部),填寫(xiě)完成后點(diǎn)擊注冊(cè)。注冊(cè)成功后返回上一級(jí)界面,會(huì)看到已經(jīng)成功創(chuàng)建應(yīng)用。領(lǐng)取免費(fèi)資源,里面有免費(fèi)的普通話、英語(yǔ)、粵語(yǔ)等。領(lǐng)取成功后便可以調(diào)用屬于你自己的API接口了。
獲取到天氣和語(yǔ)音的API之后便可以開(kāi)始編寫(xiě)代碼了。打開(kāi)mPython軟件點(diǎn)擊左下角擴(kuò)展,加載百度語(yǔ)音模塊和天氣模塊。輸入正確的WiFi賬號(hào)和密碼,保證網(wǎng)絡(luò)連通。將天氣API的密鑰復(fù)制到指令中,填寫(xiě)好所需參數(shù)和變量名。
以獲取未來(lái)三天浙江省寧波市的天氣數(shù)據(jù)和6項(xiàng)生活指數(shù)為例。分別創(chuàng)建兩個(gè)變量W1和W2用來(lái)保存信息。想要調(diào)用保存的信息還需要輸入對(duì)應(yīng)的主題,例如顯示今天白天的天氣現(xiàn)象、今天的最高溫度、今天的最低溫度等(圖2)。
利用獲取到的百度語(yǔ)言API,將應(yīng)用的API Key和Secret Key復(fù)制到指令對(duì)應(yīng)位置上,將天氣信息轉(zhuǎn)換為語(yǔ)音的文本內(nèi)容,保存到本地的音頻文件,必須為mp3文件,通過(guò)音頻播放的模式播放此文件。當(dāng)按下掌控板A鍵時(shí),語(yǔ)音播放,當(dāng)按下掌控板B鍵時(shí),語(yǔ)音停止播放(圖3)。
通過(guò)掌控板結(jié)合API接口的調(diào)用我們完成了語(yǔ)音播放天氣預(yù)報(bào)的小實(shí)驗(yàn)。后期小陳老師也會(huì)給大家?guī)?lái)更多有趣和豐富的實(shí)驗(yàn)內(nèi)容。