树莓派使用入门

作者

QQ群:852283276
微信:arm80x86
微信公众号:青儿创客基地
B站:主页 https://space.bilibili.com/208826118

参考

官方文档
官方Github
Github raspberrypi/documentation
树莓派(Raspberry pi) 使用Pi Imager安装烧录操作系统
树莓派配置wifi的几种方法.md
通过SD卡为树莓派配置WIFI
树莓派 Raspberry Pi 更换国内源
极客DIY,树莓派远程开发51单片机~
树莓派仪表盘 Pi Dashboard v1.1 更新
树莓派搭建openbmc
树莓派的监控系统 RPi-Monitor
树莓派中搭建ELK监控平台(可打造物联网监控平台、魔镜系统)
树莓派防火墙配置
树莓派-时区设置
树莓派自动校准时间

官方文档既可以在官网查看,也可以在Github上看,我觉得Github上看更方便。

硬件

参考raspberry-pi-zero-2-w-reduced-schematics.pdf,40PIN排针信号定义,包括SPI和Uart接口,3V3在板子上的焊盘是正方形的,
129
树莓派zero-2-w尺寸参考文档raspberry-pi-zero-2-w-mechanical-drawing.pdf
127

安装

  1. 下载操作系统,官网提供三种类型,其中lite最小,不带桌面,下载速度也快,full的下载速度很慢,很容易下载失败。
  2. 烧录固件,下载Raspberry Pi Imager。

387

SSH

由于使用的是Lite系统,没有桌面,只能通过SSH,在SD的boot分区新建一个文件名为ssh的文件,用网线把树莓派连接到路由器LAN口,扫描IP,默认的用户名是pi,默认的密码是raspberry,
389

WIFI

官方配置网络的文档
树莓派Pi Zero W无线WIFI终端配置
电脑连接树莓派Zero W

在树莓派3B上,安装Lite系统,选用SD连接最方便,在boot分区添加文件wpa_supplicant.conf

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
network={
  ssid="Redmi K30 Pro"
  psk="zhuce1994"
}

如果设备支持mDNS,用下面命令查看树莓派IP,或者扫描即可,

$ ping raspberrypi.local

防火墙

$ sudo apt install ufw
$ sudo ufw enable
$ sudo ufw disable
$ sudo ufw status
# 使能SSH
$ sudo ufw allow 22/tcp
$ sudo ufw delete allow 22/tcp
$ sudo ufw allow 10000:11000/tcp
$ sudo ufw delete allow 10000:11000/tcp
$ sudo ufw allow from 192.168.2.127
$ sudo ufw delete allow from 192.168.2.127
# NTP
$ sudo ufw allow from any to any port 123 proto udp

日期与时区

树莓派日期正确,但是时间差8个小时,

sudo raspi-config
# Localisation Options > Timezone > Asia > Shanghai

设置时间,

$ sudo date --s="2022-05-13 10:30:00"

NTP

$ sudo apt install ntp
$ sntp --version
sntp 4.2.8p15@1.3728-o Wed Sep 23 11:46:38 UTC 2020 (1)
$ sudo systemctl start ntp
$ sudo systemctl enable ntp

# /etc/ntp.conf
server ntp.fudan.edu.cn iburst perfer 
server time.asia.apple.com iburst 
server asia.pool.ntp.org iburst 
server ntp.nict.jp iburst 
server time.nist.gov iburst

# 报这个错好像不影响使用 kernel reports TIME_ERROR: 0x41: Clock Unsynchronized
$ sudo systemctl status ntp
● ntp.service - Network Time Service
     Loaded: loaded (/lib/systemd/system/ntp.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-05-13 10:22:24 CST; 4min 26s ago
       Docs: man:ntpd(8)
    Process: 17250 ExecStart=/usr/lib/ntp/ntp-systemd-wrapper (code=exited, status=0/SUCCESS)
   Main PID: 17256 (ntpd)
      Tasks: 2 (limit: 409)
        CPU: 196ms
     CGroup: /system.slice/ntp.service
             └─17256 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 115:124

May 13 10:22:24 raspberrypi ntpd[17256]: Listen and drop on 0 v6wildcard [::]:123
May 13 10:22:24 raspberrypi ntpd[17256]: Listen and drop on 1 v4wildcard 0.0.0.0:123
May 13 10:22:24 raspberrypi ntpd[17256]: Listen normally on 2 lo 127.0.0.1:123
May 13 10:22:24 raspberrypi ntpd[17256]: Listen normally on 3 wlan0 192.168.2.121:123
May 13 10:22:24 raspberrypi ntpd[17256]: Listen normally on 4 lo [::1]:123
May 13 10:22:24 raspberrypi ntpd[17256]: Listen normally on 5 wlan0 [fe80::27ff:f899:cd22:c651%2]:123
May 13 10:22:24 raspberrypi systemd[1]: Started Network Time Service.
May 13 10:22:24 raspberrypi ntpd[17256]: Listening on routing socket on fd #22 for interface updates
May 13 10:22:24 raspberrypi ntpd[17256]: kernel reports TIME_ERROR: 0x41: Clock Unsynchronized
May 13 10:22:24 raspberrypi ntpd[17256]: kernel reports TIME_ERROR: 0x41: Clock Unsynchronized
# 配置防火墙端口
$ sudo ufw allow 123/udp
Rules updated
Rules updated (v6)
# 使用NTP更新时间
$ sudo ntpd -s -d
# System clock synchronized: yes
$ timedatectl
               Local time: Fri 2022-05-13 10:29:38 CST
           Universal time: Fri 2022-05-13 02:29:38 UTC
                 RTC time: n/a
                Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
              NTP service: n/a
          RTC in local TZ: no

或,

sudo apt-get install ntpdate
sudo dpkg-reconfigure tzdata
sudo ntpdate cn.pool.ntp.org

换源

阿里源,注意你的操作系统版本,实测截至20210104,阿里源不能用,换清华的就可以了。

$ sudo nano /etc/apt/sources.list
deb http://mirrors.aliyun.com/raspbian/raspbian/ bullseye main non-free contrib
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ bullseye main non-free contrib

deb http://mirrors.aliyun.com/raspbian/raspbian/ buster main non-free contrib
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ buster main non-free contrib

deb http://mirrors.aliyun.com/raspbian/raspbian/ wheezy main non-free contrib
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ wheezy main non-free contrib
# 清华源
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib
$ sudo apt update

内核

树莓派内核都在官方Github上,raspberrypi/linux

Pi Zero 2 W

Raspberry Pi Zero 2 W硬件资料
串口配置
学习笔记-Raspberry Pi Zero W-4:串口(UART)的配置和使用

编辑sudo nano /boot/config.txt

enable_uart=1

编辑sudo nano /boot/cmdline.txt,添加后成砖头了,

earlycon=uart8250,mmio32,0x20215040

默认的用户名是pi,默认的密码是raspberry,开始配置sudo raspi-config

  1. System Options > Wireless LAN手动输入wifi名和密码
  2. Interface Options使能SSH/SPI/I2C
  3. Localisation Options > WLAN Country选CN

重启后,ifconfig查看无线网卡IP,随后可以用SSH登录,后面就不需要串口了,

pi@raspberrypi:~$ ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 22  bytes 2368 (2.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 22  bytes 2368 (2.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.2.152  netmask 255.255.255.0  broadcast 192.168.2.255
        inet6 fe80::2c7:ddb0:caef:9942  prefixlen 64  scopeid 0x20<link>
        ether e4:5f:01:4a:01:b7  txqueuelen 1000  (Ethernet)
        RX packets 11  bytes 1586 (1.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 47  bytes 6819 (6.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

关闭串口终端,用作通信,

  1. Start raspi-config: sudo raspi-config.
  2. Select option 3 - Interface Options.
  3. Select option P6 - Serial Port.
  4. At the prompt Would you like a login shell to be accessible over serial? answer ‘No’
  5. At the prompt Would you like the serial port hardware to be enabled? answer ‘Yes’
  6. Exit raspi-config and reboot the Pi for changes to take effect.

CM4

EMMC烧录

Compute Module hardware

  1. 安装rpiboot_setup.exe
  2. 短接J2 (disable eMMC Boot),连接micro USB J11,上电
  3. 识别到BCM2711 Boot,运行rpiboot.exe后识别到U盘
  4. 写入下载的bulleye img

安装完之后需要用鼠标键盘加显示器来设置用户名密码等,否则ssh无法登录。

CM4 IO board

USB扩展定义,和电脑主板的USB 9pin定义兼容,
187
USB host,需要禁用otg,否则hub识别有问题,同时需要把micro USB拔掉,否则键盘鼠标无法使用,

[cm4]
# Enable host mode on the 2711 built-in XHCI USB controller.
# This line should be removed if the legacy DWC2 controller is required
# (e.g. for USB device mode) or if USB support is not required.
# otg_mode=1
dtoverlay=dwc2,dr_mode=host
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
树莓派4b是一款小型单板计算机,具有强大的计算能力和丰富的扩展接口,适合初学者学习和开发各种应用。以下是树莓派4b开发入门手册的简要介绍: 1. 硬件介绍:树莓派4b采用ARM架构处理器,配备4GB内存、Gigabit以太网口、多个USB接口、HDMI输出接口等。手册会详细介绍各个接口及其功能,帮助你了解树莓派4b的硬件配置。 2. 操作系统安装:手册会指导你如何选择合适的操作系统,并详细介绍操作系统的安装步骤。树莓派4b支持多种操作系统,如Raspbian、Ubuntu和Windows 10 IoT Core等。 3. 基本配置:手册会引导你完成树莓派4b的基本配置,包括网络设置、语言选择、时区设置等。这些配置是为了让树莓派4b能够正常运行和连接到外部设备。 4. Python编程:树莓派4b支持多种编程语言,但手册会重点介绍Python编程。手册会从基础的Python语法开始,逐步引导你学习树莓派4b的Python编程技巧,包括GPIO控制、传感器连接、数据采集和处理等。 5. 项目实践:手册会提供一些简单的项目实践,如LED点亮、温湿度监测等。通过这些实践,你可以将所学的知识应用到具体的项目中,增强自己的动手能力和问题解决能力。 综上所述,树莓派4b开发入门手册是一本帮助初学者快速入门的指导书,通过学习手册中的内容,你可以了解树莓派4b的硬件配置、操作系统安装和基本配置,掌握Python编程技巧,并能够进行一些简单的实际项目。祝你在树莓派4b开发的路上一帆风顺!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值