树莓派家庭影音中心2

树莓派家庭影音中心2

禁止屏幕休眠显示作为 Dashboard 显示

树莓派官方的 Raspbian 系统使用的是 lightdm 桌面显示管理器,可以设置 xservice 桌面交互显示来达到屏幕常亮的目的,也就是修改桌面配置文件 lightdm.Conf

参考资料:树莓派设置禁止让屏幕休眠,显示器保持常亮状态-树莓派基础学习入门-树莓派极客,raspi.cc - Powered by raspi

1
sudo vim /etc/lightdm/lightdm.conf

找到 x-server-command 取消注释并在后面加 -s 0-dpms,添加完后重启即可。

image.png

参数里的:-s 参数:设置屏幕保护不启动,0 数字零,-dpms 参数:关闭电源节能管理。


树莓派02 家用服务器

树莓派02 家用服务器

树莓派家庭服务器的搭建以 docker 为核心,通过 docker 统一管理家庭服务,目前搭建的服务还在持续完善中,主要目的是为了方便日常使用、满足学习和探索的需求。

Docker 的安装这里不再赘述,参考 Docker Configuration01 Install on Linux 一文进行安装即可;本篇主要侧重于介绍部署的镜像和服务,以及简单介绍使用方式。

一些 Docker 容器推荐

这里推荐一些 Docker 容器:Alist、XiaoYa、PiDashboard、redis、mysql、portainer、memos、wikijs

相关的 Docker-Compose 文件会上传到AikenH/aikenh-DockerComposeYML (github.com)

数据库部署与远程连接测试

sqlite 3

Sqlite 与 Mysql 等不同,是一个无服务器、零配置的数据库,其更像是一个解析特定数据库文件的命令接口(CLI 工具),其将数据完全存储于一个单一的跨平台磁盘文件中;

由于 sqlite3 的特性,决定了其是一个轻量级不需要额外配置的数据库,但是在远程访问方面,只能通过文件共享来实现远程操作数据库。

大多数的 Linux 系统版本都会附带 SQLite 的安装,因此我们可以直接使用下面的指令验证一下是否安装:

1
sqlite3

如果没有安装的话,可以去官方的下载页面下载对应的预编译包,然后进行安装即可。

1
2
3
4
5
6
wget https://www.sqlite.org/2023/sqlite-autoconf-3420000.tar.gz
tar -zxvf sqlite-autoconf-3420000.tar.gz
cd sqlite-autoconf-3420000
./configure --prefix=/usr/local
make
make install

这里也提供使用 Docker-compose 安装的方式,但实际上看该数据库的特性,用 docker 安装的并不是推荐的选择。

参考资料:SQLite 3 Docker Compose – Mustafa Bugra

1
2
3
4
5
6
7
8
9
10
11
12
13
14
version: '3'

services:
sqlite3:
container_name: sqlite3_container
image: nouchka/sqlite3:latest
stdin_open: true
tty: true
volumes:
#Modify following line
- path-to/your/databases/sqlite3:/root/db/
ports:
- '9000:9000' # expose ports - HOST:CONTAINER
restart: unless-stopped

如果是树莓派的 ARM64,可能需要使用另一个镜像

1
docker run --rm -it -v "$(pwd):/workspace" -w /workspace keinos/sqlite3

但是该镜像的使用方式,实际上就是将其当成一个命令来用,所以还是建议本机安装。


树莓派01 家庭影音中心

树莓派01 家庭影音中心

将 RaspBerry Pi 4B 作为家庭影视中心/机顶盒的核心就是 KODI 软件,这是考虑到以下的几点:遥控器的控制、对挂载 webdav 和其他的支持

最方便的方式可以选择以 KODI 为核心的两个 OS:LibreELEC、OSMC(推荐),这两个系统以 KODI 为默认启动,同时也支持远程登录和 Docker 部署等 Linux 的功能。后者更为推荐应该是前者的官方改进版本。

考虑到后续可能会将该 SD 卡用于其他用处,因此本文选择的是使用 RaspBerryPi OS 的方案,以下围绕该方案进行展开:

RaspBerry Pi OS+Kodi+Alist 方案探究

可以参考 trouble shooting,可以发现实际上安装 kodi 最简单的方式就是直接使用 apt,无需做其他的 PPA 添加。

安装Kodi

1
sudo apt-get install kodi

安装完后,使用 kodi 命令开启或者在开始菜单的软件中心中选择 kodi 打开。

设置 GPU 显存(硬解相关)

首先做一下固件的升级

1
sudo rpi-update

然后调整一下显存:系统设置里面将 gpu_mem 调高一些,我使用的是 4G,调整到了 256MB,切记不要调整太高,否则可能会开机失败,重启后查看显存是否设置成功。

查看 GPU 显存的方式:

1
vcgencmd get_mem arm && vcgencmd get_mem gpu

最后在 kodi 中查看相关的选项的开关情况:

参考资料:树莓派RaspberryPi 4B设置显存开启硬件加速 支持Emby|Plex|JellyFin转码 LiuJason’sBlog


Clash局域网代理共享

Clash局域网代理共享

本文介绍基于 Windows Clash Desktop 的代理服务器设置,可以为局域网内的设备提供代理服务,该方案可以解决一定的科学上网需求,但是没办法覆盖所有的场景,例如 PS5 的 Netflix ,其不走代理服务器,因此无法通过该方案解决,(软路由可破)

本篇的设置内容主要会从两个方面出发:一个是服务器的开启和防火墙的设置、另一个是客户端如何设置使用对应的代理服务器。

Clash开启代理服务器

Clash 作为局域网代理服务器开启的方式十分简单,主要是以下几步。

开启局域网访问 -> 设置端口,查看 ip -> 防火墙允许通行

配置代理服务器

开启局域网访问: Allow LAN 打钩即可。
端口:设置好想要的 mixport 即可。

image.png

防火墙允许通行: 防火墙-> 高级设置,找到 Clash 所有项,允许其在专用网络上通行。

image.png
查看 ip:命令行输入 ipconfig/ all 里面的 WLAN 模块,可以找到自己的局域网 ip

image.png


树莓派00 组装和亮机篇

树莓派00 组装和亮机篇

最近入手了树莓派 4B,打算基于树莓派做一些有趣&有用的项目,该系列笔记来记录个人树莓派学习和开发的历程。

连载确认!该系列文章将会从装机开始,介绍树莓派用于以下几个项目的开发和部署过程:

  • [x] 基于 Docker 的家庭服务器
  • [x] 智能家居控制中枢
  • [x] 影音中心 & 电视机顶盒
  • [ ] 物联网 or AI 的衍生应用实践

本篇首先介绍亮机和开发环境设置过程,包含:组装、系统安装、远程开发环境设置(SSH、XRDP)

树莓派组装

树莓派组装上比较防呆接口,唯一需要注意的是散热块和风扇的安装:

  • 在 CPU 和缓存等模块上装上散热片
  • 风扇的固定位置在外壳上,接线如下图所示
  • SD 卡的安装位置在背面

微信图片_20230626091027.jpg

系统安装

该部分仅介绍我使用的系统安装和烧录软件,系统的选择需要根据自己所拥有的设备,以及目的去选择。

硬件准备:SD 卡,读卡器,一台正常运行的 PC,可外接的屏幕。


Whats DevOps?

Whats DevOps?

在一个庞大的组织架构中,CI/CD 和 Devops 的概念是避不开的,了解它的工作原理和概念能帮助我们更好的与他人进行协作。

CI/CD 介绍

这是一个用来描绘 CI/CD 的示意图,其描绘了 CI/CD 的工作流和各自的一些职责,接下来本文分别对两者进行介绍。

CI (Continuous integration) 持续集成

持续集成是面向开发者(Developer)的环节。从上述的图也可以看出,整体的流程如下:

Developer 基于给出的需求进行编码(code),完成 Feature 或者 Bug 修复后,提交(Commit)代码,然后平台会对这些需要(Merge Request)代码进行编译(Build),编译通过后,执行自动化的持续测试(Continuous Test),待测试通过后才会正式合并入主干。

也就是说,CI 工具在检测到代码变更后,自动对其执行编译和单元测试,验证其代码的正确性和可用性,以及是否适合与源代码进行集成,然后进行自动集成。

该流程有以下的优势:

  • 能够避免不同开发环境带来的不一致问题
  • 减少手动操作
  • 清晰的版本管理和控制
  • 降低人为操作的风险

Vim Configuration 03 Spacevim Setup

Vim Configuration 03 Spacevim Setup

@Aiken 2021 this file is use to record how to config out vim’ by spacevim.
I’ll write this doc with three Parts:

  • Install and envs, Plugins(including the LSP), KeyShort
  • Attention: we have much to do if we want to install some other plugins.
    maybe it not a good way to set the vim.

INSTALL SPACEVIM AND CONFIG IT

Install: SpaceVim via the offical websize:

1
2
The COMMAND is like:
curl -sLf https://spacevim.org/cn/install.sh | bash