树莓派:DIY电视盒子

DIY电视盒子

闲置好多年电视,刚好也有几个同样闲置很久的树莓派3,就琢磨着怎么把他们利用起来,起码能看新闻联播。

硬件

树莓派+小米蓝牙遥控器(山寨)

我这台是树莓派3,当然,越先进越好。如果要当电视盒子用,遥控器是不可少的。毕竟要是开机后得用键盘和鼠标操作,先不说使用的人是不是会,起码方式就不让人放松。为什么要用小米蓝牙?因为要选用的系统支持啊^^,省事。当然,SD卡和网线也是需要的。手里这快树莓派虽然自带WIFI,但是仅支持2.4G的频段,而且卡顿的比较厉害,所以还是用网线连接。

在这里插入图片描述

直播源

安装宽带的时候,运营商一般都会问是不是开通IPTV,如果开通,就会“送”个盒子给你。我们需要的,就是这个盒子播放节目时的链接。怎么弄到它们呢?不用担心,我们可以直接搜索IPTV直播源,也可以从下面的链接下载:

http://www.kodiplayer.cn/movie/2898.html

最好下载自己使用的宽带运营商的直播源。另外就是,并非所有地方的直播源都能用。比如,原来我使用联通的宽带,发现很多频道都不能用,而且全高清卡顿的厉害。现在用移动的,意外发现下载的IPTV直播源基本都能用,而且不卡顿。但换成另外的地区可能就不是这个情况了。所以大家可以使用IPTV Checker测试下链接中的各种直播源,将自己能用而且感兴趣的源整合起来(注意,提供直播源的网站提供的检测工具会被病毒检测工具检索到威胁,而且它的体积确实不正常,下面的链接没有这个问题)。

IPTV Checker
在这里插入图片描述

软件

我们要使用的软件是KODI,借用下中文网的介绍:

Kodi媒体中心是一个屡获殊荣的自由和开源的跨平台媒体播放器和用于HTPC(Home theater PC,家庭影院PC)的数字媒体娱乐中心软件,可以运行在Linux、OSX、Windows、Android系统。它是一个优秀的自由和开源的(GPL)媒体中心软件。最初为Xbox而开发,叫XBMC(全称是XBOX Media Center),顾名思义就是XBOX平台的媒体中心。对于XBOX玩家来说如果没有安装XBMC,那么玩XBOX至少失去一半的乐趣。因为全世界开发者的参与,这个软件已经拥有远远超过以往的功能,这已经不能用‘一个简单播放器’来包含所有的一切了。因为这个原因,XBMC.14后更名为Kodi。

虽然KODI在windows、Linux、mac下都有发行版,但我们需要的系统能支持KODI运行就行了。为了流畅度,它要尽量的精简。这个时候Libreelec就来了(Just enough OS for KODI):
在这里插入图片描述

安装系统镜像

下载 LibreELEC USB-SD Creator:

在这里插入图片描述
根据自己的硬件选择合适的版本后写入SD卡(这里使用的是树莓派3):
在这里插入图片描述

界面显示语言

将上面写入镜像的SD卡插入树莓派,就可以启动了。
在这里插入图片描述

接下来的配置也不麻烦,为了方便更新直播源和管理,打开SSH服务。另外,需要安装PVR客户端插件才能看IPTV。

如果有需要,将界面显示语言修改为中文:
在这里插入图片描述

接入蓝牙控制器

进入LibreElec设置(注意,这个跟“系统”设置不是同一个入口),启用蓝牙。按住小米蓝牙控制器的home键和菜单键不放,按屏幕提示操作。连接后除了home键不管用,其他都很好。

在这里插入图片描述

设置网络:

其他的不清楚,反正树莓派3使用wifi播放不太流畅

在这里插入图片描述

安装PVR客户端插件:

从配置界面选择插件->从库安装->LibreELEC Add-ons->PVR IPTV simple Client:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

启用SSH服务:

默认的登陆用户和密码为:root/libreelec

在这里插入图片描述

导入IPTV源

所谓IPTV的播放列表,一般是下面的格式:

#EXTINF:-1 ,CCTV-3高清
http://223.110.241.203:6610/gitv/live1/G_CCTV-3-HQ/G_CCTV-3-HQ/

本地导入最为简单,如果使用的是Linux系统,我们可以把SD卡插在读卡器直接copy下载的(或者是自己经过检测后整合的)播放源。也可以通过SSH登陆后使用scp命令导入,由于涉及后续源失效或者修改的问题,这种方式比取下SD卡copy更为合适。目前win10也支持ssh。

$ ssh root@10.0.0.4
root@10.0.0.4's password:
##############################################
#                 LibreELEC                  #
#            https://libreelec.tv            #
##############################################

LibreELEC (official): 9.2.4 (RPi2.arm)
kodi:~ # df -h
Filesystem                Size      Used Available Use% Mounted on
devtmpfs                367.4M      4.0K    367.4M   0% /dev
/dev/mmcblk0p1          511.7M    140.6M    371.1M  27% /flash
/dev/loop0              127.5M    127.5M         0 100% /
/dev/mmcblk0p2           13.9G     38.2M     13.8G   0% /storage
tmpfs                   373.9M         0    373.9M   0% /dev/shm
tmpfs                   373.9M      8.0M    366.0M   2% /run
tmpfs                   373.9M         0    373.9M   0% /sys/fs/cgroup
tmpfs                   373.9M      2.6M    371.4M   1% /var
tmpfs                   373.9M         0    373.9M   0% /tmp

从df的输出可以得知,这个16GB的SD卡被分为两个区,一个作为系统区,另外一个作为用户可使用的存储区,挂载在/storage ,通过scp命令copy播放列表文件:

 $ scp src.m3u8.file.path root@kodi.ip:/storage

进入插件设置,选择前面安装的PVR IPTV simple Client插件,进去该插件的设置,导入播放列表。支持本地和网络、网络链接导入。我们选择刚才复制进去的m3u8文件。

导入后会提示你重启,但只要禁用该插件再重新启用就行了。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

无线投屏

通过启用系统服务中DLNA/Airplay,可以将安装了LibreElec的树莓派当作一个投屏器使用。虽然目前的智能电视都支持投屏了,但还有不少老古董还没退休。
在这里插入图片描述

总结

单从经济上考虑,树莓派+SD卡的价格可以买个很主流的网络盒子了。但自己做的好处就是能从吃灰的设备中找乐趣,而且KODI的功能远不止这些。另外,一个使用Systemd初始化系统的、有图形界面支持、支持Web管理(在设置->服务->控制中启用)、各种网络服务、外设的Linux系统镜像,还不到200MB,开放源代码,想想就像捡了个宝。

  • 10
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
以下是基于树莓派和Qt编写的交通灯控制代码示例: 1. 首先需要在树莓派上安装Qt Creator和WiringPi库。 2. 创建一个Qt项目,添加以下代码: ```c++ #include <wiringPi.h> #include <QCoreApplication> #include <QTimer> const int RED_PIN = 0; // 定义红灯引脚为0 const int YELLOW_PIN = 1; // 定义黄灯引脚为1 const int GREEN_PIN = 2; // 定义绿灯引脚为2 int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); wiringPiSetup(); // 初始化WiringPi库 pinMode(RED_PIN, OUTPUT); // 设置红灯引脚为输出模式 pinMode(YELLOW_PIN, OUTPUT); // 设置黄灯引脚为输出模式 pinMode(GREEN_PIN, OUTPUT); // 设置绿灯引脚为输出模式 digitalWrite(RED_PIN, HIGH); // 默认设置红灯亮 digitalWrite(YELLOW_PIN, LOW); digitalWrite(GREEN_PIN, LOW); QTimer timer; // 创建定时器 QObject::connect(&timer, &QTimer::timeout, [](){ // 定时器回调函数,用于控制交通灯的状态 digitalWrite(RED_PIN, LOW); digitalWrite(YELLOW_PIN, HIGH); delay(2000); digitalWrite(YELLOW_PIN, LOW); digitalWrite(GREEN_PIN, HIGH); delay(5000); digitalWrite(GREEN_PIN, LOW); digitalWrite(YELLOW_PIN, HIGH); delay(2000); digitalWrite(YELLOW_PIN, LOW); digitalWrite(RED_PIN, HIGH); }); timer.start(10000); // 设置定时器间隔为10秒 return a.exec(); } ``` 3. 连接树莓派的GPIO口和交通灯,将红灯接到树莓派的0号引脚,黄灯接到1号引脚,绿灯接到2号引脚。 4. 在Qt Creator中编译并运行代码,即可控制交通灯的状态。 注意:在运行代码之前,需要使用sudo权限运行程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值