ESP8266-BiliBili库使用说明

位置导航: 首页 / 物联网平台 / ESP8266哔哩哔哩应用 / 本页

为了简化您的开发流程,提高开发效率。我们为您编写了一个专门用于ESP8266获取哔哩哔哩API信息的库。

本节课里,我们将向您讲解使用ESP8266-BiliBili库的具体方法。

1.准备工作

1.1 获取哔哩哔哩用户ID和视频ID
使用本库前需要先要完成一系列的准备工作。包括获取哔哩哔哩用户ID,视频ID等。假如您不确定如何操作,可以点击这里进入我们制作的说明页面

1.2 下载ESP8266-BiliBili库
请通过以下方式中的任何一种,来将ESP8266-BiliBili库下载到您的电脑中。
蓝奏云:https://wwa.lanzous.com/itSxZe1d5ib
GitHub: https://github.com/taichi-maker/ESP8266-BiliBili
码云:https://gitee.com/taijichuangke/ESP8266-BiliBili

1.3 将ESP8266-BiliBili库安装到Arduino IDE中
假如您不太确定如何操作,可以点击这里前往我们制作的图文教程页面。

1.4 将ArduinoJson库安装到Arduino IDE中
ArduinoJson库可通过以下渠道下载:
本站下载地址:太极创客网站下载页Arduino / ESP8266-NodeMCU第三方库下载部分
GitHub: https://github.com/bblanchon/ArduinoJson

2. 使用ESP8266-BiliBili库

ESP8266-BiliBili库可通过哔哩哔哩API获取以下免费信息:

– 粉丝信息 (UP有多少个粉丝数量、UP关注了多少个B站UP主的数量、UP的黑名单数量)
– 视频播放信息(视频播放量、弹幕数量、收藏数量、投币量、分享次数、点赞次数)
– UP信息(UP的全部视频播放数、UP的全部专栏文章阅读数、UP的全部作品获赞数)

接下来我们将提供三段示例程序的基本介绍。这三段示例程序分别用于实现以上列表中的三种功能。虽然是三段示例程序,但是程序实现的过程非常相似。我们将重点介绍以上列表中的第一个功能示例,也就是通过哔哩哔哩API获取粉丝信息。

2.1 获取哔哩哔哩粉丝信息示例程序

以上示例程序是ESP8266-BiliBili库example目录中的fans_info程序。

首先我们要对ESP8266联WiFi信息进行配置。请在第20行和22行处输入联网所需的网络名称和密码。

第25行程序 FansInfo fansInfo("XXXXXXXXX");我们通过FansInfo来建立对象获取UP主的粉丝信息,该语句的参数为UP主的哔哩哔哩用户id。

假如您不清楚如何获取用户ID信息,请点击这里进入说明页面

在程序第38行使用update函数实现ESP8266开发板通过哔哩哔哩API获取UP主的粉丝信息。此函数返回值为bool型。在ESP8266成功连接哔哩哔哩API获服务器并且服务器返回响应状态码为200时,此函数将会返回真,否则会返回假。

程序的第41行使用了getServerCode()函数来获取哔哩哔哩API服务器响应状态码。当用户通过ESP8266向哔哩哔哩API服务器发送的请求存在问题时(如用户id错误、请求信息格式错误等),服务器会通过响应状态码告知用户问题具体原因。

程序43,45,47行分别使用了一系列函数用来获取API服务器响应信息具体内容。这些函数的作用请见以下列表。

– UP有多少个粉丝数量 (返回值类型:long): fansInfo.getFansNumber()
– UP关注了多少个B站UP主的数量 (返回值类型:int): fansInfo.getFollowing()
– UP的黑名单数量 (返回值类型:int): fansInfo.getBlack()

2.2 获取视频信息示例程序

以下示例程序与2.1 获取粉丝信息在结构上非常相似。这里我们将着重讲解程序中的不同部分。

首先程序第30行建立获取视频信息的对象名称使用的语句是VideoInfo videoInfo(“XXXXXXXXX”);。这一点与以上程序有所区别。此语句参数为视频BV号。假如您不清楚如何获取视频BV号,请点击这里进入说明页面

另外在获取视频信息所使用的函数也与以上程序不同,以下列出了这一系列函数的具体用途:

– 视频播放量(返回值类型:long) videoInfo.getPlay()
– 弹幕数量(返回值类型:long) videoInfo.getDanmu()
– 评论数量 (返回值类型:long) videoInfo.getReply()
– 收藏数量(返回值类型:long) videoInfo.getFavorite()
– 投币量(返回值类型:long) videoInfo.getCoin()
– 分享次数(返回值类型:long) videoInfo.getShare()
– 点赞次数(返回值类型:long) videoInfo.getLikes()

2.3 UP主信息示例程序

以下示例程序中的结构与操作方法都与以上示例程序非常相似,我们就不再赘述它的具体内容了,而只列出主要函数的功能用途:

– 获取UP的全部视频播放次数(返回值类型:long) upInfo.getPlay()
– 获取UP的全部专栏文章阅读次数(返回值类型:long) upInfo.getRead()
– 获取UP的全部作品获赞总数 (返回值类型:long) upInfo.getLikes()