树莓派使用入门

article/2025/1/13 13:14:30

作者

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 ServiceLoaded: loaded (/lib/systemd/system/ntp.service; enabled; vendor preset: enabled)Active: active (running) since Fri 2022-05-13 10:22:24 CST; 4min 26s agoDocs: 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: 196msCGroup: /system.slice/ntp.service└─17256 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 115:124May 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
$ timedatectlLocal time: Fri 2022-05-13 10:29:38 CSTUniversal time: Fri 2022-05-13 02:29:38 UTCRTC time: n/aTime zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yesNTP service: n/aRTC 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 contribdeb http://mirrors.aliyun.com/raspbian/raspbian/ buster main non-free contrib
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ buster main non-free contribdeb 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 65536inet 127.0.0.1  netmask 255.0.0.0inet6 ::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 0TX packets 22  bytes 2368 (2.3 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.2.152  netmask 255.255.255.0  broadcast 192.168.2.255inet6 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 0TX 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.

http://chatgpt.dhexx.cn/article/eUAXEIuI.shtml

相关文章

基于树莓派的智能魔镜,支持人脸识别、情感监测、热词唤醒、语音交互,以及与手机APP交互、温湿度/新闻热点/日期显示等

目录 功能清单 界面演示 系统框图 设计方案 整体结构 网站设计 app设计 魔镜界面设计 温湿度传感器 光电传感器 相关教程 第三方库的安装 安装库 换源 安装mqtt 安装Qt5 git clone提速 安装Adafruit_DHT opencv安装 安装字体 安装portaudio 安装snowboy 安装…

将Linux可执行文件变成可执行命令

查看PATH环境变量 echo $PATH 或 env | grep PATH 添加路径到PATH export PATH/usr/test:$PATH 临时改变&#xff0c;只能在当前的终端窗口中有效&#xff0c;当前窗口关闭后就会恢#复原有的path配置&#xff0c;通过修改.bashrc文件可以永久保存。 vim ~/.bashrc export PA…

linux执行软件,软件可执行文件 linux 可执行文件

如何制作exe程序可执行文件 Java制作成exe的安装文件真是太复杂了&#xff0c;有几种打包软件&#xff0c;比如InstallAnyWere等&#xff0c;可以打包成你想要的安装文件&#xff0c;但那个软件是英文版的&#xff0c;功能也挺大的&#xff0c;我也没找到相关的资料&#xff0c…

linux 如何运行一个可执行文件

本文只为整理思路&#xff0c;供自己日后参考。现在就从从一个执行文件a.out的运行开始&#xff0c;自上而下地分析linux是如何运行一个执行文件的。 1、首先&#xff0c;需要了解一下a.out这个目标文件。a.out在linux下是ELF&#xff08;Executable Linkable Format&#xff…

浅析linux可执行文件

程序是以可执行文件的形式存放在磁盘上的,可执行文件既包括目标代码也包括数据。我们一般所使用的库函数可以被静态的拷贝到可执行文件中,也可以运行时动态链接。 可执行文件是一个普通文件,它描述了如何初始化一个新的执行上下文,也就是如何开始一个新的计算。当进程开始执…

python打包为linux可执行文件

1、将python文件打包后&#xff08;dist及log文件不需要打包&#xff09;上传至linux服务器&#xff0c;同一目录下 注&#xff1a;不要打包成zip格式&#xff0c;zip从windos上传至linux解压后会存在编码格式不一致的问题 2、安装pyinstaller打包库 pip installer pyinsta…

Linux 可执行文件结构与进程结构

Linux可执行文件结构 在 Linux 下&#xff0c;程序是一个普通的可执行文件&#xff0c;以下列出一个二进制可执行文件的基本情况&#xff1a; 可以看出&#xff0c;此可执行文件在存储时&#xff08;没有调入到内存前&#xff09;分为代码区&#xff08;text&#xff09;、数据…

Linux可执行文件与进程的虚拟地址空间

作者简介&#xff1a; 本文由西邮陈莉君教授研一学生贺东升编辑&#xff0c;梁金荣、张孝家校对 建议结合之前的《linux的内存寻址方式》看。 Linux可执行文件与进程的虚拟地址空间 一个可执行文件被执行的同时也伴随着一个新的进程的创建。Linux会为这个进程创建一个新的虚拟地…

linux 可执行文件启动流程

linux ELF文件启动流程 一、背景 ​ 最近看了《linkers and loader》和以前学习《程序员的自我修养》&#xff0c;但是看了理解不是特别透&#xff0c;所以就想通过一个实际的案例来把了解到知识串起来&#xff0c;因此就想到把linux 识别和启动elf可执行文件流程梳理下&…

Linux可执行文件制作

Linux可执行文件制作 背景 测试过程中&#xff0c;需要针对不同的Linux系统、核心服务版本进行验证&#xff0c;各种环境依赖的python版本以及已安装的库存在较大差异&#xff0c;考虑到实际测试需求以及出差现场使用的要求&#xff0c;需要将测试脚本打包为可执行文件&#xf…

如何将Python程序打包成linux可执行文件

如何将Python程序打包成linux可执行文件 方法1.安装环境2.打包程序3.执行文件 方法 前段时间尝试使用Python的tkinter制作了一个简单的丑丑的图形化界面&#xff0c;现在想把它打包成Linux可执行文件&#xff0c;具体步骤如下&#xff1a; 1.安装环境 使用的工具是pyinstall…

linux 运行可执行文件

本文只为整理思路,供自己日后参考。现在就从从一个执行文件a.out的运行开始,自上而下地分析linux是如何运行一个执行文件的。 1、首先,需要了解一下a.out这个目标文件。a.out在linux下是ELF(Executable Linkable Format)文件格式,该目标文件由一个文件头、代码段、数据段…

从零编写linux0.11 - 第十一章 可执行文件

从零编写linux0.11 - 第十一章 可执行文件 编程环境&#xff1a;Ubuntu 20.04、gcc-9.4.0 代码仓库&#xff1a;https://gitee.com/AprilSloan/linux0.11-project linux0.11源码下载&#xff08;不能直接编译&#xff0c;需进行修改&#xff09; 本章目标 本章会加载并运行…

Linux可执行文件

文章目录 1. 什么是可执行文件2. 可执行文件的区别./ 表示什么?为什么是/usr/bin?总结 1. 什么是可执行文件 可执行文件指的是这个文件可以被运行.这个文件可以是一个代码文件,也可以是一个二进制文件 Linux文件系统中只有文件和目录(一切皆文件). 在Linux中,运行一个文件的…

技术人员如何创业(1)---产品及想法

不得不说这是个浮躁的社会&#xff0c;人人在这个社会都想暴富或者成名。在这些引诱的驱使下很多人都脱离了原来的稳定工作创业。前几天看了《中国合伙人》&#xff0c;故事讲到了几个大学生从校园到工作、再到创办了一个伟大的企业&#xff0c;这个故事更加激励了创业大军的壮…

蓝河科技10个月创立3.05亿美元的农业机器人公司

从创业构想到模式验证&#xff0c;仅10个月如何做到&#xff1f; 蓝河科技&#xff08;Blue River Technology&#xff09;是一家成立于2011年的农业机器人公司&#xff0c;总部位于硅谷&#xff0c;主营业务为设计、生产和销售农业机器人&#xff0c;农业机器人租赁业务和相关…

重新理解创业:一个创业者的途中思考

内容简介 易到用车创始人/顺为资本投资合伙人周航&#xff0c;首度复盘20年创业经历&#xff0c;全方位坦陈创业得与失。这不是一本创业成功手册&#xff0c;却是思想的一次出走。20年创业经历的咀嚼与反思&#xff0c;从战略、品牌、竞争&#xff0c;到流量、领导力、团队管理…

创业案例|10个月$3亿市值的农业智能科技如何实现

如何在10个月内快是实现创业从构想到模式验证&#xff0c;6年后以3个多亿美元成功被收购。本文是蓝河科技创始人Jorge和Lee自述&#xff0c;如何通过精益创业的关键三个阶段&#xff1a;客户问题匹配、问题方案匹配、方案市场匹配&#xff0c;实现了本成本试错、高效率推进的从…

计算机毕设题目推荐

计算机软件的朋友们不知道选什么题目的看过来啦&#x1f448; 图片中都是做过的毕设供大家参考&#xff0c;有源码的哦 ps&#xff1a;有新颖想法的宝子们也可以留言分享一下呢 #Java毕业设计 #计算机毕业设计 #计算机毕业设计怎么做

计算机毕设题目设计与实现(论文+源码)_kaic

毕业设计(论文)题目 高校图书馆座位预约选座微信小程序设计与实现 基于防火墙的访问控制系统的设计与实现 基于区块链的农产品追溯系统设计与实现 学生公寓楼改造布线系统规划与设计 智能家居网络设计与实现“互联网”农村精准扶贫共享平台的设计与实现“智慧健康少儿成长平台”…