树莓派,于嵌入式攻城师,如雷贯耳之大名;
前些日review ARM汇编,用qemu模拟的树莓派4,部分异常指令(数据对齐,timer中断触发等)在qemu无法真实模拟,遂想在真机耍玩一把。无奈电子玩具近期缺货异常,一拖再拖尔。
机遇巧合,一网友分享的驴车项目(https://www.dfrobot.com.cn/), 基于树莓派实现;闷鳖多时对无人驾驶的热忱正无处释放,果断第一时间加入;入手整车一台,昊男兄在微雪搞了个团购,价格的确实惠,这个实惠嘛,服务就…还有待加强;当然啦,缺少支持的好处就是,更容易自力更生 😂,此处先说说树莓派,驴车后续玩上手再谈;
注:由于树莓派资料,无论软硬件,网上都甚多,这里不会面面俱到(也实在无足够时间),仅根据自己耍玩过程,做个记录,望理解。
首先,参见树莓派的真容:
你没看错,这就是所有物件,哈哈,够简略把;
奈雪套件里就是树莓派板,一个读卡器(自己配sd卡的话,建议16以上,因为官方的系统解压后都有8个G),外加一个树莓派摄像头(200w像素);
第一个小目标,让树莓派跑起来,并安装好必要的开发工具包;
注:这里PC机用的windows10,其它ubuntu/Mac可,看个人喜好及方便;
烧录树莓派镜像
step1: 上树莓派官网下载镜像:
https://www.raspberrypi.com/software/
我选择的全功能版本,解压后近8个G;
step2.下载烧录软件balena:
按提示先后选择镜像,选择SD卡(注意别算错盘,否则后果是灾难性的),烧录即可;
如果校准不成功,就重新烧录一下;
step3 安装硬件
1.安装镜像
烧录好镜像后,将sd卡取下来,插入树莓派卡槽;
2.电源
树莓派可以用type-C USB供电,或者通过扩展IO引出跳线5V供电;网上有朋友分享,最好电流3A以上;
手头刚好有某手机67W快充头,很好满足供电需求;
3.交互
如果你手上有HDMI线及显示器,USB鼠标键盘等,那全接上,按界面提示操作即可;要是没这些,咋玩呢?
是时候公布一个违背祖宗的秘方了:
这个神器,电子攻城师绝不会陌生,哈哈;
注意,树莓派直接将uart0通过IO口引出了,这里要配置USB转TTL电平的串口线;
我这里通过拨码配置了TTL电平,引三根线即可:GND,RX,TX;
从网上找了一个树莓派4B管脚图
分别对接树莓派的扩展口的6/8/10脚,注意TX/RX交叉接;
接好电源和串口后如下图
step4: 配置串口
补充:在烧录好的SD卡分区,打开boot目录下的config.txt文件,在最后加一行
enable_uart=1
开启树莓派串口0支持
PC上位机用普通串口工具,打开USB串口,配置通用115200波特率,接通电源,电源旁灯开始闪烁,即开始从SD卡读数据开始启动了;
很快就来到了熟悉的配方:
输入默认用户名密码:pi/raspberry
即成功登录系统;
看来树莓派系统已经跑起来了,but这就够了吗?Of course not!
树莓派的世界还没打开呢,下面开始配置软件。
step5:配置网络,打通WIFI
1.配置WIFI
方法1:
在SD卡的Boot分区目录下,新建wpa_supplicant.conf 文件,并且配置 WiFi的SSID和密码,树莓派启动后会自动读取wpa_supplicant.conf文件配置连接wifi设备
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="WiFi-A"
psk="12345678"
key_mgmt=WPA-PSK
priority=1
}
network={
ssid="WiFi-B"
psk="12345678"
key_mgmt=WPA-PSK
priority=2
scan_ssid=1
}
priority表示优先级,值越大优先级越高;
方法2:
直接在串口登录,创建wpa_supplicant.conf文件,然后重启;
我实际配置如下:
pi@raspberrypi:~$ sudo cat /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=CN
network={
ssid="leon"
psk="helloworld"
key_mgmt=WPA-PSK
}pi@raspberrypi:~$
sudo vim.tiny /etc/wpa_supplicant/wpa_supplicant.conf
2.修改DNS配置
sudo vim.tiny /etc/resolvconf.conf
#name_servers=127.0.0.1
改为
name_servers=8.8.8.1
保存退出;
修改/etc/resolv.conf
nameserver 8.8.8.8
nameserver 114.114.114.114
重启后,树莓派已经自动联网;
ifconfig
wlan0即为wifi接口;
若没有串口,此处可以在路由器后台查询树莓派IP,或者用局域网工具扫描也行;
3.配置ssh
在SD卡的boot分区下,创建一个名为ssh的空文件;启动后树莓派自动开启ssh服务
在上位机通过任何ssh工具都可以访问;
默认初始账号依然是:pi/raspberry
网络通了,从现在开始可以舍弃串口;后续都用ssh访问;但还是没有看到树莓派界面,下面通过VNC来实现;
4 配置VNC远程访问
方法1:安装xrdp服务
sudo apt-get install xrdp
sudo service xrdp restart
不通的话,reboot一下;
方法2:使能树莓派自带VNC
sudo raspi-config
依次选择Interface Options->P3 VNC
依次确认退出后VNC开启;
PC端通过VNC客户端访问,这里用windows自带的mstsc访问
终于,看到界面了 😂,👊
下面就按界面提示配置即可;
step6:升级树莓派系统
最后,把树莓派给升级下,就用自带源,速度还不错;
方法同ubuntu
sudo apt update
sudo apt upgrade