陳新龍
API是編程中常用的概念,譯為“應用程序編程接口”。我們可以把API接口理解為打包的特定服務,API提供者將這些服務封裝起來提供給他人調用,使用者不需要了解其內部實現細節。這樣一來很多功能不需要重新開發,大大節約了時間和成本。
我們想要知道一周天氣如何,如果自己編程來實現這個功能就很難,因為天氣數據只有氣象部門才知道。那該如何獲取天氣信息呢?氣象部門會提供數據API給公眾使用,我們只要輸入地區就會知道該地區一周的天氣情況。這一過程中我們并不需要了解天氣預報具體是如何實現的。另外,不同系統和編程語言之間的數據通訊,往往也采用API形式進行數據交互。
今天結合掌控板、百度智能云和心知天氣網完成天氣預報程序。心知天氣是一個免費提供基礎天氣數據的信息平臺,從這里獲取我們所需的天氣預報信息和生活指數。百度智能云中結合了人工智能、大數據、云計算服務的開發工具,從中調取需要的語音技術,實現語音播報天氣、溫度、感冒指數(圖1)。

申請心知天氣的API秘鑰,打開心知天氣官網,注冊并激活賬號,激活登錄成功后,進入控制臺環境,在左側欄目中找到產品管理,添加天氣數據API產品,免費版已經足夠我們使用了。記下你個人的API密鑰。
接下來申請語言合成API,注冊登錄百度智能云平臺,點擊左側導航欄,找到人工智能語音技術,創建應用,填寫所需要的信息(應用名稱:語音天氣預報,接口選項:默認全部),填寫完成后點擊注冊。注冊成功后返回上一級界面,會看到已經成功創建應用。領取免費資源,里面有免費的普通話、英語、粵語等。領取成功后便可以調用屬于你自己的API接口了。
獲取到天氣和語音的API之后便可以開始編寫代碼了。打開mPython軟件點擊左下角擴展,加載百度語音模塊和天氣模塊。輸入正確的WiFi賬號和密碼,保證網絡連通。將天氣API的密鑰復制到指令中,填寫好所需參數和變量名。
以獲取未來三天浙江省寧波市的天氣數據和6項生活指數為例。分別創建兩個變量W1和W2用來保存信息。想要調用保存的信息還需要輸入對應的主題,例如顯示今天白天的天氣現象、今天的最高溫度、今天的最低溫度等(圖2)。

利用獲取到的百度語言API,將應用的API Key和Secret Key復制到指令對應位置上,將天氣信息轉換為語音的文本內容,保存到本地的音頻文件,必須為mp3文件,通過音頻播放的模式播放此文件。當按下掌控板A鍵時,語音播放,當按下掌控板B鍵時,語音停止播放(圖3)。

通過掌控板結合API接口的調用我們完成了語音播放天氣預報的小實驗。后期小陳老師也會給大家帶來更多有趣和豐富的實驗內容。