RasberryPi 3B树莓派基本配置
RaspberryPi 3B树莓派基本配置
文章目录
- RaspberryPi 3B树莓派基本配置
- 一、准备工作
- 1.1 硬件准备:
- 1.1.1 树莓派和电源适配器:
- 1.1.2 USB转TTL模块:
- 1.1.3 读卡器和TF卡:
- 1.2 软件准备:
- 1.2.1 下载 Raspberry Pi OS:
- 1.2.2 SD Card Formatter:
- 1.2.3 下载系统镜像刻录软件:
- 1.2.4 MobaXterm远程终端软件:
- 1.2.5 下载串口驱动CH340:
- 二、树莓派系统安装与配置
- 2.1 系统安装:
- 2.1.1 格式化TF卡:
- 2.1.2 烧录树莓配系统镜像:
- 2.2 系统配置:
- 三、串口访问树莓派
- 3.1 串口接线:
- 3.1.1 树莓派串口引脚:
- 3.1.2 USB转TTL模块引脚:
- 3.1.3 USB转TTL模块与树莓派的连接:
- 3.2 串口登录:
- 四、修改登录密码和配置网络
- 4.1 修改登录密码和重启:
- 4.2 配置网络:
- 4.2.1 WiFi 连接:
- 五、SSH访问树莓派
- 5.1 打开树莓派的SSH连接:
- 5.2 设置SSH登录树莓派:
- 六、更新国内镜像源
- 6.1 编辑sources.list:
- 6.2 编辑raspi.list:
- 七、根分区扩展
- 八、安装和配置Vim
- 九、使用图形的方式登录树莓派
- 十、修改和校正树莓派时间
- 十一、还原蓝牙与串口的连接
- 十二、系统备份
一、准备工作
1.1 硬件准备:
1.1.1 树莓派和电源适配器:
很多新手玩树莓派时,给树莓派提供的电源都是来自电脑的 USB,通常情况下 USB 2.0 接口课提供5V 500mA的输出功率,USB 3.0 接口课提供5V 900mA的输出功率,在不使用其他外设的情况下,电脑的 USB 3.0 接口能为树莓派 3B+ 提供稳定的电源。但是考虑到后期会使用各种外设,最好给树莓派配个适配器。适配器可以选择树莓派官方使用的适配器。
1.1.2 USB转TTL模块:
市面的 USB 转 TTL 模块很多,USB 转 TTL 模块的常见芯片有 CH340 和 CP2102,这两种芯片都支持多种操作系统,如Windows、Mac和Linux,使用简单易懂,应用范围广泛。该模块主要用于树莓派的终端访问和串口输出的测试,前期树莓派还未配置 SSH 访问,只能通过串口(或者直接接上 HDMI ,用显示器访问)访问终端。
1.1.3 读卡器和TF卡:
读卡器市面也非常多,不过也都是很成熟的产品,放心购买使用。TF 卡(Micro SD 卡),最小选择 8 GB 容量以上的、class 10 级以上的高速闪迪卡,使用其他品牌的 TF 卡(非闪迪的 TF 卡),系统启动过程中会出现问题(有很多朋友都在反馈这个问题),比如系统启动到一半卡住不动,或者 reboot 命令无法正常使用,最后都是换了闪迪牌的 TF 卡后才解决的。
1.2 软件准备:
1.2.1 下载 Raspberry Pi OS:
这里我准备好了我们的树莓派镜像:
1.2.2 SD Card Formatter:
不同的操作系统对都有对应的文件系统,而 TF 卡出厂未经格式化(即未确定文件系统格式)或者当前的文件系统格式与树莓派不兼容,会导致树莓派无法识别,树莓派系统无法正常刻录。因此需要格式化,指定存储的文件系统,以使树莓派能够识别和使用。
内存卡格式工具也非常多,这里推荐一款免费的软件—— SD Card Formatter:
1.2.3 下载系统镜像刻录软件:
系统镜像刻录到 TF 卡需要用到系统镜像刻录软件,可以选择 Win32 Disk Imager 或者使用树莓派官方提供的 Raspberry Pi Imager。不过建议使用 Win32 Disk Imager,因为 Raspberry Pi Imager 只能用来刻录树莓派的系统,而我们不可能只局限于树莓派,之后还会接触到其他 Linux ARM 开发板。
1.2.4 MobaXterm远程终端软件:
远程终端软件是用于用户与树莓派之间进行交互的软件,市面上的远程终端软件也是非常多,我个人使用较多的是 MobaXterm,功能非常强大,唯一的缺点就是对英语不好的小伙伴不友好,软件目前没有汉化版本。
1.2.5 下载串口驱动CH340:
一般玩过单片机的小伙伴这一步可以跳过,基本上学过串口相关知识和编程的,都会下载和安装串口驱动,用于下载单片机程序和串口相关的测试。如果之前没有接触过单片机或者串口的小伙伴就需要安装这个驱动,下载链接:
[CH341SER.EXE - 南京沁恒微电子股份有限公司 (wch.cn)](https://www.wch.cn/download/CH341SER_EXE.html)
CH340 和 CH341 是兼容的,虽然作用不同、通信方式不同、接口不同,但是都可以使用相同的驱动。
这个驱动即使没玩过单片机也可能已经安装了这个驱动,如果不确定自己的电脑是否已经安装了该驱动,可以先将 USB 转 TTL 模块插入电脑,听听是否有提示音,如果不确定有没有提示音,可以打开设备管理器查看。
如下图,在插入 USB 转 TTL 模块后,在“端口”的分叉树种有出现USB-SERIAL CH340的字样,就说明已经安装了驱动,这一步可以跳过。
二、树莓派系统安装与配置
2.1 系统安装:
2.1.1 格式化TF卡:
先把 TF 卡装进读卡器,然后插到电脑的 USB 接口,再打开 SD Card Formatter 软件。软件会自动识别 TF 卡,选择Quick format
,再单击下方的Format
按钮开始格式化。
随后的弹窗直接单击是
,等跑完进度条就完成了格式化。
2.1.2 烧录树莓配系统镜像:
首先选择我们要烧录的树莓派镜像:
然后注意要写入的磁盘是我们的TF卡盘,千万不要选错:
系统开始刻录进 TF 卡,刻录时间根据电脑性能决定。
刻录成功,单击弹窗的OK
,再退出软件即可。
2.2 系统配置:
系统刻录好之后,先别着急装进树莓派,有些配置没设置好,树莓派没办法正常使用。先找到 TF 卡对应的盘符,因为刷入了系统,卷标被命名为boot
,双击打开这个盘符,如下图所示,当前就是树莓派系统的根目录。
找到文本文件config.txt
,双击打开,把下面的代码输入在文本的最后一行,这行代码可以停止蓝牙对串口 1 的占用,之后使用 SSH 登录访问树莓派时,在回头把这行代码删除。
dtoverlay=pi3-miniuart-bt
接着找到文本文件cmdline.txt
,复制一个到本地保存备用,然后打开 TF 卡里的文本文件,删除里面全部内容,替换成下面的代码,目的是为了让串口 1 作为远程终端的接口,并且设置了波特率为 115200 bps。
dwc_otg.lpm_enable=0 console=tty1 console=serial0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
然后在根目录下新建一个文件,命名为userconf.txt
,在userconf.txt
输入如下内容:
pi:$6$/4.VdYgDm7RJ0qM1$FwXCeQgDKkqrOU3RIRuDSKpauAbBvP11msq9X58c8Que2l1Dwq3vdJMgiZlQSbEXGaY5esVHGBNbCxKLVNqZW1
加上这个文件的目的是为了能正常登录树莓派,2022 年 4 月之前的版本都是自带userconf.txt这个文本文件的,可以正常用默认账户和密码登录树莓派。但是在2022 年 4 月之后的版本,官方把这个文件移除(据说是为了安全),如果不加这个文件,只能通过外接 HDMI 的显示器来创建账户来登录树莓派,或者使用树莓派官方的镜像烧录工具,也就是 Raspberry Pi Imager,在烧录镜像前先设置好账户和密码,以及配置好 WiFi 和 SSH 服务器,当系统烧录之后,直接用 SSH 访问树莓派,用设置好的账户和密码登录也能正常使用。
上面那段代码,其实就设置 username 为 pi,password 为 raspberry,那一长串 hash 就是 raspberry。
系统配置好后,就可以取出 TF 卡,插到我们的树莓派上了:
三、串口访问树莓派
3.1 串口接线:
3.1.1 树莓派串口引脚:
3.1.2 USB转TTL模块引脚:
市面上的 USB 转 TTL 模块众多,但是接线和使用方法都是一致的,同样是找到 TX 和 RX,或者标为 TXD 和 RXD。以单排引脚的 USB 转 TTL 模块为例,那就是所见即所得。
3.1.3 USB转TTL模块与树莓派的连接:
接线是新手最容易犯错的地方,很多小白以为把引脚一一对应起来就可以了,也就是把树莓派的 TX 和 USB 转 TTL 的 TX 接一起,树莓派的 RX 和 USB 转 TTL 的 RX 接一起就可以了。其实要实现串口通信,TX 和 RX 要交叉接线,而且为保证信号的稳定性,还需要把 GND 接起来,用于来平两设备之间的电势,如下图所示:
把串口接好后,把 USB 转 TTL 模块插入电脑的 USB 口了,在电脑的设备管理器的“端口”分叉树上有出现USB-SERIAL CH340
的字样,就可以开始访问树莓派了。
在这里我给大家推荐一个神奇!可以考虑购买一个 GPIO Extension Board,也就是树莓派的扩展板,让接线更方便。
3.2 串口登录:
USB 转 TTL 模块插入电脑后,别着急给树莓派上电开机,先在设备管理器上找到对应的 COM 口。要注意一点,每台电脑的每个USB都是不一样的 COM 编号,所以插入后最好在设备管理器上确认一下,我这里的设备管理器显示的是 COM3。
打开终端软件(以 MobaXterm 为例,其他终端软件大同小异),单击左上的图标Session
:
在随后弹窗中,单击Serial
按钮:
接着会切换到串口设置界面,在Serial port
右边的下拉窗口在,找到并选择COM3
,这个就是刚刚插入电脑 USB 的 USB 转 TTL 模块的 COM 口:
然后选择波特率,单击Speed (bps)
的 下拉按钮,选择 115200 的波特率,这与前面在根目录下,设置“cmdline.txt”时,所设置的 115200 波特率对应上,然后单击OK
按钮,完成串口通信设置。
接下来给树莓派上电,就可以看到树莓派系统启动的整个过程了:
账户:pi
密码:raspberry
输入用户名后回车再输入密码,注意,输入用户名会在终端显示,但是输入密码不会在终端显示,且不显示已经输入了多少位,所以新手输入密码时,最好是慢慢地、一个一个字母地敲,输入密码后再按回车键,就完成登录了。
四、修改登录密码和配置网络
4.1 修改登录密码和重启:
由于默认的密码较长,且在输入时不显示,所以很难避免输入错误又要重新输入的尴尬情况,我们可以使用下面的命令来修改登录时的密码:
sudo passwd pi
这里使用了 sudo 指令,sudo 是 Linux 系统管理指令,是允许系统管理员让普通用户执行一些或者全部的 root 命令的一个工具。只要带有 sudo 的命令,都需要输入一次登录密码,和登录时一样,输入密码时不显示,如果前面已经输入过一次密码。第二次执行带有 sudo 的命令就不需要再输入密码了。
我这里把密码改成 1,输入后回车,再一次输入密码 1 ,按下回车键就完成了密码的更改。
我们可以重启树莓派来试一下新密码,输入下面的命令就可以重启树莓派。
sudo reboot
重启树莓派后,账户还是 pi, 密码只需要输入 1 后回车,即可登录。
4.2 配置网络:
目前树莓派还没有连接网络,暂时没办法进行软件更新和下载新软件,也无法通过网络的方式访问树莓派,我们可以通过下面的命令来查看当前树莓派的网络连接情况。
ifconfig
该命令是Linux中用于显示或配置网络设备(网络接口卡)的命令,英文全称是 network interfaces configuring。输入该命令后,树莓派显示了 eth0 和 lo 的连接情况,当前并未连接网络。
4.2.1 WiFi 连接:
绝大多数小伙伴可能没有多余的网线,所以无线局域网连接才是大多数人的选择。
由于树莓派系统并没有 vim 编辑器,所以只能用 nano 编辑器来配置网络,之后有网络后再安装 vim 编辑器。
在终端输入下面的命令:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
按方向键把光标移到空白行,输入下列内容:
country=CNnetwork={ssid="your_wifi_name"psk="your_wifi_password"
}
"country=CN"的作用是把无线网连接区域设置为中国地区。
把 ssid 后面双引号的内容改成路由器的名称,也就是 WiFi 名,要注意的是**,WiFi 名只能是 ASCII 码**,也就是说 WiFi 名只能用英文和阿拉伯数字,还有一些英文符号组成,不能有中文。如果家里的 WiFi 名带有中文或者其他语言的字符,可能无法输入或者输入后无法连接,建议先修改路由器名称,再执行此操作。
psk 这是 WiFi 的密码,把 psk 后面双引号的内容改成 WiFi 密码即可。
下图是我的树莓派的修改:
输入完毕后,按组合键 CTRL + o 之后,会提示是否保存文件,可以不管直接按回车,再按组合键 CTRL + x 退出 nano 编辑器。
然后输入 sudo reboot 重启树莓派,树莓派重启登录后,再次输入 ifconfig 就可以看到成功连上 WiFi,并获得 IP 地址了。
可以看到多出了一个 wlan0,这个就是连接上 WiFi 才有的无线局域网接口,当前的无线局域网的 IP 地址是 192.168.31.173。
顺带提一嘴夹在 eth0 和 wlan0 中间的 lo,这是本地回环接口(Local Loopback),一般用于本机内部通信,并不真实地从外界接收和发送数据包。
我们成功将我们的树莓派连接到了我们的WiFi网络,但是有一个问题:在操作系统每一次启动运行的时候我们的IP地址可能会发生变化,这样在我们后面对树莓派进行SSH服务连接的时候会造成麻烦,于是我们需要将我们树莓派的IP地址固定下来,用到下面指令:
sudo nano /etc/rc.local //用nano打开这个文件ifconfig wlan0 192.168.31.123 //在结束之前加入这句话,就可以把我我们的IP地址固定下来
接着我们使用sudo reboot重启树莓派,然后使用ifconfig查看我们的IP地址:
五、SSH访问树莓派
使用串口的方法登录访问树莓派,每次都要输入用户名和密码,而且还占用端口,让树莓派的蓝牙成了摆设,所以在树莓派已经连上局域网并获得 IP 地址后,就可以设置树莓派打开 SSH 连接,用 SSH 登录的方式访问树莓派了。
5.1 打开树莓派的SSH连接:
输入以下命令,进入树莓派系统设置:
sudo raspi-config
然后利用我们键盘上的方向键选择:Interface Options,然后按下回车进入第二界面:
然后我们选择第二项:SSH,然后按下回车
接着会提示是否开启 SSH 服务器,按方向键选择Yes
回车。
SSH 已经开启,再次按回车回到系统设置界面
5.2 设置SSH登录树莓派:
同样以 MobaXterm 为例,单击左上的图标Session
。
在弹窗中单击SSH选项,然后在SSH的设置界面的Remote host中输入树莓派的 IP 地址,我这里输入的是 wlan0 的 IP 地址,然后在Specify username前的复选框打上勾,并在后面输入账户名,也就是 pi。然后单击下面的OK按钮,完成设置。
MobaXterm 会跳转到新建的选项卡窗口,如下图所示,输入登录的密码,再按回车。
成功通过 SSH 服务器登录树莓派。
六、更新国内镜像源
首先是为什么要使用国内镜像源?
主要就是树莓派官方 Raspbian 系统默认设置软件源为 http://raspbian.raspberrypi.org/raspbian/ 和 http://archive.raspberrypi.org/debian/,这两个网站在国内通常连接缓慢,及其影响用户使用体验。
那么如何更换国内源?
-
Raspbian系统的apt软件源由
/etc/apt/sources.list
和/etc/apt/sources.list.d/raspi.list
两个文件设定,只需更改两个文件内的记录即可。 -
为避免误更换为无效的源,先对配置文件在同目录进行备份,在命令终端输入下面的命令:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.save
sudo cp /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.save
- 如果后期发现某些源文件用不了,想要复原,可以直接输入下面的命令:
sudo cp /etc/apt/sources.list.save /etc/apt/sources.list
sudo cp /etc/apt/sources.list.d/raspi.list.save /etc/apt/sources.list.d/raspi.list
6.1 编辑sources.list:
在树莓派的终端输入下面指令:
sudo nano /etc/apt/sources.list
用#注释或直接删除原有的内容,新增清华源,然后保存退出:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
6.2 编辑raspi.list:
在树莓派的终端输入下面指令:
sudo nano /etc/apt/sources.list.d/raspi.list
用#注释或直接删除原有的内容,新增清华源,然后保存退出:
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
修改完毕之后,使用 apt 进行软件包升级,输入下面命令:
sudo apt-get update
七、根分区扩展
在终端命令行输入命令:
df -ah
此时可以看到当前树莓派磁盘分区的参数,Filesystem 是文件系统,Size 表示分区大小,User 表示已使用的空间,Avail 表示可用空间。如此看来,根目录大小为 3.1 GB,已使用了 2.6GB,剩余 325 MB。但是我们使用的 TF 卡可是有 32 GB的空间啊,这些空间到哪去了呢?
主要原因就是树莓派系统刻录结束后,并没有把整个存储空间拓展到整张 TF 卡中,需要可以通过系统设置剩下的存储空间拓展到整张卡上,我们输入以下命令进入树莓派系统设置:
sudo raspi-config
我们进入树莓派系统设置之后,按方向键选择第六项Advanced Options,回车进入。
然后直接回车,也是直接选第一个选项Expand Filesystem,扩展文件系统:
接着就提醒我们根分区已经调整大小了,会在下一次重启后生效,直接回车。
我们退出之后会提示是否重启树莓派,我们选择:Yes
重新连上后,输入df -h
命令,就可以看到根目录已经扩展到整张 TF 卡了。
八、安装和配置Vim
nano 编辑器对大部分新手朋友并不友好,很多新手都是先在虚拟机上学习了 Linux 系统编程之后,再玩的树莓派,很多人都已经适应了 Linux 系统的 vim 编辑器了。所以在树莓派上安装 vim 编辑器可以让我们更方便地进行代码编写。
输入下面的命令即可安装 vim:
sudo apt-get update
sudo apt-get install vim -y
安装完成后,可以根据自己的需求喜好配置 vim,下面是我常用的配置,有些可以尝试配置一下。在命令行输入指令:
sudo vim /etc/vim/vimrc
如果需要启用对应的功能,只需按i
键进入编辑器模式,把前面的双引号去掉即可,如图所示:
也可以增加一些这里没有提到的功能,下面列举一些我常用的功能:
set number #在每一行的前面显示行号
set cursorline #在屏幕上显示光标所在的行
set tabstop=4 #设置制表符的宽度为4个空格
set laststatus=2 #在状态行的右侧显示最后一个状态
set ruler #在屏幕的右下角显示光标的位置
set cindent #开启 C 语言的缩进模式:
配置好了之后,输入下面的命令:
source /etc/vim/vimrc
如果出现下图这种情况,可以直接忽视:
九、使用图形的方式登录树莓派
在上节已经学习了如何使用串口和SSH来登录树莓派,本节学习如何使用图形的方式来登录树莓派:
使用下面命令在树莓派上面安装xrdp界面:
sudo apt-get -y install xrdp
然后在windows上打开:远程桌面连接,输入树莓派的IP地址,然后开始连接
然后输入树莓派的账号和密码:
点击OK之后就可以进入桌面了
十、修改和校正树莓派时间
输入命令date
查看当前树莓派的时间,如下图所示,与电脑的时间不符合:
电脑显示的时间是同步了 NTP 服务的时间,而树莓派上除了日期是对的,时间并不对。主要是树莓派显示的时区不是中国的时区,BST 是英国夏时制,可以通过输入下面的命令来设置时区:
sudo dpkg-reconfigure tzdata
进入时区设置界面,按方向键选择Asia,也就是亚洲,然后回车:
然后是选择时区,不过选项都是一些城市的名字,找到shanghai,按回车选中:
设置成功后,自动退出并打印出当前时区的时间,此时时间已经对上了,但是实际上这个时区还是错的,CST 是美国中部标准时间,正确的应该显示 CCT,也就是中国沿海时间(北京时间)。不过时间显示正确,这种小 bug 我们就不纠结了。
十一、还原蓝牙与串口的连接
使用 SSH 可以登录访问树莓派之后,就基本不需要串口登录访问树莓派这种方式了,为了能使蓝牙能正常使用,我们要恢复原先蓝牙和串口之间的绑定。
输入命令:sudo raspi-config回车,进入树莓派系统设置。选择第三个选项Interface Options,回车。
选择第六个选项**Serial **,回车。
接下来的两个提问,全部选NO
设置好后,按 TAB 键选择Finish
回车,选择Yes
重启树莓派。
重启之后输入:
sudo vim /boot/config.txt
在最后一行,将enable_uart=0
改为enable_uart=1
,也就是重新启用 ttyS0
。
保存退出后,蓝牙和串口就恢复好了。
十二、系统备份
新手玩树莓派时,把系统玩崩了也是常有的事,一旦系统崩了,只能重新刷系统,重新把上面的工作再做一遍,很影响学习体验。所以做到这一步,建议把现在的系统保存备份到电脑,万一操作失误导或者偶然出现宕机的情况,重刷一遍备份的操作系统,就不需要浪费太多时间去进行各种配置。备份的方法也很简单,前面下载安装了 Win32 Disk Imager,用这个软件就可以做系统备份文件。
先把 TF 卡从树莓派上取下来,装在读卡器上插入电脑。电脑运行 Win32 Disk Imager,当电脑识别到 TF 卡时,单击下图中的“小文件”按钮。
随后在出现的弹窗中的文件名输入栏,输入备份文件名,扩展名为.img
。
点击“读取”开始备份,耐心等待备份完成即可。
正常整个 img 备份下来的大小和实际 TF 卡的大小一样,下次如果TF卡无法正常启动,可利用 Win32 Disk Imager 将备份好的 img 再次写入即可。
相关文章:

RasberryPi 3B树莓派基本配置
RaspberryPi 3B树莓派基本配置 文章目录 RaspberryPi 3B树莓派基本配置一、准备工作1.1 硬件准备:1.1.1 树莓派和电源适配器:1.1.2 USB转TTL模块:1.1.3 读卡器和TF卡: 1.2 软件准备:1.2.1 下载 Raspberry Pi OS&#x…...

Docker编译环境的使用(ubuntu)
目录 Ubuntu安装docker 重启docker 拉取镜像 进入docker安装软件 提交docker 添加用户到docker组 进入docker 添加build用户 停止容器 保存docker镜像 load镜像 删除容器 Ubuntu安装docker sudo apt install docker.io 国内可用的源 Welcome to nginx! (tence…...

认知杂谈53
今天分享 有人说的一段争议性的话 I I 1.自助者天助 首先呢,咱得好好琢磨琢磨“自助者天助”这句话。这话说起来好像有点高深莫测的感觉,其实啊,道理特别简单。 就是说要是你自己都不乐意努力,那老天爷也不会平白无故地来帮你…...

量子计算信息安全威胁与应对策略分析
作者简介 赖俊森 中国信息通信研究院技术与标准研究所光网络技术与应用研究部主任工程师,正高级工程师,主要研究方向为量子信息、量子通信、量子计算等。 赵文玉 中国信息通信研究院技术与标准研究所副所长,正高级工程师,主要…...

Oracle(112)如何使用RMAN恢复数据库?
使用 RMAN(Recovery Manager)恢复 Oracle 数据库是确保数据在灾难情况下能够得到恢复的关键步骤。以下是详细的指导和代码示例,展示如何使用 RMAN 进行数据库恢复。 1. 准备工作 在开始恢复之前,需要确保以下几点: …...

I2C通信协议
简介 I2C(Inter IC Bus)是由Philips公司开发的一种通用数据总线,由两根通信线:SCL(Serial Clock)和SDA(Serial Data)组成。是一种同步、半双工带数据应答的通信协议,支持…...

使用Python实现智能信用评分系统
1. 项目简介 本教程将带你一步步实现一个智能信用评分系统。我们将使用Python和一些常用的深度学习库,如TensorFlow和Keras。最终,我们将实现一个可以预测信用评分的模型。2. 环境准备 首先,你需要安装以下库: TensorFlowKeraspandasnumpyscikit-learn你可以使用以下命令…...

RocketMQ之发送消息源码分析
RocketMQ之send()源码分析 一、代码序列图 二、关键步骤分析 1、向namesrv拉取队列信息 2、选择目标队列 3、向broker发送消息 三、代码学习 1、代码结构 (设计模式) 2、工具类和方法...

使用宝塔面板安装mrdoc
使用宝塔面板安装mrdoc 1、所需环境2、ubuntu系统安装3、宝塔面板安装4、NginxPHPMySQL安装5、python项目管理器安装6、 python版本安装7、mrdoc的部署7.1、下载项目源码7.2、新建python管理器项目 8、使用MySQL作为默认数据库8.1、安装mysqlclient插件8.2、配置数据库连接信息…...

C++操作符重载实例
C操作符重载实例,我们把坐标值CVector的加法进行重载,计算c3c1c2时,也就是计算x3x1x2,y3y1y2,以下是C代码: #include <iostream> using namespace std;class CVector{public:int x,y;CVector(){} ; …...

Linux高效进程控制的实战技巧
Linux高效进程控制的实战技巧 Linux是一种开源的Unix-like操作系统内核,由林纳斯托瓦兹(Linus Torvalds)于1991年首次发布。Linux以其稳定性、安全性和灵活性而著称,广泛应用于服务器、桌面、嵌入式系统等多个领域。在Linux系统编…...

使用条件变量实现线程同步:C++实战指南
使用条件变量实现线程同步:C实战指南 在多线程编程中,线程同步是确保程序正确性和稳定性的关键。条件变量(condition variable)是一种强大的同步原语,用于在线程之间进行协调,避免数据竞争和死锁。本文将详…...

Spark2.x 入门: KMeans 聚类算法
一 KMeans简介 KMeans 是一个迭代求解的聚类算法,其属于 划分(Partitioning) 型的聚类方法,即首先创建K个划分,然后迭代地将样本从一个划分转移到另一个划分来改善最终聚类的质量。 ML包下的KMeans方法位于org.apach…...

如何快速练习键盘盲打
盲打是指在不看键盘的情况下进行打字,这样可以显著提高打字速度和效率。以下是一些练习盲打的方法: 熟悉键盘布局:首先,你需要熟悉键盘上的字母和符号的位置。可以通过键盘图或者键盘贴纸来帮助记忆。 使用在线打字练习工具&…...

Flask中实现WebSocket需要什么组件
在Flask中实现WebSocket功能,通常不会直接使用Flask本身,因为Flask是一个轻量级的Web框架,主要设计用于处理HTTP请求。然而,你可以通过集成一些第三方库来在Flask应用中支持WebSocket。WebSocket是一种在单个TCP连接上进行全双工通…...

java8 Stream流详解
前言 Java 8引入了一种新的处理集合的方式——Stream API。它提供了一种高级迭代方式,支持函数式编程风格,使得集合操作更加简洁、清晰。本文将详细介绍Java 8 Stream API的核心概念、操作和使用技巧。 Stream API 简介 Stream API是Java 8中的一大亮…...

通信工程学习:什么是AB地址总线、DB数据总线、CD控制总线
AB地址总线、DB数据总线、CD控制总线 在计算机体系结构中,总线(Bus)是一种用于在计算机内部各个组件之间传输信息的物理通道。其中,AB地址总线、DB数据总线和CD控制总线是计算机总线系统中非常重要的三个组成部分,它们…...

CP AUTOSAR标准之EthernetInterface(AUTOSAR_SWS_EthernetInterface)(更新中……)
1 简介和功能概述 该规范指定了AUTOSAR基础软件模块以太网接口的功能、API和配置。 在AUTOSAR分层软件架构[1]中,以太网接口属于ECU抽象层,或者更准确地说,属于通信硬件抽象。 这表明了以太网接口的主要任务: 为上层提供独立于硬件的以太网通信系统接口,该系统…...

Windows系统离线安装使用pm2 管理进程
目录 1. 安装 Node.js 和 npm 2. 创建一个项目目录 3. 初始化 npm 项目 4. 下载 pm2 及其所有依赖 5. 打包 pm2 及其依赖 6. 将打包文件传输到内网服务器 7. 在内网服务器上解压并安装 8. 使用 pm2 总结 在联网的机器上,使用 npm(Node.js 包管理…...

4-4.Andorid Camera 之简化编码模板(获取摄像头 ID、选择最优预览尺寸)
一、Camera 简化思路 在 Camera 的开发中,其实我们通常只关注打开相机、图像预览和关闭相机,其他的步骤我们不应该花费太多的精力 为此,应该提供一个工具类,它有处理相机的一些基本工具方法,包括获取摄像头 ID、选择最…...
【深度学习】向量化
1. 什么是向量化 向量化通常是消除代码中显示for循环语句的技巧,在深度学习实际应用中,可能会遇到大量的训练数据,因为深度学习算法往往在这种情况下表现更好,所以代码的运行速度非常重要,否则如果它运行在一个大的数据…...

基于canal的Redis缓存双写
canal地址:alibaba/canal: 阿里巴巴 MySQL binlog 增量订阅&消费组件 (github.com)https://github.com/alibaba/canal 1. 准备 1.1 MySQL 查看主机二进制日志 show master status 查看binlog是否开启 show variables like log_bin 授权canal连接MySQL账号 …...

以太网交换机工作原理学习笔记
在网络中传输数据时需要遵循一些标准,以太网协议定义了数据帧在以太网上的传输标准,了解以太网协议是充分理解数据链路层通信的基础。以太网交换机是实现数据链路层通信的主要设备,了解以太网交换机的工作原理也是十分必要的。 1、以太网协议…...

ECCV`24 | 蚂蚁集团开源风格控制新SOTA!StyleTokenizer:零样本精确控制图像生成
文章链接:https://arxiv.org/pdf/2409.02543 代码&数据集链接: https://github.com/alipay/style-tokenizer 亮点直击 介绍了一种名为StyleTokenizer的新方法,用于在扩散模型中进行风格控制。这种方法允许通过一个任意参考图像实现对生成…...

Flutter的升级和降级步骤
升级 1.版本升级 // 升级到指定版本 flutter upgrade 版本号 // 升级到最新版本 flutter upgrade 2. 更新开发配置 启动 Android Studio。 打开 Settings 对话框,查看 SDK Manager。 如果你已经打开了一个项目,请打开 Tools > SDK Manager。 如果…...

计算机网络与Internet应用
一、计算机网络 1.计算机网络的定义 网络定义:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享…...

[建模已更新]2024数学建模国赛高教社杯A题:“板凳龙” 闹元宵 思路代码文章助攻手把手保姆级
本系列专栏将包括两大块内容 第一块赛前真题和模型教学,包括至少8次真题实战教学,每期教学专栏的最底部会提供完整的资料百度网盘包括:真题、数据、可复现代码以及文章. 第二块包括赛中详细思路建模、代码的参考助攻, 会提供2024年高教社国赛A的全套参考内容(一般36h内更新完毕…...

Spring Boot-自定义banner
在 Spring Boot 应用中,你可以自定义启动时显示的 banner。这些 banner 可以包括图形、文字或者其他形式的标识。如图所示: 1. 使用 banner.txt 文件 默认情况下,Spring Boot 使用项目的 banner.txt 文件中的内容作为启动时的 banner。你可以…...

2158. 直播获奖(live)
代码 #include<bits/stdc.h> using namespace std; int main() {int n,w,a[100000],cnt[601]{0},i,j,s;cin>>n>>w;for(i0;i<n;i){scanf("%d",&a[i]);cnt[a[i]];int x(i1)*w/100;if(!x) x1;for(j600,s0;j>0;j--){scnt[j];if(s>x){cou…...

python---爬取QQ音乐
如Cookie为非vip,仅能获取非vip歌曲 1.下载包 pip install jsonpath 2.代码 import os import time import requests from jsonpath import jsonpathdef search_and_download_qq_music(query_text):headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; …...