Raspberry Pi 4B 环境搭建
不知不觉 Raspberry Pi 4B 已经出来 3 年多了,现在官方主推一些低价的来进军 MCU 市场,其自身的 SBC 市场开始被一些高性能的虎视眈眈,也不知道官方啥时候推出 5 代,拿出来再开个机,擦下灰,然后再吃灰。。。😓其实,树莓派生态还是比较丰富的,比如丰富的专用领域的操作系统/家庭环境的自建服务/基于其开源而来的 OS 和 ARM 汇编架构学习/以及那似是而非的物联网拓展,,,
上电安装
注意!!!注意!!!4B 1代不支持 PD 供电,表现为所有 LED 不会亮,用 5V-2A 这种就可以了。Rev1.2 修复了这个问题,不幸的我是Rev1.1。。。
如果选择官方的进行安装,选择完后,用 balena 烧录到 TF 卡,插入后接上 HDMI 和鼠标键盘后,接通电源即可看到大大的树莓派开机画面。
远程访问
打开Preferences -> Raspberry Pi Configuration
设置界面,切换到 Interfaces
标签栏,打开SSH
和VNC
开关就可以在主机上通过 IP 地址访问【ssh 或者 vnc viewer】。
设置完 SSH 和 VNC 后,就可以不用显示器了,哦,对了需要打开上电,当然也可以关闭 GUI。。。
环境配置
常用工具
参考 ubuntu.sh 即可,主要是命令行相关的工具,后续的用于机器学习的 Python 和 C 代码环境再安装即可。
pi@pi:~ sudo apt-get update
pi@pi:~ sudo apt-get install zsh autojump git vim htop tmux python3 -y
有一些常用命令可以获取树莓派状态:
pi@pi:~ $ cat /sys/class/thermal/thermal_zone0/temp # 除以 1000 后即为 ℃ 单位![](https://mintisan.github.io/post-images/1675778219668.jpg)
36998
分辨率设置
默认连接的显示器为 4k,导致远程后鼠标巨小,进入Preferences -> Screen Configuration
,设置为1080P
内网旁路由
这里不得不说,旁路由对于这种把玩多主机的情况是真友好,只需要修改为静态 IP 地址,并设置旁路由为路由即可实现全局翻墙。
这里无线网络为例,在连接到无线 WiFI 后,看下自己的网卡名称如下,一般无线为wlan0
,有线为eth0
pi@pi:~ ip r | grep default
default via 192.168.31.3 dev wlan0 src 192.168.31.123 metric 303
然后用 vi 或者 nano 打开 /etc/dhcpcd.conf
文件,将如下添加到文件最后,再重启,对,一定要重启机子,重启网络我这里没有生效。
...
# fallback to static profile on eth0
#interface eth0
#fallback static_eth0
interface wlan0 # 网卡名称
static ip_address=192.168.31.123/24 # WiFi 网段以及静态地址,注意不要和其他冲突
static routers=192.168.31.3 # 旁路由地址
static domain_name_servers=192.168.31.1 # 主路由地址
这时候重启后,注意 IP
地址已经换了,这里用 VNC 重新连接后,打开浏览器进行 SpeedTest 速度如下,下降到原来到 1/10 以下,可能和金属外壳有一定关系。
pi@pi:~ ip addr show wlan0
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether dc:a6:32:0e:95:3f brd ff:ff:ff:ff:ff:ff
inet 192.168.31.123/24 brd 192.168.31.255 scope global noprefixroute wlan0
valid_lft forever preferred_lft forever
inet6 fe80::a8fa:6ab4:1788:b859/64 scope link
valid_lft forever preferred_lft forever
把玩项目
专用系统
- RPi-Distro/pi-gen
- hypriot/image-builder-rpi : SD card image for Raspberry Pi with Docker: HypriotOS
- DietPi
- RetroPie
- OpenWrt-Rpi
- HiFiBerryOS : HiFiBerryOS is is our version of a minimal Linux distribution optimised for audio playback
- Raspberry Pi Cluster : Raspberry Pi Cluster automation
- FydeOS/chromium_os-raspberry_pi : Build your Chromium OS for Raspberry Pi 3B/3B+/4B and Pi400
自建服务
- PiVPN : The simplest way to setup and manage a VPN, designed for Raspberry Pi™.
- haiwen/seafile-rpi : Seafile server package for Raspberry Pi.
学习编程
- Learning operating system development using Linux kernel and Raspberry Pi
- Tutorial: Writing a "bare metal" operating system for Raspberry Pi 4
- raspberrypi/userland : Source code for ARM side libraries for interfacing to Raspberry Pi GPU.
- Baking Pi – Operating Systems Development
- PeterLemon/RaspberryPi : Raspberry Pi Bare Metal Assembly Programming
- Apress/Raspberry-Pi-Assembly-Language-Programming : Source Code for 'Raspberry Pi Assembly Language Programming: ARM Processor Coding' by Stephen Smith