掌控板API调用天气预报
2021-12-12陈新龙
陈新龙
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接口的调用我们完成了语音播放天气预报的小实验。后期小陈老师也会给大家带来更多有趣和丰富的实验内容。