树莓派4B 安装和配置使用
目录
1.散热片正确贴法
2.树莓派4B电路板插头介绍
3.树莓派系统 SD卡烧录
-
树莓派要使用的SD卡必须先用SDFormatter格式化(网盘下载-提取码: t4si
-
下载所需使用镜像img
官网下载
网盘 提取码: 7nbb
我用的是2019-09-26-raspbian-buster.zip
-
使用Win32DiskImager写入系统镜像到SD卡中
网盘下载 提取码:t2vs
PS
系统烧录好后,为了后面支持ssh连接,一定要进行:在刻录的系统根目录添加ssh空目录
Mac可以使用:https://www.balena.io/etcher/
此时将SD卡插入树莓派
4.使用网线连接笔记本登录树莓派系统
正在连接WiFi上网的笔记本一台
网线一根
用网线将树莓派和笔记本连接
-
配置WiFi共享,使树莓派能通过网线共享笔记本的网络
-
打开windows控制台输入命令查看树莓派IP
> arp -a
找到192.169.137.1
下的IP就是分配给树莓派的
⚠️:如果ip变成168开头的,则是ip没有给树莓派分配成功,可以尝试换个热点,或者网络诊断修复后,重新尝试
当然了,这样树莓派重启后都会需要重新查看IP,很麻烦,后续补上怎么固定树莓派IP上网
5.使用xshell / putty连接树莓派控制台
xshell /putty黑窗口连接树莓,很简单,输入上一步获得的 树莓派 IP就行了
ssh 用户名@树莓派IP
示例:ssh pi@192.168.137.78
系统:raspbian
用户名:pi
密码:raspberry
6.使用VNC viewer连接树莓派图形化界面
- 黑窗口登录树莓派,启用VNC
sudo raspi-config
2. 命令查看树莓派桌面连接IP
树莓派黑窗口输入:
vncserver
至此就完美欧克了
效果图哈哈:
附录
Mac下树莓派系统烧录
查看分区信息:
df -h
---
/dev/disk2 15Gi 2.3Mi 15Gi 1% /Volumes/centos
---
将SD卡分区卸载
diskutil unmount /dev/disk2
---
Volume centos on disk1s1 unmounted
---
确认SD卡设备
diskutil list
---
/dev/disk2
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *15.8 GB disk2
1: Windows_fat centos 15.8 GB disk2s1
---
使用dd命令将系统镜像烧录到SD
dd bs=4m if=xxxx.img of=/dev/rdisk2
---
462+1 records in
462+1 records out
1939865600 bytes transferred in 163.133220 secs (11891297 bytes/sec)
---
注意上面命令的 of=/dev/rdisk2。不要忘记加上
r
卸载SD设备
diskutil unmountDisk /dev/disk1
---
Unmount of all volumes on disk1 was successful
---
至此OK
树莓派4B 无法启动解决
如果你的树莓派4无法启动,可能是spi eeprom损坏,要重新修复。将TF卡 FAT格式化,将官网推荐的修复压缩包(https://static.raspberrypi.org/files/rpi-boot-eeprom-recovery-2019-09-10-vl805-000137ab.zip),解压到TF卡里。
然后插入树莓派通电,绿灯快速闪烁,至少等待15秒钟,而且是一直闪烁。
然后可以重新写入树莓派系统到TF卡,可能就会OK了
SSH登录问题 .ssh/known_hosts和 ECDSA key
fakerdeMacBook-Pro:~ faker$ ssh root@123.***.***.34
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:xv9d+LHzS3VcVK4PVwMcmzoGRQ5ZPqvDGmdJ0CjCB9o.
Please contact your system administrator.
Add correct host key in /Users/faker/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/faker/.ssh/known_hosts:2
ECDSA host key for 123.***.***.34 has changed and you have requested strict checking.
Host key verification failed.
解决:
输入ip为树莓派地址
# ssh-keygen -R 123.***.***.34
重新ssh连接就好了
raspberry不能输入#,@
问题
树莓派默认情况下,输入#得到的是这个£符号,输入@得到的是"这个符号
因为树莓派的系统默认是英文环境,使用的是英国键盘布局(UK)
而大陆使用的是美国标准键盘布局(US)
- $sudo apt-get install fcitx 安装 fctix 如果有y/n 选项直接回车,等待安装完成
- 安装完成后 #reboot 重启后就点击输入法,就可以看到输入法已经是 Keyboard-English(us),,如果显示Keyboard-English(uk)的话,更换成US键盘布局就可以了
更换软件源
可用的镜像源在 raspbian官方软件源目录 中可以找到
root@raspberrypi:/etc/apt# cp sources.list sources.list.old
root@raspberrypi:/etc/apt# vim sources.list
原文件内容:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
修改为:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
树莓派Pi用户不能使用MySQL解决
1,先用root用户登录MySQL后输入命令:
grant all privileges on *.* to 'pi'@'127.0.0.1' identified by 'MySQL数据库密码';
# 赋予新用户,从本地操作所有数据库.所有数据表的所有权限
grant all privileges on *.* to 'pi'@'%' identified by 'MySQL数据库密码';
# 赋予新用户,从外部操作所有数据库.所有数据表的所有权限(没有外部客户端的IP限制,但本地有限制)
FLUSH PRIVILEGES;
# 刷新权限
2,在PI用户黑窗口命令行下,就能登录了。命令如下:
mysql -upi -p
输入MySQL密码就能登录了
软件安装
SSH
- 安装ssh
sudo apt-get install openssh-server
- 检查树莓派SSH服务是否开启
ps -e|grep ssh
- SSH服务开启
sudo /etc/init.d/ssh start
- 在树莓派终端输入(临时的,重启失效):
sudo service ssh start
sudo service ssh status
- 树莓派SSH服务开机自动启动
在终端命令行中启动SSH服务后,如果系统重启或关机后启动,SSH服务默认是关闭的,依然需要手动启动,为了方便可以设置SSH服务开机自动启动,打开 /etc/rc.local 文件,在语句 exit 0 之前加入:
/etc/init.d/ssh start
- 其他方式开启SSH
通过 sudo raspi-config 通过可视化界面开启SSH.
在SD开根目录创建SSH文件,开启SSH.
JDK
- 命令方式安装
首先查询可用的java
apt-cache search java
安装openjdk11
sudo apt-get install openjdk-11-jdk
安装结束后,不用配置JAVA_HOME ,配置文件在:/etc/profile
- 自定义安装
- 到oracle-java官网下载:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
- 解压下载的java文件到自定义目录下,以/usr/local/soft为例。
tar -zxvf jdk-8u251-linux-arm32-vfp-hflt.tar.gz -C /usr/local/soft/jdk8
- 配置java:配置文件/etc/profile。
export JAVA_HOME=/usr/local/jdk1.8.0_221
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar
- 重启或source /etc/profile使配置文件生效后测试java
MySQL
- 命令安装
apt install mariadb-server
- 设置数据库
MySQL安全安装命令
sudo mysql_secure_installation
此时系统会询问你:Enter current password for root (enter for none)
: ,按回车(enter)键,因为第一次登陆是没有密码的。
然后会询问你: Set root password?
—— 按 y ,进行root帐号的密码设置
此时,会提示 New password
,在此输入你的MySQL密码,请牢记这个密码,输入完成按回车,
会提示re-enter new password
此时再重复输入密码,回车即可。
然后,询问你 Remove anonymous users
,按 y 。
然后,询问你 Disallow root login remotely
,按 y 。
然后,询问你 Remove test database and access to it
,按 y 。
然后,询问你 Reload privilege tables now
,按 y 。
最后,您将看到消息 All done!
和 Thanks for using MariaDB!
。表示已经设置完成了。
3. 连接mysql
-
打开/etc/mysql/mariadb.conf.d/50-server.cnf, 注掉 “bind-address = 127.0.0.1”,
-
重启 service mysql restart
-
执行:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
注意: 这里的USERNAME是你的数据库账户,PASSWORD是你的数据库密码
例如:
GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘root’ WITH GRANT OPTION;
- 执行:
mysql> FLUSH PRIVILEGES;
- spring连接mariadb时,参数配置
spring:
datasource:
driver-class-name: org.mariadb.jdbc.Driver
url: jdbc:mariadb://192.168.43.62:3306/chao?characterEncoding=UTF-8&useSSL=false
username: root
password: 123456
ufw
- 安装ufw
apt-get installufw - 启用ufw
ufw enable
ufw default deny - 开启3306、22(ssh端口)端口
ufw allow 3306
ufw allow 22
中文输入法
安装
sudo apt-get install scim-pinyin
重启SCIM
右上角选中键盘图标,右键退出
命令后输入
sudo scim
设置系统中文
sudo raspi-config
键盘空格选中下图中的选项
重启SCIM
sudo scim
重启系统. ok
Redis
安装
下载、解压、编译Redis
$ wget http://download.redis.io/releases/redis-6.0.6.tar.gz
$ tar xzf redis-6.0.6.tar.gz
$ cd redis-6.0.6
$ make
进入到解压后的 src 目录,通过如下命令启动Redis:
$ src/redis-server
您可以使用内置的客户端与Redis进行交互:
$ src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
其他参考官网:redis.io