最近突然对树莓派(Rapsberry Pi)感兴趣,了解到它是一块类似于小型单片机的主板,可以做服务器,也可以通过智能自动化编程将软硬件结合搞点新东西。所以买了一个尝试自己摸索学习一下。
树莓派购买
第一步,肯定是先购买一个树莓派,选购一条龙可参考这儿。当前最新的树莓派是4 modelB,我在京东上买的(因为可以第二天就收货,等不及了XD),同时购买相关的基础套件,比如亚克力保护盒子、散热片、风扇、网线、SD卡等(如果是macbook,最好买一个typec的多功能接口转换器,USB、HDMI、SD的读取会用到的)。很多商家都有打包的套餐,也可以选择散买。我主板是在商家MAKEBIT买的,散件是在隽鹏数码(JUNROC)买的。JUNROC是树莓派官方指定的经销商,不过最近主板非常紧俏,已经莫得了,只能买点散件。说到这个,我买的4B带4G内存的要1000出头,不知道是不是国内树莓派被炒得太火了,比官方指导价贵了接近1倍。
硬件组装
我买的都是基础的官方配件,组装不多说了,动动手和脑袋。就补充2点:
- 散热片贴在这3个地方,看如下图:
- 小风扇安装如下图(正反其实无所谓),关键是红黑两根线要接到正确的位置上。
系统烧录
* P.S.我个人电脑用的是MacBookPro13,所以如下的一些指令操作主要是基于MacOS系统的。
系统烧录推荐用Raspberry Pi Imager,官方出品,直接下载到指定的SD卡上,很方便。
- 先下载RPI,可以直接通过homebrew下载:
brew install --cask raspberry-pi-imager
-
把SD卡(推荐16G以上)插到电脑上。Mac可能无法识别或者无法全部识别SD卡(通过访达边栏或者磁盘工具可查看外接SD是否挂载上和挂载上的空间大小,如果识别的空间大小和SD卡原始大小差距很大,说明没有全部挂载上),这大概率是因为SD卡的格式问题,需要把整个SD卡格式化成Mac可识别的格式(比如FAT32)。
方法是在terminal终端里使用Mac自带的diskutil工具进行格式化。具体细节可以参考这篇CSDN博客。
其实我个人觉得拿到SD卡都可以先格式化一下,确保后续操作的安全:)。 -
然后,通过RPI进行烧录。
进入软件:
选择需要写入的操作系统,没特殊需要可以直接用第一个官方推荐:
选择外接的储蓄卡,准备烧录。
前方高能!点击“烧录”前,右下角有个设置按钮,点进去,里面有一些系统的高级设置,可以直接在这里设置了。
如果这儿不设置,后续烧录完了也能进图形化界面里去设置。但是我推荐在这儿设置,因为一个是统一,二一个是可以避免后面可能出现的坑爹场景(比如没有图形化界面的情况下想要通过笔记本SSH远程连接进去,比如默认的用户名密码跟网上攻略说的不一样,或者单独去进行连网的一些设置可能踩的坑)。这些踩坑场景大多数出现在没有图形显示器的情况下,然后刚好树莓派的配置项更新换代导致网上攻略教程过时😭。
系统登入
烧录好了之后,把SD卡插入树莓派底座,开机!
有显示屏幕,可以直接接上去,就有图形画面了:
如果没有显示屏,那么根据烧录时候设置的wifi和密码,树莓派会接入网络,让个人Mac笔记本也处于同一wifi下,然后通过之前烧录时设置的SSH,通过个人Mac在终端输入命令远程连接:
ssh pi@raspberry.local
其中pi
是之前设置的username,raspberry.local
是之前设置的主机名。树莓派IP可以在wifi路由器管理界面看到,比如TP-link是tplogin.cn,进去后输入密码(默认是123456),点击设备管理,可以看到raspberrypi设备的IP,比如我的是192.168.0.106,这个IP地址也可以替换raspberry.local
,变为
ssh pi@192.168.0.106
登陆需要密码,输入烧录时候的密码,连接上去,相当于现在可以通过命令行远程操控树莓派了。
为了可以远程通过图形化手段操作树莓派,我们需要继续通过命令行去更改一些配置,输入:
sudo raspi-config
进入设置界面,选择 3 Interface Options -> I3 VNC,启用VNC(一款图形化远程连接工具)交互:
然后同时可以去 2 Display Options -> D5 VNC Resolution 把分辨率调到1920x1080(省得之后再回来调)。设置完了之后,下载VNC,连接就可以通过图形化界面远程连接进入了!和用显示器的效果一样。
如果,很不幸地,烧录的时候没有进行高级设置,又不想重新烧录且又没有显示器(刚好是我的情况😄),那么必须得使用网线使得树莓派和你的个人Mac在同一局域网下,然后建议阅读如下几篇参考文章,来最终实现远程VNC的连接访问:
SSH&VNC连接-参考1
SSH&VNC连接-参考2
新版raspbian系统默认用户名和密码的变化导致ssh的permission-denied问题